高一文
中圖分類號(hào):C93 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1673-5811(2013)03-0070-01
摘要:操作系統(tǒng)是管理計(jì)算機(jī)硬件資源,控制其他程序運(yùn)行并為用戶提供交互操作界面的系統(tǒng)軟件的集合。本文主要是將操作系統(tǒng)發(fā)揮的作用通過其類型和功能的介紹進(jìn)行了概述,體現(xiàn)了現(xiàn)代操作系統(tǒng)的基本特征。
關(guān)鍵詞:操作系統(tǒng) 操作系統(tǒng)功能 進(jìn)程管理
1.操作系統(tǒng)類型
操作系統(tǒng)是維持整個(gè)計(jì)算機(jī)運(yùn)行的基礎(chǔ),它從最初的手工操作發(fā)展到現(xiàn)在經(jīng)歷了許多的轉(zhuǎn)變,但比較常用還是多道批處理和分時(shí)系統(tǒng)。
1.1分時(shí)系統(tǒng)
將CPU運(yùn)行時(shí)間分割成許多很短的時(shí)間片,若干作業(yè)同時(shí)存放在內(nèi)存中,并將它們組織成隊(duì)列輪流在CPU上運(yùn)行一個(gè)時(shí)間片;若一個(gè)作業(yè)在一個(gè)時(shí)間片內(nèi)沒有運(yùn)行完,就讓它暫時(shí)中斷,把下一個(gè)時(shí)間片讓給后面的作業(yè),等待下一輪的分配;等待的時(shí)候可以通過終端和用戶會(huì)話,使用戶請(qǐng)求得到及時(shí)的響應(yīng)。
1.2多道技術(shù)
將要處理的作業(yè)存放在外部存儲(chǔ)器中,形成隊(duì)列,等待運(yùn)行。當(dāng)需要調(diào)入時(shí),由操作系統(tǒng)中的作業(yè)調(diào)度程序?qū)ν獯嬷械牟糠肿鳂I(yè),依照其對(duì)資源的要求和調(diào)度原則,調(diào)進(jìn)內(nèi)存,交替運(yùn)行。當(dāng)某個(gè)作業(yè)完成,再調(diào)入一個(gè)或幾個(gè)作業(yè)。
如圖所示,A程序占用CPU資源請(qǐng)求使用I/O A設(shè)備(黃線),I/O A設(shè)備啟動(dòng)(綠線),但I(xiàn)/O設(shè)備的運(yùn)行是和CPU無關(guān)的,所以CPU現(xiàn)處于空閑階段。前文提到,多道技術(shù)是一次調(diào)入一個(gè)或幾個(gè)作業(yè),這時(shí)的CPU沒有被利用,距離下次A再發(fā)出請(qǐng)求還有段時(shí)間,多道技術(shù)系統(tǒng)合理利用了這段空閑時(shí)間。程序B在I/O A設(shè)備啟動(dòng)時(shí),利用CPU資源向I/O B設(shè)備發(fā)出請(qǐng)求(紫線),多利用了一段CPU資源。
1.3兩者比較
分時(shí)系統(tǒng)是讓多個(gè)進(jìn)程輪流使用處理機(jī),每個(gè)進(jìn)程無論結(jié)束否,在一個(gè)時(shí)間片內(nèi)都會(huì)強(qiáng)制停止,換下一個(gè)進(jìn)程。而多道技術(shù)系統(tǒng)則是系統(tǒng)分配多個(gè)進(jìn)程同時(shí)運(yùn)行使用處理機(jī),直到進(jìn)程結(jié)束。
2.操作系統(tǒng)功能
操作系統(tǒng)的功能是管理和控制計(jì)算機(jī)系統(tǒng)中所有的硬件和軟件資源,合理地組織計(jì)算機(jī)的工作流程,并為用戶提供一個(gè)良好的工作環(huán)境和友好的接口。從資源管理的角度,其功能主要有:處理機(jī)管理、存儲(chǔ)管理、設(shè)備管理和信息管理,而從合理組織工作流程,方便用戶的角度,其功能主要是:作業(yè)管理。下面將對(duì)這些功能一一介紹。
2.1處理機(jī)管理
該功能概括而言就是:進(jìn)程控制、進(jìn)程同步、進(jìn)程通信和調(diào)度。在單道作業(yè)或者單用戶的情況下,對(duì)處理機(jī)的管理十分簡單。但在多道程序或多用戶的情況下,要組織多個(gè)作業(yè)同時(shí)運(yùn)行,就要解決處理機(jī)分配、回收資源等問題。在后面,將重點(diǎn)討論處理機(jī)調(diào)度中的進(jìn)程管理。
2.2存儲(chǔ)管理
主要是對(duì)存儲(chǔ)器進(jìn)行分配、保護(hù)、擴(kuò)充和地址映射。隨著科技的發(fā)展,雖然現(xiàn)在內(nèi)存容量在不斷的增長,但其仍然是相當(dāng)稀缺的資源。如果直接在內(nèi)存上載入要運(yùn)行的程序和數(shù)據(jù),會(huì)使得CPU執(zhí)行速度得不到充分的發(fā)揮。為使CPU資源得到充分利用,對(duì)于內(nèi)存的存儲(chǔ)管理是相當(dāng)必要的。
2.3設(shè)備管理
計(jì)算機(jī)往往配置種類紛繁的I/O設(shè)備,這些設(shè)備具有很不相同的操作性能,尤其是處理速度和信息傳輸差別很大,使用也不盡相同。為發(fā)揮設(shè)備和主機(jī)的并行工作能力,常需采用緩沖技術(shù)和虛擬技術(shù)。
2.4文件系統(tǒng)管理
對(duì)系統(tǒng)的軟件——程序和數(shù)據(jù)進(jìn)行管理。當(dāng)一個(gè)文件不用時(shí),保存在外存中,對(duì)于這些信息的共享、保密和保護(hù),顯然是相當(dāng)重要的。操作系統(tǒng)允許多個(gè)用戶對(duì)文件同時(shí)訪問,但未授權(quán)的用戶不能對(duì)文件進(jìn)行調(diào)用或修改。
2.5用戶接口
操作系統(tǒng)為為普通用戶、管理用戶提供了不同操作命令組成的可視化的操作界面,每個(gè)命令實(shí)現(xiàn)和完成用戶所要求的特定功能和服務(wù),如:上網(wǎng)、在線處理、辦公處理等,讓計(jì)算機(jī)更加方便靈活。
3.處理機(jī)調(diào)度——進(jìn)程管理
3.1進(jìn)程調(diào)度
進(jìn)程調(diào)度過程分為三個(gè)循環(huán)步驟:等待-->就緒-->執(zhí)行
進(jìn)程創(chuàng)建后,進(jìn)入等待隊(duì)列。當(dāng)進(jìn)程獲得了除CPU以外的所有資源(如:外設(shè)操作完成、具有合作關(guān)系的某進(jìn)程來了、對(duì)某資源訪問本不能進(jìn)行,現(xiàn)在可以了等)后,進(jìn)入到就緒隊(duì)列中。此時(shí)通過一定的算法調(diào)度進(jìn)程,進(jìn)程獲得CPU資源后,轉(zhuǎn)換為執(zhí)行狀態(tài)。當(dāng)進(jìn)程執(zhí)行完成或時(shí)間片用完后,釋放CPU,沒有運(yùn)行完的進(jìn)程再次進(jìn)入等待隊(duì)列中,并將進(jìn)程現(xiàn)在的執(zhí)行狀態(tài)記錄在PCB塊中。
3.2資源分配
CPU資源的合理分配主要是通過調(diào)度進(jìn)程時(shí)的算法來完成的。經(jīng)常用到的算法主要有四種:先來先服務(wù)調(diào)度算法、最短作業(yè)優(yōu)先算法、響應(yīng)比高者優(yōu)先算法、優(yōu)先級(jí)高者優(yōu)先算法。
先來先服務(wù):根據(jù)進(jìn)程進(jìn)入就緒隊(duì)列的先后順序來選擇。它提高了平均作業(yè)周轉(zhuǎn)時(shí)間,但若執(zhí)行時(shí)間較短的進(jìn)程來得晚,就不利于短進(jìn)程的調(diào)度。
最短作業(yè):從就緒隊(duì)列中選擇執(zhí)行時(shí)間最短的進(jìn)程執(zhí)行。但如果不斷的有進(jìn)程進(jìn)入就緒隊(duì)列中,這可能使得執(zhí)行時(shí)間長的進(jìn)程永遠(yuǎn)得不到執(zhí)行。
響應(yīng)比高者:每次進(jìn)行進(jìn)程調(diào)度前,會(huì)計(jì)算每個(gè)進(jìn)程的響應(yīng)比,選擇響應(yīng)比最大的執(zhí)行。由于這種算法每次調(diào)度前都要重新計(jì)算,所以它的開銷比較大。
優(yōu)先級(jí)高者:根據(jù)進(jìn)程的優(yōu)先級(jí)來調(diào)度,高優(yōu)先級(jí)進(jìn)程先執(zhí)行。該算法又分為靜態(tài)優(yōu)先級(jí)和動(dòng)態(tài)優(yōu)先級(jí)。靜態(tài)的優(yōu)先級(jí)一直不變,算法實(shí)現(xiàn)簡單,但效率低,調(diào)度性能不高;動(dòng)態(tài)的優(yōu)先級(jí)隨時(shí)間推移而改變,系統(tǒng)要為此付出一定代價(jià)。
參考文獻(xiàn):
[1]張堯?qū)W.計(jì)算機(jī)操作系統(tǒng)教程[J].清華大學(xué)出版社,2006.
[2]William Stallings.操作系統(tǒng):精髓與設(shè)計(jì)原理[J].機(jī)械工業(yè)出版社,2010.