Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

49107
469
422681


[리눅스커널] 시간관리: 커널 타이머 실행 시작 단계 코드 분석 8. 커널 타이머 관리

먼저 커널 타이머 1단계 세부 동작을 살펴봅니다. 다음 그림은 커널 시스템 타이머 전체 흐름도 중 1단계 부분입니다.

 
[그림 8.6] 커널 타이머 전체 흐름도에서 동적 타이머 등록 단계  

위 그림에서 [1]번 위쪽 화살표 방향으로 호출되는 함수 흐름을 살펴봅시다.

타이머 인터럽트가 발생하면 인터럽트 핸들러 함수인 arch_timer_handler_phys() 함수가 호출됩니다. 이렇게 커널 타이머는 타이머 인터럽트가 발생 후 동작을 시작합니다.  실행하고 jiffies를 +1만큼 증감하는 tich_sched_timer() 함수가 호출된 후 다음 순서로 함수 호출이 이루어집니다. 

update_process_times()
run_local_timers()

위에서 소개한 함수는 다음과 같은 처리를 합니다. 

커널 타이머가 동적 타이머를 실행할 조건을 체크
만약 동적 타이머가 등록됐으면 Soft IRQ TIMER_SOFTIRQ 서비스를 요청 

 
* 강의 동영상도 있으니 같이 들으시면 좋습니다.




#커널 시간관리 목차
커널 타이머 관리 주요 개념 소개
jiffies란
커널 타이머 제어
동적 타이머 초기화
동적 타이머 등록하기
동적 타이머는 누가 언제 실행하나?
라즈베리파이 커널 타이머 실습 및 로그 분석

"혹시 궁금점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답글 올려드리겠습니다!"


# Reference: For more information on 'Linux Kernel';

디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 1

디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 2


 repository:
http://rousalome.egloos.com/10025678

핑백

덧글

댓글 입력 영역