簡答題
1.在操作系統中,P操作和V操作各自的動作是如何定義的?
2.作業調度和進程調度各自的主要功能是什么?
3. 設備驅動程序主要執行什么功能?
4.作業調度和進程調度各自的主要功能是什么?
5.什么是分頁?什么是分段?二者主要有何區別?
6. 簡述缺頁中斷與一般中斷的區別。
7. 在操作系統中,P操作和V操作各自的動作是如何定義的?
8. I/O驅動軟件的層次有哪些?說明每層的作用。
9. 什么是SPOOLING技術?
10. 為什么多道系統的程序要以進程的形式參與系統的并發執行?
11. 什么是虛擬設備?試舉幾例。
12. 并發與并行的區別是什么?
簡答題
1.
P操作順序執行下述兩個動作:
?、傩盘柫康闹禍p1,即S=S-1;
②如果S≥0,則該進程繼續執行;
如果S<0,則把該進程的狀態置為阻塞態,把相應的PCB連入該信號量隊列的末尾,并放棄處理機,進行等待(直至其它進程在S上執行V操作,把它釋放出來為止)。
V操作順序執行下述兩個動作:
?、賁值加1,即S=S+1;
②如果S>0,則該進程繼續運行;
如果S≤0,則釋放信號量隊列上的**個PCB(即信號量指量指針項所指向的PCB)所對應的進程(把阻塞態改為就緒態),執行V操作的進程繼續運行。
2.
作業調度的主要功能是:
記錄系統中各個作業的情況;
按照某種調度算法從后備作業隊列中挑選作業;
為選中的作業分配內存和外設等資源;
為選中的作業建立相應的進程;
作業結束后進行善后處理工作。
進程調度的主要功能是:
保存當前運行進程的現場;
從就緒隊列中挑選一個合適進程;
為選中的進程恢復現場。
3.
設備驅動程序應具有以下功能:
①接收用戶的I/O請求;
②取出請求隊列中隊首請求,將相應設備分配給它;
③啟動該設備工作,完成指定的I/O操作;
④處理來自設備的中斷。
4.
作業調度的主要功能是:
記錄系統中各個作業的情況;
按照某種調度算法從后備作業隊列中挑選作業;
為選中的作業分配內存和外設等資源;
為選中的作業建立相應的進程;
作業結束后進行善后處理工作。
進程調度的主要功能是:
保存當前運行進程的現場;
從就緒隊列中挑選一個合適進程;
為選中的進程恢復現場。
5.
分頁是將一個進程的邏輯地址空間分成若干大小相等的部分,每一部分稱作頁面。
分段是一組邏輯信息的集合,即一個作業中相對獨立的部分。
分頁和分段的主要區別是:
頁是信息的物理單位,段是信息的邏輯單位;
頁的大小是由系統固定的,段的長度因段而異,由用戶決定;
分頁的作業地址空間是一維的,分段的作業地址空間是二維的。
6.
它們的區別是:
(1)一般中斷是發生在指令執行完之后,才由CPU檢測由硬件提供的中斷信號。缺頁中斷發生在指令執行當中,發現所要訪問的指令或數據不在內存時產生和處理的。
(2)執行一條指令可能會產生若干次缺頁中斷。例如,對于一條讀取數據的多字節指令,指令本身跨越兩個頁面,假定指令的后一部分所在頁面和數據所在頁面均不在內存,則該指令的執行至少產生兩次缺頁中斷。
7.
P操作順序執行下述兩個動作:
①信號量的值減1,即S=S-1;
②如果S≥0,則該進程繼續執行;
如果S<0,則把該進程的狀態置為阻塞態,把相應的PCB連入該信號量隊列的末尾,并放棄處理機,進行等待(直至其他進程在S上執行V操作,把它釋放出來為止)。
V操作順序執行下述兩個操作:
①S值加1,即S=S+1;
②如果S>0,則該進程繼續運行;
如果S≤0,則釋放信號量隊列上的**個PCB(即信號量指針項所指向的PCB)所對應的進程(把阻塞態改為就緒態),執行V操作的進程繼續運行。
8.
(1)用戶級軟件:用戶程序中使用的I/O指令。
(2)I/O原語:I/O系統調用,它的含義對不同類型的設備可作不同的解釋,系統與用戶進程請求I/O操作是抽象的高級操作,由DCB與驅動程序轉接到具體的物理設備。采用同一種抽象的讀操作去面對不同的設備,最后作用在具體物理設備上的讀是不一樣的。
(3)設備驅動程序:進行控制編碼或微程序操作,由兩部分構成(一般情況下因OS不同而不同):
①設備頭:一數據結構
②中斷過程塊
(4)中斷處理程序:響應設備中斷。
9.
SPOOLING的全稱就是外圍設備實時相連,它通過在硬盤上開辟輸入井和輸出井,實現以空間換時間。當進程需要從外部設備輸入數據時,它不從外部設備上讀取,而是直接從輸入井中讀取,當進程要向外部設備輸出內容時,也是直接向輸出井輸出,然后再從輸出井向外部物理設備輸出,從而提高了系統的工作效率。
10.
多道程序的并發執行有著與單道程序的獨立執行所不同的許多新特點,即資源分配的動態性、程序執行的間斷性、相互通信的可能性以及同步互斥的必要性。程序在并發系統中執行的動態特性,程序本身是無法描述的。為此,當一個程序在并發系統內執行時,需要引進一個新的數據結構來描述和記錄這些特性。這樣,新引入的數據結構與它所描述的程序便形成了一個有機體,叫做進程。所以多道系統的程序要以進程的形式參與系統的并發執行。
11.
利用某種虛擬技術,將一臺獨享設備轉換為多個邏輯設備,同時為若干用戶使用,使其具有共享設備的特征,這種經過虛擬技術處理之后的設備稱為虛擬設備。
虛擬設備的應用很多,如虛擬CPU、虛擬通道、虛擬打印機等。
12.
并發是指若干事件在某個時間段內同時發生,而并行是指在某個時刻同時發生著若干事件;它們一個是與“時間”有關,而另一個則與“時刻”有關。