1、選擇題編程
1、進程與程序的根本區別是( )。併發
A.靜態和動態特徵 B.是否是被調入到內存中異步
C.是否是存在三種基本狀態 D.是否是佔有處理機函數
進程與程序的區別與聯繫: (1)進程是程序的一次動態執行活動;程序是進程運行的靜態描述文本。好比作菜和菜譜。 (2)一個進程能夠執行一個或多個程序,同一個程序也能夠被多個進程同時執行。如:一個對C源程序進行編譯的進程,前後要執行預處理程序,詞法和語法分析程序,彙編程序,連接程序;幾個用戶同時編輯本身的C源程序,那麼各個用戶產生的編輯進程就執行同一個C源程序編輯程序。 (3)程序是一種軟件資源,能夠長期保存;而進程是一次執行過程,是暫時存在的。 (4)程序不具有進程的5個基本特徵。spa
進程的特徵 (1)結構特徵: 程序段:進程執行的程序,通常是可重入的「純代碼」。 數據段:程序執行時所用的數據。 PCB: 這三部分構成了進程實體。 (2)動態性(最基本的特徵):由建立而產生,調度而執行,有撤銷而消亡 (3)併發性(最重要的特徵):(4)獨立性:指進程實體是同一個能獨立運行、獨立分配資源和獨立運行的基本單位。不建立PCB的程序不能做爲獨立的單位進行運行。 (5)異步性:指進程按各自獨立的、不可預知的速度向前推動。操作系統
2、操做系統是根據( )來對併發執行的進程進行控制和管理的。線程
A.進程放入基本狀態 B.進程控制塊設計
C.多道程序設計 D.進程的優先權3d
系統利用進程控制塊(PCB)來描述進程的基本狀況和活動過程,進而控制和管理進程。系統利用PCB來控制和管理進程,因此PCB是系統感知進程存在的惟一標誌。blog
3、某進程因爲須要從磁盤上讀入數據而處於等待狀態。當系統完成了所需的讀盤操做後,此時該進程的狀態將( )。
A.從就緒變爲運行 B.從運行變爲就緒
C.從運行變爲阻塞 D.從阻塞變爲就緒
當進程處於運行狀態時,當等待時間發生時,會由運行轉爲等待狀態(阻塞狀態);而當程序處於等待狀態時,若是等待發生的事件結束,則有等待轉換爲就緒。
四、一個進程被喚醒意味着( )。
A.該進程從新佔有CPU B.進程狀態變爲就緒狀態
C.它的優先權變爲最大 D.其PCB移至就緒隊列的隊首
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、系統中有n(n>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、操做系統在使用信號量解決同步和互斥問題中,若P、V操做的信號量S初始值爲3,當前值爲-2,則表示有( 2 )個等待進程。
S.value > 0時, S.value爲系統中可用資源的數量;
S.value = 0時,可用資源量正好用完;
S.value < 0時,| S.value |爲系統中等待使用該資源的隊列長度,即 (在信號量上等待的進程數)。
15、有3個進程共享同一個程序段,而每次只容許兩個進程進入該程序段,若用P、V操做同步機制,則信號量S的取值範圍是( -1,2 )。
因爲每次容許兩個進程進入該程序段,因此可能出現的狀況是沒有進程進入,有一個進程進入,有兩個進程進入,兩個進程進入並有一個在等待進入,那麼這四種狀況對應的信號量值爲2,1,0,-1。範圍爲[-1,2]。
16、設某資源關聯的信號量初值爲3,當前值爲1,若M表示資源能夠的數量,N表示等待資源的進程數,則M、N分別是( )。
A.0、1 B.1、0 C.1、2 D.2、0
本題目考查信號量的物理含義。根據信號量的物理含義: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。
2、綜合應用題
1、進程之間存在哪些制約關係?下列活動屬於哪些制約關係?
(1)若干學生去圖書館借同一本書
(2)兩隊進行籃球比賽
(3)流水線生產的各道工序
(4)商品生產和消費
進程之間存在兩種制約關係,即同步和互斥。
同步是因爲併發進程之間須要協調完成同一個任務時引發的一種關係,爲一個進程等待另外一個進程向它直接發送消息或數據時的一種制約關係。
互斥是因爲併發進程之間競爭系統的臨界資源引發的,爲一個進程等待另外一個進程已經佔有的必須互斥使用的資源時的一種制約關係。
1)是互斥關係,同一本書只能被一個學生借閱,或者任什麼時候刻只能有一個學生借閱一本書。
2)是互斥關係,籃球是互斥資源。
3)是同步關係,一個工序完成後開始下一個工序。
4)是同步關係,生產商品後才能消費。
2、某組相互合做的進程,其前趨圖以下所示,信號量a,b,c,d,e,f的初始值爲0,請用P、V操做實現進程間的同步操做。
3、桌子上有一隻盤子,每次只能向其中放入一個水果。爸爸專門向盤子中放蘋果,媽媽專門向盤子中橘子,兒子專門等吃盤子中的橘子,女兒專門等吃盤子中的蘋果。只有盤子爲空時,爸爸或媽媽就可向盤子中放一個水果;僅當盤子中有本身須要的水果時,兒子或女兒能夠從盤子中取出。請利用P、V操做來實現爸爸、媽媽、兒子、女兒之間的同步和互斥關係。
4、某博物館最多能夠容納1000人同時參觀,有一個出入口,該出入口一次僅容許一我的經過。參觀者的活動描述以下:
參觀者進程:
{
進門;
……
參觀;
……
出門;
}
請添加必要的信號量和P、V操做以實現上述過程當中的互斥與同步。要求寫出完整的過程,說明信號量的含義並賦初值。
5、有一隻最多能裝2只兔子的鐵籠子,獵人僅能向籠子中放入兔子(每次只能放入1只),若籠子是滿的,則獵人必須等待;飯店老闆僅能從籠子中取兔子(每次只能取出1只),若籠子是空的則他也必須等待。假設初始時籠子是空的。使用P、V操做實現獵人和飯店老闆進程之間的同步與互斥。要求寫出完整的過程,並對信號量賦初值。