3.2 處理機管理
處理器是計算機的心臟,在單用戶系統(tǒng)中或單道系統(tǒng)中,處理器為一個用戶或一個作業(yè)服務(wù),管理簡單。為了提高系統(tǒng)資源的利用率,引入了多道程序技術(shù),即多個程序或作業(yè)同時運行,爭用處理器,要解決處理器的分配調(diào)度的策略。因此引入了作業(yè)、進程和線程的概念,基于操作系統(tǒng)對處理器的管理策略不同,其提供的作業(yè)處理方式也不同,又批處理方式、分時處理方式、實時處理方式、多道成批處理方式和網(wǎng)絡(luò)環(huán)境下的處理方式等。
操作系統(tǒng)的核心位于硬件上,核心的目的是提供一種進程賴以生存的環(huán)境,其主要任務(wù)就是接受中斷并做基本的處理,在進程之間切換處理器,處理進程之間的通信。
基本的硬件結(jié)構(gòu)是:
(1)中斷結(jié)構(gòu):為了使輸入輸出活動與處理器的活動并行,提出了中斷處理程序;
(2)特權(quán)指令:僅供操作系統(tǒng)使用的指令集合;
(3)主存保護:多道程序系統(tǒng)中,必須對各進程使用的主存加以保護,以防止其他進程的非法操作;
(4)時鐘:硬件時鐘以固定的時間間隔產(chǎn)生中斷信號,這對于實現(xiàn)處理器的調(diào)度以及實現(xiàn)與時間有關(guān)的任務(wù)不可或缺。
處理機管理涉及對物理處理機的管理問題,明確地說,涉及把處理機分配給進程的問題。我們能夠識別下述模塊:創(chuàng)建進程的作業(yè)調(diào)度程序,在非多道程序設(shè)計的環(huán)境中,它還確定哪個進程將獲得一臺處理機;處理機調(diào)度程序,在多道程序設(shè)計環(huán)境中,它確定就緒進程中的某一進程在什么時候?qū)@得一臺處理機,使用多長時間;交通控制程序,它記住進程的狀態(tài)。對系統(tǒng)中的每一個進程都有一張類似的狀態(tài)圖。在大多數(shù)系統(tǒng)中,必須使進程和作業(yè)同步,這也是處理機管理模塊要完成的一項任務(wù)。首先我們來看作業(yè)調(diào)度:
1 作業(yè)調(diào)度
1.1 調(diào)動級別
一般來說,作業(yè)從進入系統(tǒng)到最后完成,可能要經(jīng)歷三級調(diào)度:高級調(diào)度、中級調(diào)度、低級調(diào)度。
(1)高級調(diào)度:又稱作業(yè)調(diào)度。其主要功能是根據(jù)一定算法,從輸入的一批作業(yè)中選出若干個作業(yè),分配必要的資源,如內(nèi)存、外設(shè)等,為它建立相應(yīng)的用戶作業(yè)進程和為其服務(wù)的系統(tǒng)進程(輸入、輸出進程),最后把它們的程序和數(shù)據(jù)調(diào)入內(nèi)存,等待進程調(diào)度程序?qū)ζ鋱?zhí)行調(diào)度,并在作完成后作善后處理工作。
(2)中級調(diào)度:為了使內(nèi)存中同時存放的內(nèi)存數(shù)目不至于太多,有時就需要某些進程從內(nèi)存中移到外存上,以減少多道程序的數(shù)目,為此設(shè)立了中級調(diào)度。
(3)低級調(diào)度:又稱進程調(diào)度。其主要功能是根據(jù)一定的算法將CPU分派給就緒隊列中的一個進程。進程調(diào)度是操作系統(tǒng)中最基本的一種調(diào)度。在一般類型的操作系統(tǒng)中都必須有進程調(diào)度,而且它的策略的優(yōu)略直接影響整個系統(tǒng)的性能。
1.2 作業(yè)狀態(tài)
作業(yè)狀態(tài)分為四種:提交、后備、執(zhí)行和完成。
(1)提交狀態(tài)--即用戶向系統(tǒng)提交一個作業(yè)時,該作業(yè)所處的狀況。如將一套作業(yè)卡片交給機房管理員,有管理員將它們 放到讀卡機予以讀入;或者用戶通過鍵盤向機器輸入其作業(yè)。
(2)后備狀態(tài)--即用戶作業(yè)經(jīng)輸入設(shè)備(如讀卡機)送入輸入井(磁盤)中存放,等待進入內(nèi)存時所處的狀況。此時,該作業(yè)的數(shù)據(jù)已轉(zhuǎn)換成內(nèi)部機器可讀的形式,并且作業(yè)請求資源等信息也交給了操作系統(tǒng)。
(3)執(zhí)行狀態(tài)--即作業(yè)分配到所須的資源。被調(diào)入內(nèi)存,并且再處理機(CPU)上執(zhí)行相應(yīng)的程序時所處的狀況。此時該作業(yè)真正處于活動狀態(tài)。
(4)完成狀態(tài)--即作業(yè)完成了計算任務(wù),結(jié)果由打印機輸出,最后由系統(tǒng)回收分配給它的全部資源,準(zhǔn)備退出系統(tǒng)時的狀態(tài)。
1.3 作業(yè)調(diào)度
1.作業(yè)控制塊JCB
2.作業(yè)調(diào)度的功能
(1)記錄系統(tǒng)中各作業(yè)的情況。
(2)按照某種調(diào)度算法從后備作業(yè)隊列中挑選作業(yè)。
(3)為選中的作業(yè)分配內(nèi)存和外設(shè)等。
(4)為選中的作業(yè)建立相應(yīng)的進程。
(5)作業(yè)結(jié)束后進行相應(yīng)的善后處理。
2 進程調(diào)度
2.1 進程調(diào)度的功能和時機
1.進程調(diào)度的主要功能是:
(1)保存現(xiàn)場
(2)挑選進程
(3)恢復(fù)現(xiàn)場
2.一般在以下事件發(fā)生后作進程調(diào)度:
(1)完成任務(wù)
(2)等待資源
(3)運行到時
(4)發(fā)現(xiàn)標(biāo)志
2.2 兩級調(diào)度模型
作業(yè)調(diào)度是宏觀調(diào)度,它所選擇的作業(yè)只是具有獲得處理機的資格,但尚未占有處理機,不能立即在其上實際運行。而進程調(diào)度是微觀調(diào)度,它根據(jù)一定的算法,動態(tài)的把處理機實際的分配給所選擇的進程,使之真正活動起來。
3 調(diào)度性能的評價
1) 選擇調(diào)度算法時應(yīng)考慮的主要因素
2 )調(diào)度性能評價準(zhǔn)則
相關(guān)推薦:
2012年軟考系統(tǒng)分析師考試60天完美復(fù)習(xí)計劃
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |