linux系统中断函数timer_interrupt怎么调用到了tick_handle_periodic
时间: 2024-06-05 14:10:09 浏览: 247
在 Linux 内核中,`timer_interrupt()` 函数是一个中断处理函数,用于处理定时器中断。而 `tick_handle_periodic()` 是 Linux 内核中的一个函数,用于处理系统定时器。在 Linux 内核中,系统定时器采用了 jiffies 计数器,每次中断时 jiffies 值加一,当 jiffies 的值达到一定的阈值时,就会触发定时器中断,此时`timer_interrupt()` 函数就会被调用。而在 `timer_interrupt()` 函数中,会调用`tick_handle_periodic()` 函数来处理系统定时器。因此,`timer_interrupt()` 函数是调用了 `tick_handle_periodic()` 函数的。
相关问题
Linux系统函数timer_interrupt怎么调用到了tick_handle_periodic
在Linux内核中,`timer_interrupt`函数是定时器中断处理程序,它会在每个时钟中断发生时被调用。在处理时钟中断时,它会检查系统中所有的定时器,看哪些定时器已经到期,然后执行相应的操作。其中,如果发现定时器是周期性的,就会调用`tick_handle_periodic`函数来处理这个定时器周期性到期的情况。
`tick_handle_periodic`函数是Linux内核中用于处理周期性时钟中断的函数。它会根据定时器的设置,更新当前时间,并执行定时器到期时需要执行的回调函数。当`timer_interrupt`函数检测到周期性定时器已经到期时,就会调用`tick_handle_periodic`函数来处理这个定时器的到期事件。
timer_interrupt怎么最终调用到了tick_handle_periodic
在操作系统中,timer_interrupt是一个硬件中断处理程序,当计时器到达指定时间时,会触发该中断。在中断处理程序中,会调用处理定时器中断的函数tick_handle_periodic来执行一些周期性的操作,比如更新系统时间、调度进程等。
具体来说,在Linux内核中,timer_interrupt会调用do_timer函数来处理定时器中断。do_timer函数会检查是否有需要唤醒的进程,如果有,则会调用wake_up_process来唤醒这些进程;然后会更新系统时间,并调用tick_handle_periodic来执行周期性操作;最后,会检查是否需要进行进程调度,如果需要,则会调用schedule函数来进行调度。
阅读全文