2013-07-31 49 views
3

我讀"Understanding Linux Kernel",它說,大約三個時鐘爲什麼TSC在需要時有PIT可用

  1. 實時時鐘

  2. 時間戳計數器(TSC)

  3. 可編程間隔定時器(PIT)

我有幾個q有關這些問題。

  1. 爲什麼電腦開機後沒有使用實時時鐘?

  2. 它在系統運行時運行嗎?

  3. TSC寄存器使用PIT,那麼爲什麼我們需要基於TSC寄存器的時序?

  4. 即使在系統運行了一段時間之後,來自/ proc/interrupts的IRQ8的值爲cpu0賦值1,爲其他值賦予0 。爲什麼 只有一個來自IRQ8的中斷,這是實時時鐘。

這不是一門功課的問題

回答

5
  1. 的RTC不經常使用,因爲它的寄存器訪問速度很慢。
  2. 該RTC是總是運行(這就是爲什麼它有自己的電池)。但是,現在它唯一的目的是在系統不運行時保持時間。
  3. TSC的訪問速度比PIT快得多。
  4. 內核總是嘗試使用可以以最有效的方式編程的定時器,因此一旦檢測到後者,就會從PIT切換到CPU本地基於TSC的定時器(local APIC timer)。 在/proc/interrupts中,LAPIC中斷沒有數字,但名爲LOC
+0

如果您提供LAPIC的說明,那麼我會給你+1,因爲那不在Op的原始問題中。 –

+0

@CL。對第四個問題的回答不清楚 – user567879

相關問題