新聞中心
linux系統(tǒng)屬于多任務(wù)處理操作系統(tǒng),支持多個程序同時運行,操作系統(tǒng)需要維護這多個任務(wù)的公平分配,使得多個任務(wù)的時間片能夠得到充分的利用, Linux 系統(tǒng)中,這里的任務(wù)調(diào)度由 Linux 內(nèi)核來實現(xiàn),主要體現(xiàn)在內(nèi)存管理、進程管理等體現(xiàn),本文主要介紹 Linux 內(nèi)核的調(diào)度機制,原理以及它底層代碼實現(xiàn)。

Linux內(nèi)核調(diào)度是系統(tǒng)性能的關(guān)鍵,它是協(xié)同內(nèi)核中所有子系統(tǒng)的核心組件,負責(zé)系統(tǒng)在單處理器和多處理器環(huán)境中對程序的時間分配。Linux 在處理程序控制請求時,主要分為4種處理器模式:經(jīng)典的非搶占式(Non-preemptive)模式、經(jīng)典的搶占式(Preemptive)模式、實時內(nèi)核模式 (Real time kernel)和調(diào)度策略(Scheduling Policy)。
經(jīng)典的非搶占式模式:這種模式下,內(nèi)核只能在程序主動放棄處理器時才能被搶占,也就是這種模式下,內(nèi)核也只能處于一種服務(wù)模式,要等軟件明確選擇放棄處理器,內(nèi)核才能開始執(zhí)行天來的任務(wù),例如:當(dāng)程序中止,或者正常結(jié)束需要釋放處理器資源時,內(nèi)核就可以處理將下一個任務(wù)分配給相應(yīng)的處理器執(zhí)行等。
經(jīng)典的搶占式模式:這種模式下,內(nèi)核可以隨時搶占處理器資源,也就是這種模式下,內(nèi)核可以處于主動模式, 這種模式通過設(shè)置timeslice時間片,允許內(nèi)核控制處理器調(diào)度,當(dāng)進程使用完一個時間片后,內(nèi)核就會把它替換成下一個等待著的任務(wù),例如:時間片超時、斷點(Break)、外部中斷和硬件定時器中斷均可以使系統(tǒng)從當(dāng)前正在運行的程序轉(zhuǎn)入內(nèi)核,系統(tǒng)可以重新調(diào)度其它任務(wù)。
實時內(nèi)核模式:這種模式是搶占式模式的一個新型,它不僅支持搶占式模式中的特性,還提供了新的實時特性,主要包括:優(yōu)先級調(diào)度、支持實時調(diào)度器優(yōu)先級、支持分時調(diào)度等。實時內(nèi)核模式主要是針對實時應(yīng)用開發(fā)而設(shè)計,能夠提供非實時程序不能提供的及時響應(yīng)時間,例如:播放多媒體應(yīng)用,實時系統(tǒng)必須確保每次響應(yīng)時間在指定范圍內(nèi),才能保證良好的動畫和視頻效果。
調(diào)度策略:不同的調(diào)度器支持不同的調(diào)度策略,比如:盡可能保障所有進程被盡可能公平的分配指定的時間片,或者滿足某種進程的實時性需求等,調(diào)度策略的實現(xiàn)有多種實現(xiàn)方式,比如:First Come First Serve 算法(先來先服務(wù)算法)、Shortest Job First 算法(最短作業(yè)優(yōu)先算法)、Round Robin 算法(時間片輪轉(zhuǎn)算法)等,也有諸如CFS、Henset、BFS等新的時間片調(diào)度算法,所有這些算法都是為了實現(xiàn)Linux內(nèi)核的調(diào)度機制,確保系統(tǒng)的性能。
總的來說,Linux
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨立服務(wù)器。創(chuàng)新互聯(lián)成都老牌IDC服務(wù)商,專注四川成都IDC機房服務(wù)器托管/機柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機房租用、服務(wù)器托管、機柜租賃、大帶寬租用,可選線路電信、移動、聯(lián)通等。
標題名稱:Linux內(nèi)核調(diào)度:確保系統(tǒng)性能的命脈(linux內(nèi)核調(diào)度)
文章起源:http://m.fisionsoft.com.cn/article/dpcoeds.html


咨詢
建站咨詢
