作業系統面試筆試題總結二(程序與執行緒)
程式在併發系統內執行的特點:程式執行的間斷性,相互通訊的可能性,資源分配的動態性
在下面關於併發性的敘述中正確的是:併發性是指若干事件在同一時間間隔發生
一般來說,為了實現多道程式設計,計算機最需要更大的記憶體
Unix作業系統的程序控制塊中常駐記憶體的是proc結構
當(時間片到)時,程序從執行狀態轉變為就緒狀態。
在程序狀態轉換時,阻塞態→執行態轉換是不可能發生的。
建立程序所必需的步驟:建立一個PCB,為程序分配記憶體等資源,將PCB鏈入程序就緒佇列
下列關於程序的敘述中,正確的是:程序通過程序排程程式而獲得CPU
從資源管理的角度看,程序排程屬於處理機管理
下列有可能導致一程序從執行變為就緒的事件是出現了比現執行程序優先權更高的程序
一個程序釋放一種資源將有可能導致一個或幾個程序:由阻塞變就緒
一次I/O操作的結束,有可能導致一個程序由睡眠變就緒
當一個程序從CPU上退下來時,它的狀態應變為活動就緒
為使程序由活動就緒變為靜止就緒,應利用(Suspend)原語?
不正確的是:一個執行緒可建立一個或多個程序
若系統中只有使用者級執行緒,則處理機排程單位是程序
一個程序是PCB結構與程式和資料的組合
下列幾種關於程序的敘述,()最不符合作業系統地程序的理解?:程序是在多程式並行環境中的完整的程式
在下面的敘述中正確的是:引入執行緒可提高程式併發執行的程度,可進一步提高系統效率
下面關於執行緒的敘述中,正確的是:不管系統中是否有執行緒,程序都是擁有資源的獨立單位
在下面的敘述中,正確的是:執行緒的切換,可能引起程序的切換
程序的控制資訊和描述資訊存放在PCB
程序依靠()從阻塞狀態過渡到就緒狀態。”合作”程序的喚醒
在Windows NT中(程序)可以處於就緒狀態
只作用於一個程序一次的原語是創立
在Unix系統中,處於記憶體就緒狀態的程序最容易被執行。
從執行狀態掛起的程序解除掛起時進入就緒狀態
一個程序執行過程中不可能對應多個PCB
用P、V操作管理臨界區時,訊號量的初值一般應定義為1
有m個程序共享同一臨界資源,若使用訊號量機制實現對一臨界資源的互斥訪問,則訊號量的變化範圍是1至-(m-1)
在下面的敘述中正確的是臨界資源是互斥共享資源
對程序間互斥的使用臨界資源,程序可以互斥的進入各自的同類資源臨界區
設兩個程序共用一個臨界資源的互斥訊號量mutex,當mutex=1時表示沒有一個程序進入臨界區
設兩個程序共用一個臨界資源的互斥訊號量mutex=1,當mutex=-1時表示一個程序進入了臨界區,另一個程序等待
當一程序因在記錄型訊號量S上執行P(S)操作而被阻塞後,S的值為<0
當一程序因在記錄型訊號量S上執行V(S)操作而導致喚醒另一程序後,S的值為≤0
如果訊號量的當前值為-4,則表示系統中在該訊號量上有4個程序等待
若有4個程序共享同一程式段,而且每次最多允許3個程序進入該程式段,則訊號量的變化範圍是3,2,1,0,-1
若訊號S的初值為2,當前值為-1,則表示有1個等待程序。
併發程序之間可能需要同步或互斥
在作業系統中,有一組程序,程序之間具有直接相互制約性。這組併發程序之間必定相關
為程序分配處理機操作不是P操作可完成的。
下列程序排程演算法中,強佔式靜態優先權法可能會出現程序長期得不到排程的情況。
為了照顧緊迫型作業,應採用優先權排程演算法
在採用動態優先權的優先權排程演算法中,如果所有程序都具有相同優先權初值,則此時的優先權排程演算法實際上和先來先服務排程演算法相同
作業從後備作業到被排程程式選中的時間稱為等待排程時間
假設就緒佇列中有10個程序,以時間片輪轉方式進行程序排程,時間片大小為300ms,CPU進行程序切換需要花費10ms,則系統開銷所佔比率和 程序數目增加到30個、其餘條件不變時系統開銷所佔的比率 相比,其結果是等於
多道程式設計是指在一臺處理機上併發執行多個程式
程序和程式的一個本質區別是前者為動態的,後者為靜態的
程序在系統中是否存在的惟一標誌是程序控制塊
某程序在執行過程中等待的事件已發生,例如,列印開始,此時該程序的狀態將從執行變為阻塞
執行速度快不屬於多道程式執行的特徵。
一個正在執行的程序,當所分配的時間片用完後,將其掛在就緒佇列
某程序在執行過程中需要等待從磁碟上讀入資料,此時該程序的狀態將從執行變為阻塞
一個程序被喚醒意味著程序狀態變為就緒
在作業系統中,可以並行工作的基本單位是程序
時間片輪轉法進行程序排程是為了多個終端都能得到系統的及時響應
引入多道程式的目的在於充分利用CPU,減少CPU等待時間
在一段時間內,只允許一個程序訪問的資源稱為臨界資源
在下列程序的四個特徵中,最基本的特徵是動態性
下面會引起程序建立的事件是:使用者登入,作業排程
下面是關於執行緒的敘述,其中正確的是執行緒自己擁有一點資源,但它可以使用所屬程序的資源;由於同一程序中的多個執行緒具有相同的地址空間,所以它們間的同步和通訊也易於實現;程序建立與執行緒建立的時空開銷不相同
在下面的敘述中,正確的是同一程序或不同程序內的執行緒都可以併發執行
執行緒是作業系統的概念,已具有執行緒管理的作業系統有OS /2,Windows NT,Mach
下面屬於程序基本狀態的是:就緒,執行,阻塞,銷燬
關於程序的正確說法是:一個被建立了的程序,在它被消滅之前,處於程序的三種基本狀態之一
程序出現死鎖,程序數目太多時,可能掛起某程序。
多道程式系統程序從執行狀態轉換到就緒狀態的原因是時間片完,有更高優先順序的程序搶佔cpu
有關程序的描述中,正確的:程序執行的相對速度不能由程序自己來控制;同步是指併發程序之間存在的一種制約關係
印表機,共享變數,共享緩衝區是臨界資源
一個程序從執行狀態轉換到阻塞狀態的可能原因是本程序需要等待其他程序的執行結果;執行了P操作
一個程序從阻塞狀態轉換到就緒狀態的可能原因是該程序執行了V操作
在單處理機系統中,設系統中有n個程序(n>2),且當前處理機沒有執行程序排程程式,下列情況哪些可能發生:一個程序處於執行狀態,n-1程序處於等待狀態;一個程序處於執行狀態,1個程序處於就緒狀態,n-2程序處於等待狀態一個程序處於執行狀態;n-1程序處於就緒狀態,沒有程序處於等待狀態
有更高優先順序的程序到達而從執行狀態變為就緒狀態可能是強佔方式程序排程中引起排程的原因。
選擇排隊作業中等待時間最長的作業優先排程,該排程演算法是先來先服務排程演算法
有作業控制塊JCB連成一串而形成的排隊佇列稱為後備佇列
下列四個選項描述的時間組成了週轉時間,其中可能發生多次的是等待I/O操作完成的時間;程序在CPU上執行時間;程序在就緒佇列上等待程序排程的時間
下面列出的是選擇排程方式和演算法的四個面向使用者的準則。其中不完全適用於實時系統的準則是週轉時間短(其他三個:優先權準則;響應時間快;截止時間的保證)
對批處理、分時、實時系統都可以採用的是優先權準則
在多級佇列排程和多級反饋佇列的排程的敘述中,正確的是:多級反饋佇列的排程中就緒佇列的設定不是像多級佇列排程一樣按作業性質劃分,而是按時間片的大小劃分
有了執行緒之後,程式只能以執行緒的身份執行。錯
執行緒的切換會引起程序的切換。錯
多個執行緒可以對應同一段程式。對
系統內可以有無父程序的程序。對
執行緒所對應的程式肯定比程序所對應的程式短。錯
程序從CPU退下時,將”現場”儲存在系統棧內。錯
在多道程式系統,程序需要等待某種事件的發生時,程序一定進入阻塞狀態。錯
程序上下文是程序執行全過程的靜態描述。對
併發是並行的不同表述,其原理相同。錯
程序是基於多道程式技術而提出的,其基本的特徵是動態性;程序的執行是在多個狀態間多次轉換的過程,但只有處於就緒和執行狀態的程序位於記憶體。錯
作業系統對程序的管理和控制主要是通過控制原語言實現的。對
原語的執行是遮蔽中斷的。對
一般情況下,分時系統中處於就緒狀態的程序最多。對
系統中程序的數目越多,CPU的利用率就越高。錯
多道程式的執行失去了封閉性和再現性,因此多道程式系統不需要封閉性和再現性。錯
一個多道程式可能具備封閉性和再現性。對
單道程式不具備封閉性和再現性。錯
一個臨界資源可以對應多個臨界區。對
同步訊號量的初值一般為1。錯(同步訊號量的初值一般設為0;互斥訊號量的初值一般設為1;)
用管程實現程序同步時,管程中的過程是不可中斷的。對
程序A、B共享變數x,需要互斥執行;程序B、C共享變數y,B、C也需要互斥執行,因此程序A、C必須互斥執行。錯
作業排程能使作業獲得CPU。錯
在多道程式系統中,系統的現有空閒可用資源能否滿足後備作業J的資源要求,是選擇作業J進入記憶體的必要條件。錯
短作業(程序)優先排程演算法具有最短的平均週轉時間,因此這種演算法使最好的演算法。錯
在優先權排程演算法中如何確定靜態優先權?一般說,計算程序的優先權要高於磁碟I/O程序的優先權。錯