新聞中心
Linux系統(tǒng)中的時鐘滴答是一種很重要的機制,它可用于測量時間、同步外部事件、管理進程、以及處理計時器相關的事件。在許多情況下,時鐘滴答往往是系統(tǒng)構(gòu)建、網(wǎng)絡通信、設備驅(qū)動、實時處理等應用的核心基礎,因此,了解時鐘滴答的意義和作用是十分必要的。

創(chuàng)新互聯(lián)建站自2013年起,先為京口等服務建站,京口等地企業(yè),進行企業(yè)商務咨詢服務。為京口企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
1. 時鐘滴答的意義
時鐘滴答可以被理解為系統(tǒng)中一個定期的時間間隔,常見的時間間隔有10ms、100ms、1s等。這個時間間隔是由Linux內(nèi)核根據(jù)硬件時鐘頻率(一般為1~10MHz)來確定的,也就是說,時鐘滴答的產(chǎn)生是由硬件時鐘驅(qū)動中斷,而不是由軟件程序控制的。
時鐘滴答是Linux系統(tǒng)中一個重要的概念,它對系統(tǒng)的運行、時間測量、事件調(diào)度、信號處理等都有很大的影響。從系統(tǒng)運行來看,時鐘滴答是在后臺運行的,它的頻率高達1000Hz,不僅能夠精確地維護系統(tǒng)時間,還能夠在系統(tǒng)啟動時完成許多基礎環(huán)境的建立工作;從信號處理來看,時鐘滴答能夠監(jiān)聽并處理一系列的虛擬時鐘信號,從而執(zhí)行相應的操作;從事件調(diào)度來看,時鐘滴答能夠區(qū)分不同的時間片,并且分配CPU時間片給不同的進程,從而保證系統(tǒng)的穩(wěn)定性。
2. 時鐘滴答的作用
時鐘滴答在Linux系統(tǒng)中具有多種應用價值,如下所示:
(1)時間測量
時鐘滴答是系統(tǒng)中最基礎和最精確的時鐘源,在Linux內(nèi)核中,許多重要的時間參數(shù)都與時鐘滴答有關,如系統(tǒng)時間、進程執(zhí)行時間、內(nèi)核延遲、系統(tǒng)啟動時間等。通過時鐘滴答的計時,系統(tǒng)可以實現(xiàn)更加精確和準確地測量時間,從而保證系統(tǒng)運行的穩(wěn)定性和準確性。
(2)同步外部事件
時鐘滴答不僅可以測量時間,還可以同步外部事件。在許多需要精確時間同步的應用中,通過時鐘滴答的計時可以實現(xiàn)對外部事件的同步。例如,在網(wǎng)絡通信領域,時鐘滴答能夠協(xié)同網(wǎng)絡中的各個節(jié)點實現(xiàn)數(shù)據(jù)同步和時間同步,從而保證網(wǎng)絡傳輸?shù)臏蚀_性和穩(wěn)定性。
(3)管理進程
時鐘滴答還可以用于管理進程。在Linux系統(tǒng)中,每個進程都有一個時間片,用于分配給該進程可以運行的時間。時間片的大小與系統(tǒng)的時鐘滴答有關,不同的時間片大小會導致不同的進程調(diào)度結(jié)果。通過時鐘滴答的計時和分配,系統(tǒng)可以更加合理和高效地管理各個進程,從而保證系統(tǒng)的效率和穩(wěn)定性。
(4)處理計時器相關的事件
時鐘滴答還可以用于處理計時器相關的事件。在Linux系統(tǒng)中,計時器有許多種類,如周期性計時器、延遲計時器、超時計時器等。這些計時器都與系統(tǒng)的時鐘滴答有關,通過時鐘滴答的計時和計算,系統(tǒng)可以實現(xiàn)對各種計時器的處理,從而保證系統(tǒng)的正常運行。
在Linux系統(tǒng)中,時鐘滴答是一個至關重要的機制,它能夠影響系統(tǒng)的時間測量、事件調(diào)度、進程管理和信號處理等方面。了解時鐘滴答的意義和作用可以幫助我們更好地理解Linux系統(tǒng)的運行機制和性能特點,從而提高系統(tǒng)的可靠性和效率。
成都網(wǎng)站建設公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導10多年以來專注數(shù)字化網(wǎng)站建設,提供企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,響應式網(wǎng)站制作,設計師量身打造品牌風格,熱線:028-86922220代碼timeafter=3500什么意思
錯誤代碼530什么意思
530表示用戶未逗銷登陸,對不起,更大客戶數(shù)從你的主機已經(jīng)連接,那么出現(xiàn)的這個原因就碼毀是您本地的ftp工具的問題,或者是用戶本地的連接質(zhì)量不好導致山模游的。
博客園首頁聯(lián)系管理
jiffies相關時間比較函數(shù)time_after、time_before詳解
1. jiffies簡介
首先,操作系統(tǒng)有個系統(tǒng)專用定時器(system timer),俗稱滴答定時器,或者系統(tǒng)心跳。
全局變量jiffies取值為自操作系統(tǒng)啟動以來的時鐘滴答的數(shù)目,數(shù)據(jù)類型為 unsigned long volatile (32位無符號長整型),更大取值是2^32-1。
2. jiffies與秒的轉(zhuǎn)換
將 jiffies轉(zhuǎn)換為秒,可采用公式:(jiffies/HZ) 計算。
將 秒轉(zhuǎn)換為jiffies,可采用公式:(seconds*HZ) 計算。
示例(本博客后面將介紹運運涉及到的time_before):
unsgned long delay = jiffies + 2*HZ;
while(time_before(jiffies, delay)); // 忙等待兩秒,占用CPU的一個核心,期間不執(zhí)行調(diào)度
3. jiffies的溢出介紹
當時鐘中斷發(fā)生時,jiffies值就加1。
假定HZ=100,那么1個jiffies等于1/100 秒,jiffies可記錄的更大秒數(shù)為(2^32 -1)/100=.95秒,約合497天或1.38年,
當取值到達更大值時仍繼續(xù)加1,就變?yōu)榱?!
即HZ=100時,連續(xù)累加的溢出時間是一年又四個多月,如果程序?qū)iffies的溢出沒有加以充分考慮,那么在連續(xù)運行一年又四個多月后,這些程序還能夠穩(wěn)定運行嗎?
4. 示例1,一個 jiffies溢出造成程序邏輯出錯 的示例
復制代碼
unsigned long timeout = jiffies + HZ/2; /* timeout in 0.5s */
/* do some work … */
do_somework();
/* then see whether we took too long */
if (timeout > jiffies) {
/* we did not time out, call no_timeout_handler() … */
no_timeout_handler();
} else {
/* we timed out, call timeout_handler() … */
timeout_handler();
}
復制代碼
本例的意圖:
從當前時間起,如果在0.5秒內(nèi)源祥執(zhí)行完do_somework(),則調(diào)用no_timeout_handler()。如果在0.5秒后執(zhí)行完do_somework(),則調(diào)用timeout_handler()。
旁裂梁然后當溢出時呢? 該意圖會被打破嗎?
假設程序開始執(zhí)行前,timeout值已經(jīng)接近更大值(即2^32-1 ) ,jiffies的值是(timeout-HZ/2),
之后do_some_work執(zhí)行了挺久(超過0.5秒),jiffies的值也發(fā)生了溢出(jiffies做自增操作的中途超過了32位無符號數(shù)的更大值),
溢出后的值,可能是很小的一個數(shù)字,所以造成jiffies的值
日一二三四五六
314
2023
2728
搜索
找找看
谷歌搜索
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
我的標簽
我的標簽
linux(24)
系統(tǒng)編程(21)
C++(16)
BOOST(10)
ffmpeg(7)
更多
隨筆分類
C++之QT(4)
C++之STL、Boost(12)
C++之語言與時俱進(17)
C語言活用(9)
C語言自身(12)
GUI(3)
Linux驅(qū)動(8)
Linux系統(tǒng)編程(32)
Linux應用(13)
MCU和物聯(lián)網(wǎng)等(20)
RTOS(10)
shell 和 makefile(9)
uboot(3)
編程思維技巧(5)
編譯器特性(2)
操作系統(tǒng)(2)
電路-EDA設計(2)
電路-基礎知識(2)
調(diào)試篇(3)
匯編(1)
密碼學|安全|(2)
配置相關(8)
嵌入式外設相關(2)
設計模式(12)
數(shù)據(jù)結(jié)構(gòu)(3)
網(wǎng)絡(13)
我的程序人生(1)
音視頻(10)
隨筆檔案
2023年2月(3)
2023年1月(1)
2023年12月(5)
2023年11月(2)
2023年10月(1)
2023年8月(1)
2023年7月(2)
2023年5月(1)
2023年4月(6)
2023年3月(6)
2023年2月(6)
2023年1月(23)
2023年12月(11)
2023年11月(4)
2023年10月(29)
2023年9月(12)
2023年8月(12)
2023年5月(4)
2023年2月(6)
2023年1月(4)
2023年12月(2)
2023年11月(2)
2023年10月(3)
2023年8月(9)
2023年7月(2)
2023年6月(1)
2023年5月(1)
2023年4月(2)
2023年3月(5)
2023年2月(11)
2023年1月(6)
2023年1月(2)
2023年5月(1)
相冊
大話西游經(jīng)典照片(1)
閱讀排行榜
1. C++函數(shù)默認參數(shù) 詳解(29043)
2. 玩轉(zhuǎn)Libmodbus(一) 搭建開發(fā)環(huán)境(16605)
3. 玩轉(zhuǎn)Libmodbus(二) 寫代碼體驗(7565)
4. RTThread DFS文件系統(tǒng)使用: 基于使用SFUD驅(qū)動的SPI FLASH之上的ELM FATFS文件系統(tǒng)(4537)
5. std(標準庫)和STL(標準模板庫)的關系(4149)
6. STM32CubeMX HAL庫串口: 使用DMA數(shù)據(jù)發(fā)送、使用DMA不定長度數(shù)據(jù)接收(4016)
7. Arduino+ESP32 之 SD卡讀寫(3673)
8. KEIL查看ARM-Cortex M架構(gòu)soc的內(nèi)核寄存器之 MSP(3668)
9. 圖解MQTT概念、mosquitto編譯和部署 ,寫代碼,分別使用外網(wǎng)和本地服務器進行測試(3275)
10. RT Thread的SPI設備驅(qū)動框架的使用以及內(nèi)部機制分析(2787)
11. STM32的CCM RAM以及使用方式(2540)
12. vscode廢掉了,跳轉(zhuǎn)不到函數(shù)定義,無法自動補全,重裝也沒用的解決辦法(2511)
13. jiffies相關時間比較函數(shù)time_after、time_before詳解(2508)
14. Arduino+ESP32 之 驅(qū)動GC9A01圓形LCD(一),基于Arduino_GFX庫(2504)
15. 圖解連接阿里云(一)創(chuàng)建阿里云物聯(lián)網(wǎng)平臺產(chǎn)品和設備,使用MQTT.fx快速體驗(2372)
16. MDK內(nèi)的KEEP關鍵字以及$$Base $$Limit(2358)
17. RT Thread SPI設備 使用(2246)
18. ESP32的Linux開發(fā)環(huán)境搭建,將示例程序編譯、下載、運行(2243)
19. AD設置過孔蓋油和過孔開窗, 過孔塞油科普(2186)
20. Linux 串口工具 lsz lrz 移植(2172)
評論排行榜
1. 在KEIL下查看單片機編程內(nèi)存使用情況(2)
2. 玩轉(zhuǎn)Libmodbus(一) 搭建開發(fā)環(huán)境(2)
3. C語言普通寫法實現(xiàn):針對多次同步失敗的節(jié)能處理機制(2)
推薦排行榜
1. C++函數(shù)默認參數(shù) 詳解(5)
2. 如何更好地謀生,從事嵌入式軟件開發(fā)五年的感悟和職業(yè)焦慮(4)
3. Arduino+ESP32 之 SD卡讀寫(2)
4. 玩轉(zhuǎn)Libmodbus(一) 搭建開發(fā)環(huán)境(2)
5. Arduino+ESP32 之 驅(qū)動GC9A01圓形LCD(一),基于Arduino_GFX庫(1)
最新評論
1. Re:在KEIL下查看單片機編程內(nèi)存使用情況
@HQ_嗨海 謝謝…
–一匹夫
2. Re:如何更好地謀生,從事嵌入式軟件開發(fā)五年的感悟和職業(yè)焦慮
說的不錯
–Chance_21_12_12
3. Re:在KEIL下查看單片機編程內(nèi)存使用情況
感謝大佬
–HQ_嗨海
Copyright ? 2023 一匹夫
Powered by .NET 7.0 on Kubernetes
time after(這個沒有…)
after 在…之后, 在此銀慧…后面, 后來, 過后
time 時間, 時侯
after time 余輝森答時間
time after time 一次又一次,屢次,無數(shù)次 多搏遲次, 反復, 不斷地
系統(tǒng)時鐘怎么老是滴答滴答響?
肯定是裝了別的仿VISTA的軟件了.刪了就好了.
估計你安裝了其他桌面時鐘軟件,建議卸載刪除為好,可以用一些優(yōu)化軟件處理
關于linux 時鐘滴答的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
成都網(wǎng)站建設選創(chuàng)新互聯(lián)(?:028-86922220),專業(yè)從事成都網(wǎng)站制作設計,高端小程序APP定制開發(fā),成都網(wǎng)絡營銷推廣等一站式服務。
網(wǎng)站標題:Linux系統(tǒng)時鐘滴答:了解它的意義和作用(linux時鐘滴答)
文章位置:http://fisionsoft.com.cn/article/ccoodcg.html


咨詢
建站咨詢
