學(xué)習(xí)筆記8 第五章的自學(xué)歸納
硬件定時器
-
本章討論了定時器和定時器服務(wù);定時器是由時鐘源和可編程計數(shù)器組成的硬件設(shè)備。
-
計數(shù)器周期稱為定時器刻度,是系統(tǒng)的基本計時單元。
個人計算機定時器
-
實時時鐘(RTC)
RTC由一個小型備用電池供電。即使在個人計算機關(guān)機時,它也能連續(xù)運行。它用于實時提供時間和日期信息。當Linux啟動時,它使用RTC更新系統(tǒng)時間變量,以與當前時間保持一致。在所有類Unix系統(tǒng)中,時間變量是一個長整數(shù),包含 從1970年1月1日起經(jīng)過的秒數(shù)。 -
可編程間隔定時器(PIT)
PIT是與CPU分離的一個硬件定時器。可對它進行編程,以提供以毫秒為單位的定時器刻度。在所有I/O設(shè)備中,PIT可以最高優(yōu)先 級IRQ0中斷。PIT定時器中斷由Linux內(nèi)核的定時器中斷處理程序來處理,為系統(tǒng)操作提 供基本的定時單元,例如進程調(diào)度、進程間隔定時器和其他許多定時事件。 -
多核CPU中的本地定時器
在多核CPU中,每個核都是一個獨立的處理器,它有自己的本地定時器,由CPU時鐘驅(qū)動。 -
高分辨率定時器
大多數(shù)電腦都有一個時間戳定時器(TSC),由系統(tǒng)時鐘驅(qū)動。它的內(nèi)容可通過64位TSC寄存器讀取。由于不同系統(tǒng)主板的時鐘頻率可能不同,TSC不適合作為實時設(shè)備,但它提供納秒級的定時器分辨率。一些高端個人計算機可能還配備有專用高速定時器,以提供納秒級定時器分辨率。
CPU操作
-
每個CPU都有一個程序計時器(PC),也稱為指令指針(IP),以及一個標志或狀態(tài)寄存器(SR)、一個堆棧指針(SP)和幾個通用寄存器。
-
CPU操作可通過無限循環(huán)進行建模。
中斷處理
- 中斷是一種機制,用于通知處理器發(fā)生了某種事件,例如硬件設(shè)備的輸入、時鐘周期的結(jié)束、異常情況等。當中斷發(fā)生時,處理器會暫停當前正在執(zhí)行的任務(wù),并轉(zhuǎn)而執(zhí)行與中斷相關(guān)的處理程序。
時鐘服務(wù)函數(shù)
time系統(tǒng)調(diào)用
- 以秒為單位返回當前時間。如果參數(shù)t不是NULL,還會將時間存儲在t指向的內(nèi)存中。
time_t time(time_t*t);
times系統(tǒng)調(diào)用
- 可用于獲取某進程的具體執(zhí)行時間,以時鐘計時器單元報告所有時間。
clock_t times(struct tms *buf);?
time和date命令
-
time和date命令
-
hwclock:查詢并設(shè)置硬件時鐘(RTC),也可以通過BIOS來完成。
間隔定時器
- 用以下結(jié)構(gòu)體的值定義間隔定時器的值
struct itimerval {
struct timeval it_inteirval;
struct timeval it_value;
};
struct timeval (
time_t tv_sec;
suseconds_t tv_usec;
);
sigaction使用示例嘗試

段錯誤捕捉函數(shù)嘗試

遇到的問題及解決
中斷處理具體的作用優(yōu)勢是什么?

蘇格拉底挑戰(zhàn)






浙公網(wǎng)安備 33010602011771號