根据我的理解,CPU有一个“硬件定时器”,当它的间隔过期时会触发一个中断。
内核使用这个硬件定时器来实现进程的调度机制,所以如果硬件定时器用123的数量触发一个中断,内核将把这个中断号映射到执行调度程序代码的中断处理程序(这将决定接下来要执行哪个进程)。
我有两个问题:
编辑:我更感兴趣的硬件架构是一台PC,但我想知道是否还有其他架构(例如:手机、树莓PI等等)。以类似的方式工作。
发布于 2017-05-06 06:36:11
细节是具体的硬件(可能与各种主板,芯片组,处理器不同;阅读有关SouthBridge。阅读高精度事件计时器 (和APIC)。
另见OSDEV维基,特别是可编程间隔定时器。
(因此,这两个问题的答案通常都是肯定的)
发布于 2017-05-06 15:12:16
内核可以设置硬件定时器的时间间隔,还是不能以编程方式更改的固定时间间隔?
你的问题完全是处理器特有的。有些处理器有可控的定时器。另一些则有固定时间间隔的计时器。但是,您可能遇到的大多数处理器都有可调定时器。
CPU是否有用于调度的专用硬件定时器,或者是否有许多硬件定时器,内核可以选择它想要用于调度的任何定时器?
有些处理器只有一个定时器。现在大多数处理器都有多个定时器。
https://stackoverflow.com/questions/43817010
复制相似问题