4

我正在阅读“Understanding Linux Kernel”,它说大约三个时钟

  1. 实时时钟

  2. 时间戳计数器 (TSC)

  3. 可编程间隔定时器 (PIT)

我对这些问题很少。

  1. 为什么电脑开机后不使用实时时钟?

  2. 它是否在系统运行时运行?

  3. TSC 寄存器使用 PIT,那为什么我们需要基于 TSC 寄存器的时序呢?

  4. /proc/interrupts 中的 IRQ8 的值为 cpu0 提供 1,为其他提供 0,即使在系统运行了一段时间后也是如此。为什么只有一个来自 IRQ8 的中断,即实时时钟。

这不是作业问题

4

1 回答 1

6
  1. RTC 不经常使用,因为它的寄存器访问速度很慢。
  2. RTC一直在运行(这就是它有自己的电池的原因)。然而,现在它的唯一目的是在系统不运行时保持时间。
  3. TSC 的访问速度比 PIT 快得多。
  4. 内核总是尝试以最有效的方式使用可以编程的定时器,因此一旦检测到后者,它就会从 PIT 切换到基于 CPU 本地 TSC 的定时器(本地 APIC 定时器)。其中/proc/interrupts,LAPIC 中断没有编号,但有名称LOC
于 2013-07-31T07:36:14.730 回答