根據執行程序的處理機是由程序自己釋放,還是被強行剝奪,可以將程序排程方式分為非剝奪方式和剝奪方式兩種。執行程序只有在執行完畢,或因申請i/o阻塞自己時,才中斷其執行,釋放處理機,排程新的程序執行。
這種方式不利於「即時性」要求較高的分時和實時系統,主要用於批處理系統。(不能強行剝奪)
作業系統可以在新程序到來時,或某個具有較高優先權的被阻塞程序插入就緒佇列時,或在基於時間片排程的系統中,時間片用完而中斷當前程序的執行,排程新的程序執行。
這種方式會產生較多的中斷,主要用於實時性要求較高的實時系統及效能要求較高的批處理系統和分時系統。
批處理排程、分時排程、實時排程和多處理機排程長程排程(作業排程要建立新程序;外存->記憶體)、中程排程(掛起,啟用不用建立新程序;外存->記憶體,不需要建立新程序)、短程排程(程序排程;記憶體->記憶體)
i/o排程
又稱高階排程,或作業排程,它為被排程作業或使用者程式建立程序,分配必要的系統資源,並將新建立的程序插入就緒佇列,等待短程排程。
某些採用交換技術的系統將新建立的程序插入到就緒/掛起佇列,等待中程排程。
在批處理系統中,作業進入系統後,先駐留在磁碟上,組織成批處理佇列,稱為後備佇列。長程排程從該佇列中選擇乙個或多個作業,為之建立程序。
其原理如下圖所示:
長程排程需要考慮兩個問題:
question1:選擇多少個作業進入記憶體,為之建立程序?
answer:取決於多道程式的度,即允許同時在記憶體中執行的程序數。
question2:選擇哪些作業?
answer:取決於長程排程演算法。
也稱程序排程,或低階排程,決定就緒佇列中的哪個程序將獲得處理機。
短程排程執行頻率最高。
現代作業系統幾乎都具有短程排程功能。
又稱為中級排程。它是對換功能的一部分。
當記憶體空間非常緊張時,或處理機找不到乙個可執行的就緒程序時,需要選擇乙個程序(阻塞或就緒狀態)換出到外存,釋放出記憶體空間給別的程序使用;當記憶體空間較充裕時,從外存選擇乙個掛起狀態的程序排程到記憶體(換入)。
其原理如下圖所示:
中程排程的目的:為了提高記憶體的利用率和系統吞吐量。只有支援程序掛起的作業系統才具有中程排程功能。
OS複習 裝置管理2
緩解處理機與裝置間速度不匹配的矛盾 實現裝置與處理機一定程度的並行操作 減少裝置的中斷頻率,放寬對中斷響應時間的限制。指使用者程序從 i o緩衝區中取走前乙個資料以後,立即發出對下乙個資料的輸入請求。作業系統將在適當的時候響應該請求以便把使用者程序需要的下乙個資料從使用者程序指定的輸入裝置讀入到i ...
OS之程序管理 孤兒程序和殭屍程序
當乙個程序終止時,作業系統會釋放其資源,不過它位於程序表中的條目還是在的,直到它的父程序呼叫wait 這是因為程序表中包含了程序的退出狀態。當程序已經終止,但是其父進尚未呼叫wait 這樣的程序叫做殭屍程序 zombie prpcess 所有程序終止時都會過度到這種狀態,但是一般而言殭屍只是短暫存在...
os期末複習
登記之後會發生兩個變化 讀者數增加 v操作 座位數減少 p操作 登出之後會發生的變化 讀者數減少 p操作 座位數增加 v操作 必須要清楚釋放的是甚麼,以及申請的是甚麼資源 在具體的題目當中 下面的父親放水果申請的是空的盤子 p操作 放下水果之後相應的水果數 1 v操作 男孩子吃桔子,申請的是對應的水...