計算機操作系統第二章自測題-進程管理


一、選擇題

1、進程與程序的根本區別是(  )。

A靜態和動態特征        B是不是被調入到內存中

C是不是存在三種基本狀態   D是不是占有處理機

進程與程序的區別與聯系: (1)進程是程序的一次動態執行活動;程序是進程運行的靜態描述文本。比如做菜和菜譜。 (2)一個進程可以執行一個或多個程序,同一個程序也可以被多個進程同時執行。如:一個對C源程序進行編譯的進程,先后要執行預處理程序,詞法和語法分析程序,匯編程序,鏈接程序;幾個用戶同時編輯自己的C源程序,那么各個用戶產生的編輯進程就執行同一個C源程序編輯程序。 (3)程序是一種軟件資源,可以長期保存;而進程是一次執行過程,是暫時存在的。 (4)程序不具備進程的5個基本特征。

進程的特征 (1)結構特征: 程序段:進程執行的程序,一般是可重入的“純代碼”。 數據段:程序執行時所用的數據。 PCB: 這三部分構成了進程實體。 (2)動態性(最基本的特征):由創建而產生,調度而執行,有撤銷而消亡 (3)並發性(最重要的特征):(4)獨立性:指進程實體是同一個能獨立運行、獨立分配資源和獨立運行的基本單位。不創建PCB的程序不能作為獨立的單位進行運行。 (5)異步性:指進程按各自獨立的、不可預知的速度向前推進。

2、操作系統是根據(  )來對並發執行的進程進行控制和管理的。

A.進程放入基本狀態   B.進程控制塊

C.多道程序設計     D.進程的優先權

系統利用進程控制塊(PCB)來描述進程的基本情況和活動過程,進而控制和管理進程。系統利用PCB來控制和管理進程,所以PCB是系統感知進程存在的唯一標志。

3、某進程由於需要從磁盤上讀入數據而處於等待狀態。當系統完成了所需的讀盤操作后,此時該進程的狀態將(  )。

A.從就緒變為運行   B.從運行變為就緒

C.從運行變為阻塞   D.從阻塞變為就緒

當進程處於運行狀態時,當等待時間發生時,會由運行轉為等待狀態(阻塞狀態);而當程序處於等待狀態時,如果等待發生的事件結束,則有等待轉換為就緒。

4、一個進程被喚醒意味着(  )。

A.該進程重新占有CPU    B.進程狀態變為就緒狀態

C.它的優先權變為最大   D.其PCB移至就緒隊列的隊首

對於A:進程被喚醒,並不代表該進程一定會上CPU執行
對於B:進程被喚醒,也就是說該進程從阻塞態轉換為就緒態
對於C:優先權可能會改變,可能不改變,一般來說是不會改變的
對於D:好像OS沒有做這項功能

 

5進程從運行態到等待態可能是(  )。

A.運行進程執行了P操作   B.運行進程執行了V操作

C.進程時間片用完     D.進程被調度

對於A,執行P操作,申請資源,當資源不足時,進程會被阻塞。

對於B,執行V操作,釋放資源,是不會阻塞的;

對於C,時間片用完,進程會從執行態轉到就緒態,繼續等待時間片輪轉;

對於D,

6一個進程釋放了一台打印機,有可能改變(  )的狀態。

A.自身進程         B.輸入輸出進程

C.另一個等待打印機的進程    D.所有等待打印機的進程

 

 

7可能導致進程從運行狀態變為就緒狀態的事件為(  )。

A.等待I/O操作     B.等待的事件發生

C.進程運行結束     D.出現了比當前進程優先級高的進行

進程運行時具有三個狀態:運行態,就緒態,等待態(阻塞態)

 A:一次I/O操作結束,等待態->就緒態

 B:運行進程需要I/O操作,運行態->等待態

 C:運行進程結束,直接轉入釋放

 D:出現了比現運行進程優先級更高的進程,運行態->就緒態

 8必然會引起進程切換的事件為(  )。

A.創建一個新的進程后進入就緒狀態   B.一個進程從運行狀態變為就緒狀態

C.一個進程從阻塞狀態變為就緒狀態   D.以上說法都不對

 進程切換是指CPU調度不同的進程執行,當一個進程從運行狀態變為就緒狀態時,CPU調度另一個進程執行,引起進程切換。

9系統中有nn>2)個進程,則不可能發生(  )。

A. 1個運行進行和n-1個就緒進程,但沒有進程處於等待狀態

B. 1個運行進程和1和就緒進程,剩下n-2個進程處於等待進行

C. 沒有運行進程,1個就緒進程,剩下的n-1個進程處於等待狀態

D. 沒有就緒的進程和運行的進程,全部進程處於等待狀態

 

 

10下列狀態的改變可以由進程自身決定的是(  )。

A.從運行到阻塞   B.從運行到就緒

C.從就緒到運行   D.從阻塞到就緒

11用戶可以通過(  )創建或終止一個進程。

A.函數調用   B.指令   C.系統調用   D.命令

12兩個進程合作完成一個任務,在並發執行中,一個進程要等待其合作伙伴發來信息,或者建立某個條件后再向前執行,這種關系是進程間的(  )關系。

A.同步   B.互斥   C.合作   D.競爭

進程的同步是指並發進程之間存在一種制約關系,一個進程的執行依賴另一個進程的消息,當一個進程沒有得到另一個進程的消息時應等待,直到消息到達才被喚醒。所以兩個進程合作完成一個任務,在並發執行中,一個進程要等待其合作伙伴發來信息,或者建立某個條件后再向前執行,這種關系是進程間的同步關系。

13進程間的同步和互斥,分別表示了進程間的(  )。

A.獨立和制約   B.協作和競爭   C.動態性和獨立性   D.不同狀態

14操作系統在使用信號量解決同步和互斥問題中,若PV操作的信號量S初始值為3,當前值為-2,則表示有( 2 )個等待進程。

 S.value > 0時, S.value為系統中可用資源的數量;

S.value = 0時,可用資源量正好用完;

S.value < 0時,| S.value |為系統中等待使用該資源的隊列長度,即 (在信號量上等待的進程數)。

 153個進程共享同一個程序段,而每次只允許兩個進程進入該程序段,若用PV操作同步機制,則信號量S的取值范圍是(  -1,2   )。

由於每次允許兩個進程進入該程序段,所以可能出現的情況是沒有進程進入,有一個進程進入,有兩個進程進入,兩個進程進入並有一個在等待進入,那么這四種情況對應的信號量值為2,1,0,-1。范圍為[-1,2]。

16設某資源關聯的信號量初值為3,當前值為1,若M表示資源可以的數量,N表示等待資源的進程數,則MN分別是(  )。

A01   B10   C12   D20

本題目考查信號量的物理含義。根據信號量的物理含義:S.value>0時表示有S.value個資源可用;S.value==0表示無資源可用;S.value<0則|S.value|表示等待隊列中的進程個數。信號量的當前值為1,則表示該資源的可用個數為1,沒有等待該資源的進程。因此應該選B。

17執行V操作時,當信號量的值(  ),應釋放一個等待該信號量的進程。

A.小於0   B.大於0   C.小於等於0   D.大於等於0

pv操作是一對原子操作,p操作的作用是申請資源,即將資源數減1,然后判斷資源數是否小於0,若小於0,則自我阻塞在當前資源鏈表中。

 v操作的作用是歸還資源,將所申請的資源數加一,然后判斷資源數是否小於等於0,若小於等於0說明有進程阻塞在當前資源上,喚醒一個當前資源鏈表中的進程。

 18對兩個並發進程,其互斥信號量為mutex,若mutex=0,則表明(  )

A沒有進程進入臨界區

B有兩個進程進入臨界區

C一個進程進入臨界區但沒有進程處於阻塞狀態

D一個進入臨界區一個出去等待進入臨界區的狀態

互斥型信號量是一種特殊的二值信號量,實現對共享資源的獨占式處理。它可以在應用程序中用於降解優先級翻轉問題。在互斥型信號量中,包括三個元素:1個標志,表示mutex是否可以使用;1個優先級,准備一旦高優先級的任務需要這個mutex,將賦予占有mutex的任務的優先級;1個等待該mutex的任務列表。在互斥型信號量的使用中,其對應的值初始化為1,因此,當其值為1時,所表示的含義是沒有進程對這個互斥型信號量所保護的資源進行訪問,也就是沒有進程進入臨界區。臨界區不允許兩個進程同時進入,D選項明顯錯誤。mutex初值為1,表示允許一個進程進入臨界區,當有一個進程進入臨界區且沒有進程等待進入時,mutex值減1,變為0。

19信箱通信是一種(  )。

A.直接通信   B.間接通信   C.低級通信   D.信號量

信箱通信是一種間接通信方式。

低級通信:只能傳遞狀態和整數值(控制信息),其交換的信息少。

 高級通信:用戶可直接利用操作系統所提供的一組通信命令高效地傳送大量數據的一種通信方式。操作系統隱藏了進程通信的實現細節,即對用戶是透明的。

 20下面說法正確的是(  )。

A.不論是系統支持的線程還是用戶級線程,其切換都需要內核的支持

B.線程是資源分配的單位,進程時調度和分派的單位 (調度)

C.不管系統中是否有線程,進程都是擁有資源的獨立單位

D.在引入線程的系統中,進程仍是資源調度和分配的基本單位

引入線程后,進程仍然是資源分配的單位。線程是處理器調度和分派的單位,線程本身不具有資源,它可以共享所屬進程的全部資源。

21、下列選項中,會導致用戶從用戶態切換到內核態的操作是(  )

.整數除以零 ⅱ.sin函數調用  ⅲ.read函數調用

A. ⅰ和ⅱ   B. ⅰ和ⅲ   C. ⅱ和ⅲ   D. ⅰ、ⅱ和ⅲ

需要在系統內核態執行的操作是整數除零操作和read系統調用函數,答案選B。

二、綜合應用題

1、進程之間存在哪些制約關系?下列活動屬於哪些制約關系?

1)若干學生去圖書館借同一本書

2)兩隊進行籃球比賽

3)流水線生產的各道工序

4)商品生產和消費

進程之間存在兩種制約關系,即同步和互斥。
同步是由於並發進程之間需要協調完成同一個任務時引起的一種關系,為一個進程等待另一個進程向它直接發送消息或數據時的一種制約關系。
互斥是由於並發進程之間競爭系統的臨界資源引起的,為一個進程等待另一個進程已經占有的必須互斥使用的資源時的一種制約關系。
1)是互斥關系,同一本書只能被一個學生借閱,或者任何時刻只能有一個學生借閱一本書。
2)是互斥關系,籃球是互斥資源。
3)是同步關系,一個工序完成后開始下一個工序。
4)是同步關系,生產商品后才能消費。

 2、某組相互合作的進程,其前趨圖如下所示,信號量abcdef的初始值為0,請用PV操作實現進程間的同步操作。

 

3、桌子上有一只盤子,每次只能向其中放入一個水果。爸爸專門向盤子中放蘋果,媽媽專門向盤子中橘子,兒子專門等吃盤子中的橘子,女兒專門等吃盤子中的蘋果。只有盤子為空時,爸爸或媽媽就可向盤子中放一個水果;僅當盤子中有自己需要的水果時,兒子或女兒可以從盤子中取出。請利用PV操作來實現爸爸媽媽兒子女兒之間的同步和互斥關系。

 

4、某博物館最多可以容納1000人同時參觀,有一個出入口,該出入口一次僅允許一個人通過。參觀者的活動描述如下:

參觀者進程:

{

進門;

……

參觀;

……

出門;

}

請添加必要的信號量和PV操作以實現上述過程中的互斥與同步。要求寫出完整的過程,說明信號量的含義並賦初值。

5、有一只最多能裝2只兔子的鐵籠子,獵人僅能向籠子中放入兔子(每次只能放入1只),若籠子是滿的,則獵人必須等待;飯店老板僅能從籠子中取兔子(每次只能取出1只),若籠子是空的則他也必須等待。假設初始時籠子是空的。使用PV操作實現獵人和飯店老板進程之間的同步與互斥。要求寫出完整的過程,並對信號量賦初值。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM