LINUX 核心程式管理
最近學習了LINUX核心程式管理,這裡隨意的回憶一下:
LINUX是一個多工多程式的作業系統,在LINUX中程式和執行緒其實是沒有太多區別的。只是多個執行緒可以同時訪問同一塊記憶體區域叫做共享記憶體。LINUX是一個支援搶佔式的作業系統,什麼是搶佔,其實就是高優先順序的程式搶佔低優先順序程式的資源,比如CPU時間片。
那如何判定一個程式的優先順序級別哪?其實LINUX有自己的一套演算法。核心程式碼寫的很清楚,意思就是根據程式的平均休眠時間來確定LINUX程式的優先順序別,LINUX認為I/O型操作需要的睡眠時間長,需要相應及時,比如我透過鍵盤打字需要很快的讓字顯示到螢幕上,這就是一次I/O,而且需要及時,這樣的程式往往優先順序比較高。而CPU密集型的操作,優先順序低,因為這種操作往往經歷的時間叫長,所以我們可能時效性要求不高,所以它的資源經常被搶佔。
那什麼是時間片哪?時間片就是透過優先順序而分配程式的一個CPU處理時間,通常高優先順序的時間片長,低優先順序的時間片短。當時間片用完過後,LINUX會重新計算然後分配新的時間片,這個過程在LINUX核心程式碼中也有。
如果檢視程式的優先順序?使用TOP就可以看到 NICE 一列就是 -20-19 越低優先順序越高。
為何LINUX要涉及為搶佔式的?其實就是為了防止每個程式平等的獲得資源,加快重要程式的相應時間。
這裡只是回憶一下。。其實還有很多概念比如程式佇列。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-673706/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux核心系列之程式管理(轉)Linux
- linux核心管理初步Linux
- Windows核心程式管理器解析Windows
- Linux核心程式設計(阻塞程式)(轉)Linux程式設計
- 讀《Linux核心程式設計》Linux程式設計
- Linux 程式管理Linux
- Linux程式管理Linux
- Linux核心筆記004 - 從記憶體管理開始,認識Linux核心Linux筆記記憶體
- Linux核心資料管理利器--紅黑樹Linux
- linux核心基礎-系統服務管理Linux
- Linux核心模組程式設計--阻塞程式(轉)Linux程式設計
- Linux-程式管理Linux
- Linux(六)——程式管理Linux
- Linux 程式管理(轉)Linux
- Linux:程式模型和程式管理Linux模型
- Linux核心的framebuffer相關的核心程式碼註釋Linux
- Linux系統管理之程式管理Linux
- linux記憶體管理(六)- 核心新struct - folioLinux記憶體Struct
- 【Linux】核心學習筆記(一)——程序管理Linux筆記
- Linux核心排程分析(程式排程)Linux
- Linux程式排程核心實現分析Linux
- Linux 核心偵錯程式內幕(轉)Linux
- Linux核心模組程式設計指南(轉)Linux程式設計
- Linux核心程式設計(結論)(轉)Linux程式設計
- Linux:使用systemd管理程式Linux
- Linux詳解 --- 程式管理Linux
- [Linux]——程式管理相關Linux
- linux下的程式管理Linux
- Linux系統管理-工作管理(後臺程式管理)Linux
- Linux 核心101:NUMA下的競爭管理Linux
- Linus Trovalds談Linux核心開發管理風格Linux
- Linux核心之 核心同步Linux
- 認識linux核心(linux核心的作用)Linux
- Linux核心模組程式設計指南(一)(轉)Linux程式設計
- Linux核心模組的程式設計方法(轉)Linux程式設計
- Linux核心同步,程式,執行緒同步薦Linux執行緒
- Linux核心源程式的部分特點(轉)Linux
- Linux核心筆記003 - Linux核心程式碼裡面的C語言和組合語言Linux筆記C語言組合語言