作業系統複習

2022-05-13 23:47:57 字數 4347 閱讀 5665

第一章作業系統引論

一、單項選擇題(每題1分,共16分)

1、作業系統是一種系統軟體

2、作業系統是一組資源管理程式

3、現代作業系統的基本特徵是程式的併發執行,資源共享和操作的非同步性。

4、( )不是作業系統關心的主要問題。

a. 管理計算機裸機

b. 設計、提供使用者程式與計算機硬體系統的介面

c. 管理計算機系統資源

d. 高階程式設計語言的編譯器

5、引入多道程式的目的在於充分利用cpu,減少cpu等待時間

6、dos沒有多道程式設計的特點。

a. dosb. unix

c. windows

7、下列作業系統中,為分時系統的是unix

a. cp/mb. ms-dos

c. unixd. windows nt

8、在分時系統中,時間片一定,使用者數越多,響應時間越長。

9、批處理系統的主要缺點是失去了互動性。

10、在下列性質中,獨佔性不是分時系統的特徵。

a. 互動性b. 同時性

c. 及時性d. 獨佔性

11、實時作業系統追求的目標是快速響應。

a.高吞吐率b.充分利用記憶體

c. 快速響應 d. 減少系統開銷

12、cpu狀態分為系統態和使用者態,從使用者態轉換到系統態的唯一途徑是系統呼叫

13、系統呼叫的目的是請求系統服務

a. 14、系統呼叫是由作業系統提供的內部呼叫,它只能通過使用者程式間接使用

15、unix作業系統是採用層次結構實現結構設計的。

a. 單塊式結構 b. 層次結構

c. 微核心結構 d.網狀結構

16、unix命令的一般格式是命令名[選項][引數]

二、填空題(每空1分,共12分)

1、按照所起的作用和需要的執行環境,軟體通常可分為三大類,即應用軟體、支撐軟體、系統軟體。

2、作業系統的體系結構主要有單塊結構、層次結構、微核心結構。

3、unix系統是多使用者作業系統,dos系統是單使用者作業系統。

現代作業系統通常為使用者提供三種使用介面:圖形介面、操作命令、系統呼叫。

4、 計算機中cpu的工作分為系統態(管態)和使用者態(目態)兩種。系統態執行是cpu執行作業系統核心程式,使用者態執行是cpu執行使用者程式。

三、簡答題(共15分)

1、作業系統的定義是什麼?它的五大主要功能是什麼?(共7分)

作業系統是控制和管理計算機系統內各種硬體和軟體資源有效地組織多道程式執行的系統軟體,是使用者和計算機之間的介面。它的五大功能是:儲存器管理、處理機管理、裝置管理、檔案管理、使用者介面。

2、解釋以下術語:硬體、軟體、多道程式設計、併發、吞吐量。(共5分)

硬體是指計算機物理裝置本身(p1);軟體是與資料處理系統的操作有關的計算機程式、過程、規則、以及相關的文件資料的總稱(p1);多道程式設計是在記憶體中同時存放多道程式,在管理程式的控制下交替地執行(p11);併發是指兩個或多個程式活動在同一給定時間間隔中進行;單位時間內cpu完成作業的數量(p80)。

3、實時系統與分時系統的區別是什麼?(共3分)

答:分時系統通用性強,互動性強,及時響應性要求一般(通常數量級為秒);實時系統往往是專用的,系統與應用很難分離,常常緊密結合在一起,實時系統並不強調資源利用率,而更關心及時響應性(通常數量級為毫秒或微秒)、可靠性等。體現在人機控制機制不同。

第二章程序管理

一、 單項選擇題(每題1分,共18分)

1、順序程式和併發程式的執行相比並發程式執行總體上執行時間快

2、在單一處理機上,將執行時間有重疊的幾個程式稱為併發程式

3、程序和程式的本質區別是.動態和靜態特徵

4、在下列特性中,不是程序的特性的是( )。

a. 非同步性 b. 併發性

c. 靜態性 d. 動態性

5、各程序向前推進的速度是不可預知,體現出“走走停停”的特徵,稱為程序的非同步性

6、在單處理機系統中,處於執行狀態的程序只有一個

7、下列程序狀態的轉換中,不正確的是( )。

a. 就緒執行b. 執行就緒

c. 就緒阻塞d. 阻塞就緒

8、已經獲得除 cpu以外的所有執行所需資源的程序處於就緒狀態。

9、一個程序被喚醒意味著.程序狀態變為就緒

10、程序從執行狀態變為阻塞狀態的原因是.輸入或輸出事件發生

11、為了描述程序的動態變化過程,採用了一個與程序相聯絡的程序控制塊,根據它而感知程序的存在。

12、作業系統中有一組常稱為特殊系統呼叫的程式,它不能被系統中斷,在作業系統中稱為原語

13、程序間的基本關係為同步與互斥

14、兩個程序合作完成一個任務,在併發執行中,一個程序要等待其合作伙伴發來資訊,或者建立某個條件後再向前執行,這種關係是程序間的.同步關係。

15、在一段時間內,只允許一個程序訪問的資源稱為臨界資源

16、在作業系統中,對訊號量s的p原語操作定義中,使程序進入相應阻塞佇列等待的條件是s<0

17、訊號量s的初值為8,在s上執行了10次p操作,6次v操作後,s的值為4

18、在程序通訊中,使用信箱方式交換資訊的是高階通訊

二、判斷題(正確的劃,錯誤的劃並改正,每個1分,共6分)(蘭色為對)

1、程序之間的同步,主要源於程序之間的資源競爭,是指對多個相關程序在執行次序上的協調。

2、訊號量機制是一種有效的實現程序同步與互斥的工具。訊號量只能由pv操作來改變。

3、v操作是對訊號量執行加1操作,意味著釋放一個單位資源,加1後如果訊號量的值小於等於零,則從等待佇列中喚醒一個程序,現程序變為等待狀態,否則現程序繼續進行。

4、程序執行的相對速度不能由程序自己來控制。

5、利用訊號量的pv操作可以交換大量資訊。

6、併發程序在訪問共享資源時,不可能出現與時間有關的錯誤。

三、簡答題(共15分)

1、在作業系統中為什麼要引入程序的概念?它與程式的區別和聯絡是怎樣的?(7分)

答:現代計算機系統中程式併發執行和資源共享的需要,使得系統的工作情況變得非常複雜,而程式作為機器指令集合,這一靜態概念已經不能如實反映程式併發執行過程的動態性,因此,引入程序的概念來描述程式的動態執行過程。這對於我們理解、描述和設計作業系統具有重要意義。

主要區別是:(1)程式是靜態概念,是永久性軟體資源;而程序是動態概念,是動態生亡的暫存性資源。(2)程序是一個能獨立執行的單位,能與其他程序併發執行,系統是以程序為單位分配cpu的;而程式則不能作為一個能獨立執行單位。

(3)程式和程序沒有一一對應關係。一個程式在工作時可以由多個程序工作,一個程序在工作時至少對應有一個程式。

(4)各個程序在併發執行時會產生制約關係,使各自推進的速度不可**;而程式作為靜態概念,不存在這種非同步特徵。

程序和程式有著必然的聯絡:一個程式可以劃解成幾個程序,當然一個程式可以形成一個程序。

2、什麼是程序的互斥與同步?(4分)

同步是程序間共同完成一項任務時直接發生相互作用的關係。戶斥是兩個或多個邏輯上完全獨立的程序只是由於競爭同一個物理資源而相互產生的制約關係。

3、一個程序進入臨界區的排程原則是什麼?(4分)

p59從為了使臨界資源得到合理使用到④的末尾即避免程序出現“忙等”現象。

四、應用題(共18分)

1、(6分)四個程序a、b、c、d都要讀一個共享檔案f,系統允許多個程序同時讀檔案f。但限制是程序a和程序c不能同時讀檔案f,程序b和程序d也不能同時讀檔案f。為了使這四個程序併發執行時能按系統要求使用檔案,現用pv操作進行管理,請回答下面的問題:

(1)如何定義訊號量及初值;

(2)在下列的程式中填上適當的p、v操作,以保證它們能正確併發工作:

答:(1)兩個訊號量m和s,s和m的初值均為1。

(2)程序a程序 b程序 c程序 d

p(mp(sp(mp(s);

read fread fread fread f;

v(mv(sv(mv(s);

2、(12分)設有一臺計算機,有兩條i/o通道,分別接一臺卡片輸入機和一臺印表機。卡片機把一疊卡片逐一輸入到緩衝區b1中,加工處理後再搬到緩衝區b2中,並在印表機上列印,問:

①系統要設幾個程序來完成這個任務?各自的工作是什麼?

②這些程序間有什麼樣的相互制約關係?

③用p、v操作寫出這些程序的同步演算法

答:(1)系統要設三個程序完成這個任務,程序a把卡片輸入到緩衝區b1, 程序b把資料從緩衝區b1中取出經加工放入緩衝區b2中,程序c從緩衝區b2中取出資料列印。

(2)程序要互相同步。

(3)設定三個訊號量,b1k表示緩衝區b1空(0空,1不空) ,b1m 表示b1滿(0不滿,1滿),b2k表示緩衝區b2空(0空,1不空) ,b2m 表示b滿(0不滿,1滿),

初值均為0。

程序a程序b程序c

l2l3:

l1:啟動卡片