2.2 工作队列(Workqueue)与系统线程

张开发
2026/4/20 16:42:48 15 分钟阅读

分享文章

2.2 工作队列(Workqueue)与系统线程
内核时间管理基石:从硬件时钟源到jiffies与HZ问题现场:一个诡异的“时间跳跃”上周排查一个线上问题,某嵌入式设备的日志突然出现连续半小时的记录缺失,随后时间戳又恢复正常。查看硬件RTC时间准确,但系统uptime显示有跳变。这种“时间消失”现象直接指向内核时间子系统的底层机制。今天我们就从这个问题切入,聊聊Linux内核如何把硬件时钟源的嘀嗒声,变成驱动整个系统的时间流。硬件时钟源:一切时间的起点内核启动时最早的时间来源于硬件。x86平台有传统的PIT(可编程间隔定时器),现代系统多用HPET(高精度事件定时器)或ACPI电源管理定时器。ARM平台则依赖每个SoC厂商实现的定时器外设,比如STM32的SysTick。关键点在于:硬件只提供周期性中断,不管理时间概念。定时器硬件就像个节拍器,只会规律地发出“嘀嗒”信号,至于这个嘀嗒代表多少纳秒,完全由软件决定。// 典型时钟源初始化代码片段(简化版)void__inittimer_init(void

更多文章