图解|Linux内核低精度定时器原理
原文中文,约7000字,阅读约需17分钟。发表于: 。在Linux操作系统中,定时器扮演着关键的角色,它们被用来执行各种延迟任务,像是广泛使用的系统调用sleep()。该调用的背后就是基于定时器的机制。
在Linux操作系统中,定时器扮演关键角色,用于执行延迟任务。Linux内核有高精度和低精度两种定时器。低精度定时器基于时钟中断实现,使用时间轮数据结构快速查找到期定时器。定时器根据超时时间存放在不同级别的数组中,每个数组有一个到期指针。定时器在时钟中断中执行,到期指针移动到下一个位置。内核使用timer_list对象表示定时器,通过add_timer函数添加定时器,run_timer_list函数执行到期定时器。