Timer -11- (Posix Clock & Timers)

 

Posix Clock & Timers

유저가 사용할 수 있는 클럭, 타이머, 알람 등을 POSIX syscall 인터페이스를 통해 제공되며 다음의 컴포넌트등이 있다.

  • posix clock & timers
  • alarmtimers
  • itimer

 

다음 그림은 posix clocks & timers와 관련된 컴포넌트들과의 관계도이다.

 

Posix Clock & Timers

4개의 기본 클럭과 coarse, raw 등의 3 개 클럭이 추가되었고 process, thread 클럭이 또한 추가 구현되었다.

  • init_posix_timers() – initcall 호출
  • timer_create()
  • timer_gettime()
  • timer_getoverrun()
  • timer_settime()
  • timer_delete()
  • clock_settime()
  • clock_gettime()
  • clock_adjtime()
  • clock_getres()
  • common_nsleep()
  • clock_nanosleep()

 

Alarmtimers

알람 타이머 드라이버로  posix 클럭 ids에 연동하여 사용되며 RTC(Real Time Clock) 하드웨어와 인터페이스되며 내부에서는 hrtimer를 사용한다.

  • alarmtimer_init() – initcall 호출
  • alarm_init()
  • alarmtimer_enqueue()
  • alarmtimer_dequeue()
  • alarmtimer_fired()
  • alarmtimer_suspend()
  • alarm_start()
  • alarm_handle_timer()

 

itimer

hrtimer를 사용하여 아래와 같은 syscall API들을 제공한다.

  • settimer()
  • gettimer()
  • clock_adjtime()
  • clock_getres()
  • clock_nanosleep()

 

참고

 

댓글 남기기