操作系统复习题+最终版
一、單選題
1、在單處理器系統中,如果同時存在9個進程,則處于就緒隊列中的進程最多有(8)個。
A.1 B.9
C.10 D.8
分析:不可能出現這樣一種情況,單處理器系統9個進程都處于就緒狀態,但是8個處于就緒狀態,一個正在運行是可能存在的。如果有只有1個進程就緒,那么進程管理就會把它放到cpu上運行,同理,假設有5個進程,那進程管理會選擇一個去運行,所以就緒隊列中進程個數最多應該是n-1.
2、若一個信號量的初值為5,經過多次PV操作以后當前值為-1,此表示等待進入臨界區的進程數是(1)。
A.1 B.4 C.2 D.3
解析:
(1)初值為m,表示有m個資源;
(2)為0則表示已經沒有了資源;
(3)如果當前值為-n,那么等待的進程為n。
這是信號量的P、V操作,P表示申請一個資源,每次P操作使信號量減1,V是釋放一個資源,每次V操作使信號量加1。
信號量表示的是當前可用的資源個數,當信號量為負時,申請資源的進程就只能等待了。
所以,信號量是負的多少,就表明有多少個進程申請了資源但無資源可用只能處于等待狀態。
3、對信號量S執行wait操作后,使進程進入等待隊列的條件是( S.value<0 )。
tips:wait(S)和signal(S)來訪問,也可以記為“P操作”和“V操作”。
A.S.value>0 B.S.value<=0
C.S.value>=0 D.S.value<0
分析:
信號量是表示資源的物理量,它只能供P操作和v操作使用,利用信號量S的取值表示共享資源的使用情況,或用它來指示進程之間交換的信息。在具體使用中,把信號量S放在進程運行的環境中,賦予其不同的初值,并在其上實施P操作和V操作,以實現進程間的同步和互斥。P、V操作是定義在信號量S上的兩個操作原語:
P(S):(1) S←S-1;
(2) 若S≥0,則調用P(S)的這個進程繼續被執行;
(3) 若S<0,則調用P(S)的這個進程被阻塞,并將其插入到等待信號量S的阻塞隊列中。
V(S):(1) S←S+1;
(2) 若S>0,則調用P(S)的這個進程繼續被執行;
(3) 若S≤0,則先從等待信號量S的阻塞隊列中喚醒隊首進程,然后調用V(S)的這個進程繼續執行。
信號量S>O時的數值表示某類資源的可用數量,執行P操作意味著申請分配一個單位的資源,故執行S減l操作,若減1后S<0,則表示無資源可用,這時S的絕對值表示信號量S對應的阻塞隊列中進程個數。執行一次V操作則意味著釋放一個單元的資源,故執行S增1操作,若增1后S≤0,則表示信號量S的阻塞隊列中仍有被阻塞的進程,故應喚醒該隊列上的第一個阻塞進程。故應當選c
總結:
對于信號量S而言
S > 0表示可用資源數目;
S = 0表示既無可用資源,也無等待資源的進程;
S < 0表示等待資源的進程為S的絕對值
4、分區管理中采用“首次適應”分配算法時,把空閑區按(地址遞增)次序登記在空閑區表中。
A.地址遞增 B.長度遞增
C.地址遞減 D.長度遞減
5、某基于動態分區存儲管理的計算機,其主存容量為80MB(初始為空),采用最佳適配(Best Fit)算法,分配和釋放的順序為:分配20MB,分配30MB,釋放20MB,分配8MB,分配6MB,此時主存中最大空閑分區的大小是( 30MB)
A.10MB B.9MB
C.30MB D.7MB
解析:其主存容量為80mb(初試為空間),
第一步分配20MB以后還有80MB-20MB=60MB;
第二步分配30MB以后還有 60MB-30MB=30MB;
第三步釋放20MB以后有兩個空閑區30MB,和30MB;
第四步分配8MB,則空閑區為30MB,22MB;
第五步分配 6MB,則空閑區為30MB,16MB;所以這個題目應該是30Mb。
6、文件系統采用兩級索引分配方式,如果每個磁盤塊的大小為1KB,每個盤塊號占4B,則該系統中,單個文件的最大長度是(64MB)。
A.64MB B.128MB C.256MB D.512MB
解析:設備盤塊的大小為1KB,每個盤塊號占4B,則一個索引塊可含 1KB/4B=282^{8}28B個盤塊號,于是兩級索引最多可含282^{8}28B×282^{8}28B = 262^{6}26K個盤塊號,因此,允許的最大文件長度為1KB×262^{6}26K = 262^{6}26M=64MB。
tips:
K,M,G,T與baiKB,MB,GB,TB意思是不一樣的
K,M,G,T等進率是du1000
KB,MB,GB,TB等進率是1024
1T=1000G,1G=1000M,1M=1000K
1TB=1024GB,1GB=1024MB,1MB=1024KB
T.G.M.K是物理或數學單位(太.吉.兆.千)
TB.GB.MB.KB是計算機存儲量單位(太字節.吉字節.兆字節.千字節)
人們常常把T與TB,G與GB,M與MB,K與KB混淆。
7、某分段內存管理系統中,邏輯地址長度為32位,其中段號占8位,則最大段長是(16M字節)
A.16G字節 B.16M字節 C.256字節 D.64K字節
解析:段地址為32位二進制數,其中8位表示段號,則段內偏移量占用32-8=24位二進制數,故最大段長為2242^{24}224B。2242^{24}224B=2142^{14}214KB=242^{4}24MB=16MB
8、資源的按序分配策略可以破壞(循環等待資源)條件。
A.互斥使用資源
B.占有且等待資源
C.非搶奪資源
D.循環等待資源
分析:這樣的話,所有進程資源的請求必須嚴格按照資源序號遞增的次序提出,在所形成的資源分配圖中不可能再出現環路,因而破壞了循環等待條件。
9、在可變式分區分配方案中,某一作業完成后,系統收回其主存空間,并與相鄰空閑區合并,為此需修改空閑區表,造成空閑區數減1的情況是 ( 有上鄰空閑區,也有下鄰空閑區 )
A、無上鄰空閑區,也無下鄰空閑區
B、有上鄰空閑區,但無下鄰空閑區
C、有下鄰空閑區,但無上鄰空閑區
D、有上鄰空閑區,也有下鄰空閑區
分析:本題考查動態分區分配系統內存回收的過程。選項A的情況,回收區作為單獨的空閑分區記入空閑區說明表;選項B和選項C類似,回收區與相鄰的一個空閑分區合并后,修改相應的空閑區說明表項,空閑分區數不會改變;只有當上、下都要鄰接空閑分區時,系統將它們與回收區合并成一個空閑分區,從而空閑分區數會減少。因此本題選擇D。
tips:還有一種情況,合并后空閑區數不變,是有下鄰區,沒有上鄰區。
10、位示圖可用于 。 ( 磁盤空間管理 )
A、頁面置換
B、磁盤空間管理
C、文件目錄查找
D、磁盤驅動調度
解析:操作系統管理空閑存儲空間的方法:位示圖法、空閑區表法、空閑鏈表法以及成組鏈接法
11、對于兩個并發進程,設互斥信號量為S,若S=0,則 。 ( 表示有一個進程進入臨界區 )
A、表示沒有進程進入臨界區
B、表示有一個進程進入臨界區
C、表示有一個進程進入臨近區,另一個進程等待
D、表示兩個進程進入臨界區
12、某作業8:00到達系統,估計運行時間為1小時,若10:00開始執行該作業,其響應比是 ( 3 )
A、2 B、3 C、1 D、0.5
分析:響應比=(等待時間+要求服務時間)/要求服務時間,響應比為(2+1)/1=3。響應比=周轉時間/要求服務時間,周轉時間為3小時(11:00~8:00)。
二、多選題(少選多選都不得分)。
1.關于進程各種基本狀態之間的轉換,可能直接發生的狀態轉化為(ABCD)
A.阻塞狀態=>就緒狀態 B.運行狀態=>就緒狀態
C.靜止就緒=>活動就緒 D.活動阻塞=>靜止阻塞
E.阻塞狀態=>執行狀態 F.就緒狀態=>阻塞狀態
解析:可能發生:A、B、就緒->執行、靜止阻塞->活動阻塞、C、D
不可能發生:F
2.程序的裝入方式有哪些?(絕對裝入方式;可重定位裝入方式;動態運行時的裝入方式)
A.絕對裝入方式 B.可重定位裝入方式
C.動態運行時的裝入方式 D.靜態鏈接方式
解析:程序的裝入方式:絕對裝入方式、可重定位裝入方式、動態運行時的裝入方式。
程序的鏈接:靜態鏈接方式、裝入時動態鏈接、運行時動態鏈接
3.以下哪些不是虛擬內存的特征(CDF )。
A.虛擬性 B.對換性
C.異步性 D.一次性
E多次性 F.并發性
分析:a. 虛擬存儲器具有離散性,多次性,對換性和虛擬性的特征;
b. 其中最本質的特征是離散性,在此基礎上又形成了多次性和對換性,所表現出來的最重要的特征是—虛擬性.
c. 對于為實現請求分頁存儲管理方式的系統,除了需要一臺具有一定容量的內存及外存的計算機外,還需要有頁表機制,缺頁中斷機構以及地址變換機構;
d . 對于為實現請求分段存儲管理方式的系統,除了需要一臺具有一定容量的內存及外存的計算機外,還需要有段表機制,缺段中斷機構以及地址變換機構;
4.下列不屬于文件的邏輯結構類型的是( AC)。
A.系統文件 B.流式文件
C.散列文件 D.記錄式文件
解析:文件的邏輯結構:邏輯結構有兩種形式:①記錄式文件(有結構式文件).②字符流式文件(無結構式文件),也稱流式文件。
文件的物理結構的形式:①連續文件結構 ②串聯文件結構③索引文件結構④散列文件結構。
5. 操作系統的基本特征不包含(BD)
A.并發 B.方便 C.共享 D.高效 E.虛擬 F.異步
解析:計算機操作系統的最基本特征分別是并發、共享、虛擬、異步。
6. 下列選項中,屬于多道程序設計的基本特征是(多道性、間斷性、無序性 )
A.多道性 B.順序性
C.間斷性 D.無序性
三、 判斷題。
1.信號量是一個整型變量,可以直接對其進行加1和減1的操作。錯
解析:執行減1操作需要檢查其值是否大于0。
正確說法:信號量是一個初值為非負的整型變量可在其上做加1或減1的操作。
2.通道是處理輸入/輸出的軟件 錯
解析:通道是一種特殊用途的處理器。是硬件。
3. 同一個進程內的多個線程之間共享進程的資源。 對
4. 虛擬存儲器的最大容量是任意的。 錯
解析:最大容量由地址結構決定。
實際容量由內外存之和決定。
5、對于采用鏈接分配的文件,可以進行隨機訪問。 錯
解析:常見的幾種文件的物理結構中,順序結構和鏈接結構適用于順序存取方式;文件的索引結構適用于對文件進行隨機訪問。
四、 計算題。
3、在某個請求分頁存儲系統中,已知頁面大小為1KB。現有一進程,其頁表中頁號、塊號、狀態依次為0、3、1;1、2、1;2 、4、 1;3、–、0;4、–、0。其中,狀態位為1表示該頁在內存,為0表示不在內存。
請問:
(1)若給定一邏輯地址為2249,則邏輯頁號P=(2),頁內位移W=(201),其物理地址為(4297)。
(2)若給定一邏輯地址為5001,則邏輯頁號P=(4),該頁(不在)(填在/不在)內存。
分析:畫表清晰看見:
| 0 | 3 | 1 |
| 1 | 2 | 1 |
| 2 | 4 | 1 |
| 3 | — | 0 |
| 4 | — | 0 |
邏輯地址=塊號+塊內地址
塊大小=頁大小、塊內地址=頁內地址。
頁式存儲管理的地址結構是一維的,即邏輯地址(或物理地址)只用一個數值即可表示
頁碼:p=int [A/L] 邏輯地址A,頁面的大小為L
頁內地址(頁內位移)d=A mod L
物理地址=塊的大小(即頁的大小L)*塊號f+頁內地址d
(1)若給定邏輯地址A,頁面的大小為L,則頁號p和頁內地址d可按照下式求得:p=int([A/L]=int(2249/1KB)=int(2249/1024)=2;
d=A mod L=2249mod1KB=201;
其中,int是取整函數(取數值的整數部分),mod是取余函數(取數值的余數部分)。
所以物理地址的計算公式為:物理地址=塊的大小(即頁的大小L)*塊號f+頁內地址d
于邏輯地址2249,p=2,d=201。查頁表第2頁在第4塊,所以物理地址為1024*4+201=4297。
(2)對于邏輯地址5001,p=int(5001/1024)=4,查頁號無對應塊號,該邏輯地址非法,即該頁(不在)內存
頁表的作用是實現從頁號到物理塊號的地址映射。以邏輯地址的頁號檢索頁表,得到該頁的物理塊號;同時將頁內地址d直接送入物理地址寄存器的塊內地址字段中。這樣物理塊號和塊內地址拼接成了實際訪問內存的地址,從而完成了從邏輯地址到物理地址的轉換。
變形:
【例1】考慮一個由8個頁面,每頁有1024個字節組成的邏輯空間,把它裝入到有32個物理塊的存儲器中,問:
(1)邏輯地址需要多少二進制位表示?
(2)物理地址需要多少二進制位表示?
分析在分頁存儲管理中,邏輯地址結構如下圖所示。
它由兩個部分組成:前一部分表示該地址所在頁面的頁號p;后一部分表示頁內地址(頁內位移)d。頁號的地址位數決定了頁的多少,假設頁號有20位,則地址空間中最多可容納的頁面數為2202^{20}220,即1MB個頁面。頁內地址位數確定了每頁的大小,若頁內地址為12位,則每頁大小為2122^{12}212,即4KB。
同理,物理地址中塊號的地址位數決定了塊的數量。由于頁式存儲管理內存空間塊的大小與頁面大小相同,所以物理地址中塊內地址與邏輯地址中的頁內地址位數相同。
解:因為頁面數為8=232^{3}23,故需要3位二進制數表示。每頁有1024個字節,1024=2102^{10}210,于是頁內地址需要10位二進制數表示。32個物理塊,需要5位二進制數表示(32=252^{5}25)。
(1)頁的邏輯地址由頁號和頁內地址組成,所以需要3+10=13位二進制數表示。
(2)頁的物理地址由塊號和頁內地址的拼接,所以需要5+10=15位二進制數表示。
【例2】:設用戶空間共有32個頁面,每頁1KB,主存 16KB。假定某時刻系統為用戶程序第0、1、2、 3頁分別分配的物理塊號為5、10、4、7,試將邏輯地址0A5C和093C變換為物理地址。
解析:
【例3】某虛擬存儲器的用戶編程空間共32個頁面,每頁為1KB,內存為16KB。假定某時刻一用戶頁表中已調入內存的頁面的頁號和物理塊號的對照表如下:
| 0 | 5 |
| 1 | 10 |
| 2 | 4 |
| 3 | 7 |
則邏輯地址0A5C(H)所對應的物理地址是什么?
分析:頁式存儲管理的邏輯地址分為兩部分:頁號和頁內地址。
由已知條件“用戶編程空間共32個頁面”,可知頁號部分占5位;由“每頁為1KB”,1K=2102^{10}210,可知內頁地址占10位。由“內存為16KB”,可知有16塊,塊號為4位。
邏輯地址0A5C(H)所對應的二進制表示形式是:000 1010 0101 1100,根據上面的分析,下劃線部分為頁內地址,為十位,編碼“000 10”為頁號,表示該邏輯地址對應的頁號為2。查頁表,得到物理塊號是4(十進制),即物理塊地址為:01 00 ,拼接塊內地址10 0101 1100,得01 0010 0101 1100,即125C(H)。
解邏輯地址0A5C(H)所對應的物理地址是125C(H)。
不對的地方歡迎指正,轉載請注明出處!謝謝!
總結
以上是生活随笔為你收集整理的操作系统复习题+最终版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 硬盘安装OpenBSD 3.6的方法
- 下一篇: 计算机编程入门教程