計算機作業系統

2022-02-27 04:30:47 字數 4474 閱讀 7090

三、簡答題

1)、程序管理:

程序與程式的關係:(1)程序是程式的一次執行。(2)進城是乙個程式及其資料在處理機上順序執行時所發生的活動。

(3)程序是程式在乙個資料集合上執行的過程,它是系統進行資源分配和排程的乙個獨立單位。

程序的狀態及其特徵:

就緒狀態:當程序已分配到除cpu意外的所有必要資源後只要在獲得cpu,便可立即執行,程序這時的狀態稱為就緒狀態。在乙個系統中處於就緒狀態的程序可能有多個,通常將它排成乙個佇列,稱為就緒佇列

執行狀態:程序已獲得cpu,其程式正在執行。

阻塞狀態:正在執行的程序由於發生某事件而暫時無法繼續執行時,便放棄處理機而處於暫停狀態,亦即程序的執行受阻塞,把這種暫停狀態稱為阻塞狀態,有時也稱為等待狀態或封鎖狀態。

程序特徵:結構特徵,動態性,併發性獨立性,非同步性;

a:時間片完b:程序排程c:i/o請求d:i/o完成

abcde fghi

a:請求i/o b:掛起 c:排程 d:啟用 e:掛起 f:釋放 g:啟用 h:釋放 i:掛起

程序控制塊:為了描述和控制程序的執行,系統為每個程序定義了乙個資料結構

——程序控制塊pcb(process control block),它是程序實體的一部分,是作業系統中最重要的記錄型資料結構。

程序控制塊中包含四方面的資訊:

1)程序識別符號:(1)內部識別符號(2)外部識別符號2)處理及狀態3)程序排程資訊4)程序控制資訊

程序控制塊的組織方式:鏈結方式,索引方式。

6. 試從動態性,併發性和獨立性上比較程序和程式?

a. 動態性是程序最基本的特性,可表現為由建立而產生,由排程而執行,因得不到資源而暫停執行,以及由撤銷而消亡,因而程序由一定的生命期;而程式只是一組有序指令的集合,是靜態實體。

b. 併發性是程序的重要特徵,同時也是os的重要特徵。引入程序的目的正是為了使其程式能和其它建立了程序的程式併發執行,而程式本身是不能併發執行的。

c. 獨立性是指程序實體是乙個能獨立執行的基本單位,同時也是系統中獨立獲得資源和獨立排程的基本單位。而對於未建立任何程序的程式,都不能作為乙個獨立的單位來執行。

7. 試說明pcb的作用?為什麼說pcb是程序存在的唯一標誌?

a. pcb是程序實體的一部分,是作業系統中最重要的記錄型資料結構。pcb中記錄了作業系統所需的用於描述程序情況及控制程序執行所需的全部資訊。

因而它的作用是使乙個在多道程式環境下不能獨立執行的程式(含資料),成為乙個能獨立執行的基本單位,乙個能和其它程序併發執行的程序。

b. 在程序的整個生命週期中,系統總是通過其pcb對程序進行控制,系統是根據程序的pcb而不是任何別的什麼而感知到該程序的存在的,所以說,pcb是程序存在的唯一標誌。

8. 試說明程序在三個基本狀態之間轉換的典型原因.

a. 處於就緒狀態的程序,當程序排程程式為之分配了處理機後,該程序便由就緒狀態變為執行狀態。

b. 當前程序因發生某事件而無法執行,如訪問已被占用的臨界資源,就會使程序由執行狀態轉變為阻塞狀態。

c. 當前程序因時間片用完而被暫停執行,該程序便由執行狀態轉變為就緒狀態。

9. 為什麼要引入掛起狀態?該狀態有哪些性質?

a. 引入掛起狀態主要是出於4種需要(即引起掛起的原因): 終端使用者的請求,父程序請求,負荷調節的需要,作業系統的需要。

b. 被掛起的程序是處於靜止狀態,並且不能直接被處理機排程。

17. 為什麼程序在進入臨界區之前應先執行「進入區」**?而在退出前又要執行「退出區」**?

為了實現多個程序對臨界資源的互斥訪問,必須在臨界區之前加一段用於檢查臨界資源是否正在被訪問的**,如未被訪問,該程序可進入臨界區對此臨界資源進行訪問;如正被訪問,則該程序不能進入臨界區訪問臨界資源。

在退出臨界區後,執行恢復訪問標誌的**為「退出區」,而在退出前執行「退出區」**主要是為了使其它程序能再訪問此臨界資源。

18. 同步機構應遵循哪些基本準則?為什麼?

a. 空閒讓進、忙則等待、有限等待、讓權等待四條準則

b. 為實現程序能互斥地進入到自己的臨界區

2)、處理機排程與死鎖:

1. 高階排程與低階排程的主要任務是什麼?為什麼要引入中級排程?

高階排程的主要任務:用於決定把外存上處於後備佇列中的哪些作業調入記憶體,並為它們建立程序,分配必要的資源,然後,再將新建立的程序插入就緒佇列上,準備執行。

低階排程的主要任務:用於決定就緒佇列中的哪個程序應獲得處理機,然後再由分派程式執行將處理機分配給該程序的具體操作。

引入中級排程的主要目的:是為了提高系統資源的利用率和系統吞吐量。

10. 試比較fcfs和spf兩種程序排程演算法

相同點:兩種排程演算法都是既可用於作業排程,也可用於程序排程;

不同點:fcfs排程演算法每次排程都是從後備佇列中選擇乙個或是多個最先進入該佇列的作業,將它們調入記憶體,為它們分配資源,建立程序,然後插入到就緒佇列中。該演算法有利於長作業/程序,不利於短作業/程序。

spf排程演算法每次排程都是從後備佇列中選擇乙個或若干個估計執行時間最短的作業,將它們調入記憶體中執行。該演算法有利於短作業/程序,不利於長作業/程序。

15. 按排程方式可將實時排程演算法分為哪幾種?

按排程方式不同,可分為非搶占排程演算法和搶占排程演算法兩種。

18. 何謂死鎖?產生死鎖的原因和必要條件是什麼?

a.死鎖是指多個程序因競爭資源而造成的一種僵局,若無外力作用,這些程序都將永遠不能再向前推進;

b.產生死鎖的原因有二,一是競爭資源,二是程序推進順序非法;

c.必要條件是: 互斥條件,請求和保持條件,不剝奪條件和環路等待條件。

19.在解決死鎖問題的幾個方法中,哪種方法最易於實現?哪種方法是資源利用率最高?

解決/處理死鎖的方法有預防死鎖、避免死鎖、檢測和解除死鎖,其中預防死鎖方法最容易實現,但由於所施加的限制條件過於嚴格,會導致系統資源利用率和系統吞吐量降低;而檢測和解除死鎖方法可是系統獲得較好的資源利用率和系統吞吐量。

20. 請詳細說明可通過哪些途徑預防死鎖?

a.摒棄"請求和保持"條件:系統規定所有程序開始執行之前,都必須一次性地申請其在整個執行過程所需的全部資源,但在分配資源時,只要有一種資源不能滿足某程序的要求,即使其它所需的各資源都空閒,也不分配給該程序,而讓該程序等待;

b.摒棄"不剝奪"條件:系統規定,程序是逐個地提出對資源的要求的。

當乙個已經保持了某些資源的程序,再提出新的資源請求而不能立即得到滿足時,必須釋放它已經保持了的所有資源,待以後需要時再重新申請;

c.摒棄"環路等待"條件:系統將所有資源按型別進行線性排序,並賦予不同的序號,且所有程序對資源的請求必須嚴格按序號遞增的次序提出,這樣,在所形成的資源分配圖中,不可能再出現環路,因而摒棄了"環路等待"條件。

3)儲存器管理:

2. 可採用哪幾種方式將程式裝入記憶體?它們分別適用於何種場合?

將程式裝入記憶體可採用的方式有:絕對裝入方式、重定位裝入方式、動態執行時裝入方式;絕對裝入方式適用於單道程式環境中,重定位裝入方式和動態執行時裝入方式適用於多道程式環境中。

3. 何為靜態鏈結?何謂裝入時動態鏈結和執行時動態鏈結?

a.靜態鏈結是指在程式執行之前,先將各自目標模組及它們所需的庫函式,鏈結成乙個完整的裝配模組,以後不再拆開的鏈結方式。

b.裝入時動態鏈結是指將使用者源程式編譯後所得到的一組目標模組,在裝入記憶體時,採用邊裝入邊鏈結的一種鏈結方式,即在裝入乙個目標模組時,若發生乙個外部模組呼叫事件,將引起裝入程式去找相應的外部目標模組,把它裝入記憶體中,並修改目標模組中的相對位址。

c.執行時動態鏈結是將對某些模組的鏈結推遲到程式執行時才進行鏈結,也就是,在執行過程中,當發現乙個被呼叫模組尚未裝入記憶體時,立即由os去找到該模組並將之裝入記憶體,把它鏈結到呼叫者模組上。

13. 為實現分頁儲存管理,需要哪些硬體支援?

需要有頁表機制、位址變換機構的硬體支援。

16. 為什麼說分段系統較之分頁系統更易於實現資訊共享和保護?

a.對於分頁系統,每個頁面是分散儲存的,為了實現資訊共享和保護,則頁面之間需要一一對應起來,為此需要建立大量的頁表項;

b.而對於分段系統,每個段都從0開始編址,並採用一段連續的位址空間,這樣在實現共享和保護時,只需為所要共享和保護的程式設定乙個段表項,將其中的基址與記憶體位址一一對應起來即可。

17. 分頁和分段有何區別?

a.分頁和分段都採用離散分配的方式,且都要通過位址對映機構來實現位址變換,這是它們的共同點;

b.對於它們的不同點有三,第一,從功能上看,頁是資訊的物理單位,分頁是為實現離散分配方式,以消減記憶體的外零頭,提高記憶體的利用率,即滿足系統管理的需要,而不是使用者的需要;而段是資訊的邏輯單位,它含有一組其意義相對完整的資訊,目的是為了能更好地滿足使用者的需要;第二頁的大小固定且由系統確定,而段的長度卻不固定,決定於使用者所編寫的程式;第三分頁的作業位址空間是一維的,而分段的作業位址空間是二維的。

動態分割槽分配:

基本分頁與基本分段及其關係:

請求分頁與請求分段及其關係:

4)裝置管理:

6. 試說明i/o控制發展的主要推動因素是什麼?

促使i/o控制不斷發展的幾個主要因素如下:

a.儘量減少cpu對i/o控制的干預,把cpu從繁雜的i/o控制中解脫出來,以便更多地去完成資料處理任務。

計算機作業系統總結

排程方式 排程方式有分頁式 分段式 段頁式3種。頁式排程是將邏輯和實體地址空間都分成固定大小的頁。主存按頁順序編號,而每個獨立編址的程式空間有自己的頁號順序,通過排程輔存中程式的各頁可以離散裝入主存中不同的頁面位置,並可據表一一對應檢索。頁式排程的優點是頁內零頭小,頁表對程式設計師來說是透明的,位址...

計算機作業系統複習

1.作業系統的定義 根據馮 諾依曼的思想,將運算部件 記憶體 輸入和輸出部件等裝置安裝在計算機的主機板上,通過邏輯連線構成計算機硬體系統,要使這些部件能夠充分發揮其效能,盡可能地按人們預期的目的和要求來執行各類程式,就需要一套管理硬體和組織程式有序執行的程式,則這套程式就稱為作業系統。2.作業系統的...

《計算機作業系統》試卷

學號姓名成績 適用教材 王萬森 汪國安編著 計算機作業系統教程 一 單項選擇題 每題1分,共 0分 1 進入輸入井的作業其狀態處於 提交狀態完成狀態 執行狀態後備狀態 2 作業由後備狀態轉變為執行狀態是通過以下那個排程程式實現的 作業排程程序排程 中級排程驅臂排程 3 以下那個不是程式順序執行的特性...