2 8 開機啟動時間設定

2021-07-05 23:10:48 字數 1328 閱讀 9382

2.8 開機啟動時間設定

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

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

執行**如下:

//**路徑:init/main.c:  

void main(void)  

#define cmos_read(addr) ()  

#define bcd_to_bin(val) ((val)=((val)&15) + ((val)

>

>

4)*10)//十進位制轉二進位制  

static void time_init(void)  

while (time.tm_sec != cmos_read(0));  

bcd_to_bin(time.tm_sec);  

bcd_to_bin(time.tm_min);  

bcd_to_bin(time.tm_hour);  

bcd_to_bin(time.tm_mday);  

bcd_to_bin(time.tm_mon);  

bcd_to_bin(time.tm_year);  

time.tm_mon--;  

startup_time

= kernel_mktime

(&time); //開機時間,從2023年1月1日0時計算  

}  //**路徑:include\asm\io.h:  //嵌入彙編參看trap_init的注釋  

#define outb_p(value,port) \  //將value寫到port  

__asm__ ("outb %%al,%%dx\n" \   

"\tjmp 1f\n" \   //jmp到下面的第乙個1:處,目的是延遲  

"1:\tjmp 1f\n" \    

"1:"::"a" (value),"d" (port))  

#define inb_p(port) () 

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

adb獲取啟動時間

coding utf 8 import subprocess import time thistime是一連串啟動activity的最後乙個activity的啟動耗時。totaltime是新應用啟動的耗時,包括新程序的啟動和activity的啟動,但不包括前乙個應用activity pause的耗時...

jMeter 執行緒啟動時間

jmeter裡設定執行緒數量為5 其實這是因為我設定的ramp up period引數在起作用 決定多長時間啟動所有執行緒。如果使用10個執行緒,ramp up period是100秒,那麼jmeter用100秒使所有10個執行緒啟動並執行。每個執行緒會在上乙個執行緒啟動後10秒 100 10 啟動...

linux啟動時間同步

時間同步的方式 找乙個機器,作為時間伺服器,所有的機器與這台集群時間進行定時的同步,比如,每隔十分鐘,同步一次時間。以hadoop102 hadoop103 hadoop104 三颱機器為集群 hadoop102為namenode節點 具體配置時間伺服器的操作 1.檢查是否安裝ntp 必須root去...