天天看點

《Linux核心設計的藝術:圖解Linux作業系統架構設計與實作原理》——2.8 開機啟動時間設定

開機啟動時間是大部分與時間相關的計算的基礎。作業系統中一些程式的運算需要時間參數;很多事務的處理也都要用到時間,比如檔案修改的時間、檔案最近通路的時間、i節點自身的修改時間等。有了開機啟動時間,其他時間就可據此推算出來。

具體執行步驟是:cmos是主機闆上的一個小存儲晶片,系統通過調用time_init()函數,先對它上面記錄的時間資料進行采集,提取不同等級的時間要素,比如秒(time.tm_sec)、分(time.tm_min)、年(time.tm_year)等,然後對這些要素進行整合,并最終得出開機啟動時間(startup_time)。

執行代碼如下:

計算過程及開機啟動時間在記憶體中的存儲位置如圖2-16所示。

《Linux核心設計的藝術:圖解Linux作業系統架構設計與實作原理》——2.8 開機啟動時間設定