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