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