新聞中心
3、進(jìn)程調(diào)度算法作為計(jì)算機(jī)科學(xué)領(lǐng)域的重要基礎(chǔ),每個(gè)程序都有自己獨(dú)立的內(nèi)存空間、數(shù)據(jù)區(qū)等資源。并由CPU分配時(shí)間片進(jìn)行運(yùn)行,因此它也使用了與Unix相似的處理器模型——線性地址空間+虛擬內(nèi)存映射。
- 本文目錄導(dǎo)讀:
- 1、什么是進(jìn)程?
- 2、什么是調(diào)度?
- 3、進(jìn)程調(diào)度算法

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),太原網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:太原等地區(qū)。太原做網(wǎng)站價(jià)格咨詢:18982081108
作為計(jì)算機(jī)科學(xué)領(lǐng)域的重要基礎(chǔ),操作系統(tǒng)一直是程序員們必須了解和掌握的知識(shí)之一。而在操作系統(tǒng)中,進(jìn)程是最基本的概念之一。那么,在這個(gè)“不斷運(yùn)行”的世界里,我們?cè)撊绾喂芾砗驼{(diào)度這些“活著”的進(jìn)程呢?
什么是進(jìn)程?
首先來回顧一下什么是進(jìn)程。在計(jì)算機(jī)中,“進(jìn)程”指代正在執(zhí)行的一個(gè)程序?qū)嵗C總€(gè)程序都有自己獨(dú)立的內(nèi)存空間、數(shù)據(jù)區(qū)等資源,并由CPU分配時(shí)間片進(jìn)行運(yùn)行。
當(dāng)然,不同類型的操作系統(tǒng)對(duì)于“進(jìn)程”的定義可能略有不同。比如說Windows采用了類Unix結(jié)構(gòu)體系,因此它也使用了與Unix相似的處理器模型——線性地址空間+虛擬內(nèi)存映射。
但無論哪種定義方式,在任何一個(gè)多任務(wù)環(huán)境中,“并發(fā)”、“并行”就成為了關(guān)鍵詞。
什么是調(diào)度?
接下來我們?cè)俸?jiǎn)單介紹一下“調(diào)度”。所謂調(diào)度就是按照某種策略從所有可運(yùn)行狀態(tài)(包括已經(jīng)暫停或者被阻塞)的進(jìn)程中選擇一個(gè)或多個(gè)進(jìn)程,為其分配CPU時(shí)間片并讓它們運(yùn)行。
進(jìn)程調(diào)度算法
那么在實(shí)際操作系統(tǒng)中,我們?cè)撊绾芜M(jìn)行“合理”的調(diào)度呢?下面就來介紹一些常見的進(jìn)程調(diào)度算法。
1. 先來先服務(wù)(FCFS)
這是最簡(jiǎn)單、最容易理解的一種算法。顧名思義,就是按照請(qǐng)求提交時(shí)間的先后順序依次執(zhí)行。但由于無論任務(wù)大小和優(yōu)先級(jí)都不考慮,所以可能會(huì)出現(xiàn)“饑餓”、“低效率”等問題。
2. 最短作業(yè)優(yōu)先(SJF)
與FCFS相比,在某些情況下SJF更加高效。因?yàn)樗鶕?jù)每個(gè)任務(wù)所需處理時(shí)間長(zhǎng)短排序,并且可以預(yù)測(cè)未來需要處理的作業(yè)長(zhǎng)度;從而減少了等待時(shí)間和平均周轉(zhuǎn)周期。
3. 優(yōu)先級(jí)調(diào)度
對(duì)于有緊急性任務(wù)存在時(shí),則需使用此類方法。通過給每個(gè)運(yùn)行狀態(tài)賦予不同權(quán)重值,并比較哪一個(gè)更具緊急感即可完成任務(wù)安排。但如果沒有設(shè)置好“權(quán)重”,則會(huì)導(dǎo)致特定類型任務(wù)占用大量資源而影響其他程序正常工作。
4. 時(shí)間片輪轉(zhuǎn)(RR)
RR指定每個(gè)任務(wù)的時(shí)間片長(zhǎng)度,并按順序依次執(zhí)行。當(dāng)一個(gè)進(jìn)程用完了它所分配到的時(shí)間片,系統(tǒng)就會(huì)將其暫停,并放入就緒隊(duì)列尾部等待下一輪調(diào)度。
以上是常見的幾種進(jìn)程調(diào)度算法,不同操作系統(tǒng)也有自己獨(dú)特的實(shí)現(xiàn)方式。但無論哪種方法,在進(jìn)行“合理”的進(jìn)程管理和調(diào)度時(shí)都需要考慮多方面因素,包括:CPU利用率、平均周轉(zhuǎn)周期、響應(yīng)時(shí)間、各項(xiàng)指標(biāo)權(quán)重等。
最后,我們可以看出,“并發(fā)”、“并行”、“優(yōu)先級(jí)”、“作業(yè)長(zhǎng)度”,這些關(guān)鍵詞在處理計(jì)算機(jī)中多任務(wù)運(yùn)行問題上扮演著非常重要的角色。只有深刻理解和掌握相關(guān)原理及技術(shù),才能更好地編寫高效穩(wěn)定的程序代碼!
當(dāng)前名稱:深入探究操作系統(tǒng)核心原理-進(jìn)程原理(中):進(jìn)程調(diào)度
文章網(wǎng)址:http://www.5511xx.com/article/cojshgs.html


咨詢
建站咨詢
