操作系統(tǒng)(諶衛(wèi)軍 王浩娟)課后習(xí)題參考答案_第1頁(yè)
操作系統(tǒng)(諶衛(wèi)軍 王浩娟)課后習(xí)題參考答案_第2頁(yè)
操作系統(tǒng)(諶衛(wèi)軍 王浩娟)課后習(xí)題參考答案_第3頁(yè)
操作系統(tǒng)(諶衛(wèi)軍 王浩娟)課后習(xí)題參考答案_第4頁(yè)
操作系統(tǒng)(諶衛(wèi)軍 王浩娟)課后習(xí)題參考答案_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第1章概述

一、單項(xiàng)選擇題

D、A、B、A、C、D、C、A、C、B

二、填空題

Windows、linux

用戶態(tài)、內(nèi)核態(tài)

PSW

中斷

同步中斷

系統(tǒng)調(diào)用

I/O設(shè)備管理、文件系統(tǒng)

實(shí)時(shí)性、可靠性

第2章進(jìn)程管理

一、單項(xiàng)選擇題

D、D、C、D、BA、B、D^C、C

B、B、B、D、B、A、B、A

二、填空題

PCB

運(yùn)行、就像、阻塞

4、5

時(shí)間片用完

進(jìn)程管理、存儲(chǔ)管理

PCB

進(jìn)程

CPU寄存器的值、棧

競(jìng)爭(zhēng)狀態(tài)

運(yùn)行、就緒

I/O繁忙

SJF

FCFS

短進(jìn)程、I/O繁忙進(jìn)程

三、簡(jiǎn)答題

1、運(yùn)行狀態(tài)、阻塞狀態(tài)、就緒狀態(tài)

運(yùn)行。阻塞如進(jìn)行I/O操作、進(jìn)程間同步關(guān)系;

運(yùn)行->就緒時(shí)間片用完、被高優(yōu)先級(jí)進(jìn)程所打斷;

阻塞->就緒等待的I/O操作、信號(hào)量等事件發(fā)生;

就緒->運(yùn)行調(diào)度程序選中該進(jìn)程運(yùn)行;

(1)進(jìn)程是資源分配單位,擁有一個(gè)完整的資源平臺(tái),而線程只獨(dú)享必不可少的資源,如寄存器和棧;

(2)線程能減少并發(fā)執(zhí)行的時(shí)間和空間開銷,包括創(chuàng)建時(shí)間、終止時(shí)間、切換時(shí)間;

(3)線程之間可以共享同一個(gè)地址空間,可以進(jìn)行不通過(guò)內(nèi)核的通信,而進(jìn)程不行;

(4)線程=輕量級(jí)進(jìn)程;

(5)線程是CPU調(diào)度單位;

(1)當(dāng)一個(gè)新的進(jìn)程被創(chuàng)建時(shí);

(2)當(dāng)一個(gè)進(jìn)程運(yùn)行完畢時(shí);

(3)當(dāng)一個(gè)進(jìn)程由于I/O、信號(hào)量或其他的某個(gè)原因被阻塞時(shí);

(4)當(dāng)一個(gè)I/O中斷發(fā)生時(shí),表明某個(gè)I/O操作已經(jīng)完成,而等待該I/O操作的進(jìn)程轉(zhuǎn)入就緒狀態(tài);

(5)在分時(shí)系統(tǒng)中,當(dāng)一個(gè)進(jìn)程的時(shí)間片用完時(shí);

4、

RR算法的基本思路:

(1)將所有的就緒進(jìn)程按照FCFS原則,排成一個(gè)隊(duì)列;

(2)每次調(diào)度時(shí)將處理器分派給隊(duì)首進(jìn)程,讓其執(zhí)行一小段CPU時(shí)間;

(3)在一個(gè)時(shí)間片結(jié)束時(shí),如果進(jìn)程還沒(méi)有執(zhí)行完的話,將發(fā)生時(shí)鐘中斷,在時(shí)鐘中斷中,進(jìn)程調(diào)度程序?qū)和.?dāng)

前進(jìn)程的執(zhí)行,并將其送到就緒隊(duì)列的末尾,然后執(zhí)行當(dāng)前的隊(duì)首進(jìn)程;

(4)如果進(jìn)程在它的時(shí)間片用完之前就已結(jié)束或被阻塞,那么立即讓出CPU,

RR算法的主要缺點(diǎn):時(shí)間片q的大小難以確定。

5、

(1)時(shí)間片用完,高優(yōu)先級(jí)進(jìn)程就緒

(2)不會(huì)發(fā)生切換

(3)PCB

(4)不需要

(5)不能

四、應(yīng)用題

1、

(l)CPU空閑:100ms-150ms

(2)A無(wú)等待,B有等待,180ms?200ms

2、

⑴Jobl從投入到運(yùn)行完成需要110ms,Job2從投入到運(yùn)行完成需要90ms,Job3從投入到運(yùn)行完成需要110ms:

(2)CPU的利用率:(110—30)/110=72.7%;

(3)設(shè)備II的利用率:(110-30)/110=72.7%,設(shè)備12的利用率:(110-20)/110=81.8%。

3、

(1)這種機(jī)制不能實(shí)現(xiàn)資源的互斥訪問(wèn)

考慮如下的情形:

(a)初始化的時(shí)候,flag數(shù)組的兩個(gè)元素值均為FALSE

(b)線程0先執(zhí)行,在執(zhí)行while循環(huán)語(yǔ)句的時(shí)候,由于flag[l]=FALSE,所以順利結(jié)束,不會(huì)被卡住。假設(shè)這個(gè)時(shí)

候來(lái)了一個(gè)時(shí)鐘中斷,打斷它的運(yùn)行;

(c)線程1去執(zhí)行,在執(zhí)行while循環(huán)語(yǔ)句的時(shí)候,EtlTflag[0J=FALSE,所以順利結(jié)束,不會(huì)被卡住,然后就進(jìn)入

了臨界區(qū);

(d)后來(lái)當(dāng)線程0再執(zhí)行的時(shí)候,也進(jìn)入了臨界區(qū),這樣就同時(shí)有兩個(gè)線程在臨界區(qū)

(2)可能會(huì)出現(xiàn)死鎖

考慮如下的情形:

(a)初始化的時(shí)候,flag數(shù)組的兩個(gè)元素值均為FALSE

(b)線程0先執(zhí)行,flag[0]=TRUE,假設(shè)這個(gè)時(shí)候來(lái)了一個(gè)時(shí)鐘中斷,打斷它的運(yùn)行;

(c)線程1去執(zhí)行,flag[l]=TRUE,在執(zhí)行while循環(huán)語(yǔ)句的時(shí)候,由于flag[0]=TRUE,所以在這個(gè)地方被卡住了,

直到時(shí)間片用完;

(d)線程0再執(zhí)行的時(shí)候,由于flag[l]=TRUE,它也在while循環(huán)語(yǔ)句的地方被卡住了,這樣,這兩個(gè)線程都無(wú)法執(zhí)

行下去,從而死鎖。

4、

(1)最后打印了3個(gè)字符D

(2)最少可能打印了0個(gè)字符A,例如,P1連續(xù)執(zhí)行了3次,然后P3連續(xù)執(zhí)行了3次。P2一次也沒(méi)有執(zhí)行。

(3)不可能,因?yàn)楫?dāng)打印出前面的“CABAB”的時(shí)候,信號(hào)量R的值等于1,此時(shí),不可能連續(xù)打印兩個(gè)D。

(4)可能。相當(dāng)于進(jìn)程P2在打印完第二個(gè)A的時(shí)候被中斷了。

5、

(1)信號(hào)量的定義:

intboys_wailing=0,girls_waiting=0,using=0;

SemaphoreS_mutex=1,S_boys=0,S_girls=0;

(2)

voidboy_wants_to_use_bathroom()

(

P(S_mutex);

if((using==0)&&(girls_waiting==0))

(

using=1;

V(S_mutex);

)

else

(

boys_waiting++;

V(S_mutex);

P(S_boys);

(3)

voidboy_leaves_bathroom()

(

P(S_mutex);

if(girls_waiting>0)

(

girls_waiting—;

V(S_girls);

)

elseif(boys_waiting>0)

(

boys_waiting—;

V(S_boys);

else

using=0;

}

V(S_mutex);

voidgirl_wants_to_use_bathroom()

(

P(S_mutex);

if(using==0)

(

using=1;

V(S_mutex);

}

else

(

girls_waiting++;

V(S_mutex);

P(S_girls);

(5)

voidgirl_leaves_bathroom()

(

P(S_mutex);

if(girls_waiting>0)

(

girls_waiting—;

V(S_girls);

)

elseif(boys_waiting>0)

(

boys_waiting—;

V(S_boys);

else

using=0;

V(S_mutex);

(l)FCFS算法:

周轉(zhuǎn)時(shí)間:Pl:52,P2:68,P3:136,P4:164

平均周轉(zhuǎn)時(shí)間:105

(2)SJF算法:

周轉(zhuǎn)時(shí)間:Pl:96,P2:16,P3:164,P4:44

平均周轉(zhuǎn)時(shí)間:80

(3)RR算法:

周轉(zhuǎn)時(shí)間:P1:136,P2:36,P3:164,P4:124

平均周轉(zhuǎn)時(shí)間:115

7、

(1)不可搶占的SJF算法:

執(zhí)行順序:Pl(0-l4)P4(14-18)P3(18-25)P5(25-32)P2(32-44)

Pl:14;P2:44-3=41;P3:25-5=20;P4:18-7=11;P5:32-19=13

平均周轉(zhuǎn)時(shí)間:(14+41+20+11+13)/5=19.8

⑵可搶占的SJF算法:

執(zhí)行順序:Pl、P3、P4、P3、PkP5、P2

Pl:25-0=25;P2:44-3=41;P3=16-5=11;P4=11-7=4;P5=32-19=13

平均周轉(zhuǎn)時(shí)間:(25+41+11+4+13)/5=18.8

(3)時(shí)間片輪轉(zhuǎn)RR算法:

執(zhí)行順序:Pl,P2、Pl、P3、P4、P2、PI、P3、P5、P2、Pl、P5

PI:41P2:39-3=36P3:31-5=26;P4:20-7=13;P5=44-19=25

平均周轉(zhuǎn)時(shí)間:(41+36+26+13+25)/5=28.2

8、

(1)不正確,可能導(dǎo)致死鎖

例如,開始時(shí)緩沖區(qū)為空,消費(fèi)者先運(yùn)行,通過(guò)了P(S_Mutex),由于此時(shí)S_ProductNum為0,所以在P(S_ProductNum)

處被阻塞,而生產(chǎn)者會(huì)在P(S_Mutex)處被阻塞,從而死鎖。

再比如:開始時(shí)緩沖區(qū)滿了,生產(chǎn)者先運(yùn)行,通過(guò)了P(S_Mutex),由于此時(shí)S_BufferNum為0,所以在P(S_BufferNum)

處被阻塞,而消費(fèi)者會(huì)在P(S_Mutex)處被阻塞,從而死鎖。

(2)不正確,可能導(dǎo)致死鎖

例如,假設(shè)現(xiàn)在緩沖區(qū)已經(jīng)滿了,然后生產(chǎn)者先運(yùn)行,通過(guò)了P(S_Mutex),在P(S_BufferNUM)處被阻塞,然后

消費(fèi)者執(zhí)行,在P(S_Mutex)處被阻塞,從而死鎖。

(3)正確

缺點(diǎn)是降低了并發(fā)性,應(yīng)該在離開臨界區(qū)后立即釋放互斥信號(hào)量,這樣才能提高進(jìn)程之間的并發(fā)性。

第3章死鎖

一、選擇題

D^B、C、D、C

二、填空題

競(jìng)爭(zhēng)資源

CPU、內(nèi)存

不對(duì)

互斥條件、請(qǐng)求和保持條件

環(huán)路

2個(gè)

死鎖避免

剝奪資源、進(jìn)程回退、撤消進(jìn)程

三、應(yīng)用題

1、

令Rl+R2+...+Rn=n+k0<=k<m

由于C1+C2+…+Cn+R1+R2+..+Rn<n+m

所以C1+C2+...+Cn<m-k

所以剩余的資源個(gè)數(shù)A=m-(Cl+C2+...+Cn)>k,即A>=k+1

而對(duì)于每一個(gè)進(jìn)程Pi,Ri<=k+1,所以任何一個(gè)進(jìn)程的資源請(qǐng)求都能夠滿足。

2、

當(dāng)N=l、2、3時(shí)都不會(huì)發(fā)生死鎖的危險(xiǎn)。

當(dāng)N=3時(shí),在最壞情形下,每個(gè)進(jìn)程都需要4臺(tái)磁帶機(jī),且假定每個(gè)進(jìn)程都己經(jīng)得到了3個(gè)資源,那么此時(shí)系統(tǒng)

中還剩下1個(gè)可用資源,可以把該資源分配給任何一個(gè)進(jìn)程,當(dāng)該進(jìn)程得到資源后,可以運(yùn)行完畢,并釋放所占用的

所有4個(gè)資源,這樣,剩余的2個(gè)進(jìn)程都可以順利地運(yùn)行完畢。

3、

(1)系統(tǒng)處于安全狀態(tài)1分

當(dāng)前剩余資源向量A=(2,1,1),調(diào)度順序?yàn)椋?/p>

P4、*、*、*或者

P3,*,*,*

⑵不能,如果分配的話,系統(tǒng)將處于不安全的狀態(tài)。

如果給它的話,那么當(dāng)前剩余資源向量A=(0,1,1),無(wú)法把它分配給任何一個(gè)線程。

請(qǐng)求矩陣變?yōu)?/p>

021

410

100

200

4、

(1)該狀態(tài)是一個(gè)安全狀態(tài)

安全序列:Pl、P4、P5、P2、P3(或者PlP4P2P5P3或PlP4P2P3P5);

(2)不能把資源分配給它,否則的話會(huì)進(jìn)入不安全的狀態(tài)。

5、

請(qǐng)求矩陣:

P1347

P2134

P3006

P4221

P5110

剩余向量(233)

(1)是,P4(437){P2,P3,P5}P1;或者P5(547)然后任意順序

⑵不能,資源不夠

(3)能,順序P4(437){P2,P3,P5}P1

請(qǐng)求矩陣:

P1347

P2134

P3006

P4020

P5110

剩余向量(032)

⑷不能,找不到安全序列。

6、

證明:假設(shè)出現(xiàn)了死鎖,則必然存在一條環(huán)路,如下圖所示:

Pml->Rnl->Pm2->Rn2->Pm3->Rn3->...->Pmk->Rnk->

如題所述,存在如下的關(guān)系:

Rnl<Rn2<Rn3<...<Rnl

矛盾,因此不可能出現(xiàn)這種環(huán)路,即不可能出現(xiàn)死鎖。

第4章存儲(chǔ)管理

一、選擇題

C、C、B、B、C、C、B、B、A

A^D、A、C

二、填空題

寄存器、高速緩存

內(nèi)存、硬盤

外碎片

內(nèi)存緊縮

MMU

邏輯地址、物理地址

可變分區(qū)

內(nèi)存分區(qū)起始地址、段長(zhǎng)

可變分區(qū)

固定分區(qū)

邏輯頁(yè)面、物理頁(yè)面

操作系統(tǒng)

TLB

2次

對(duì)

數(shù)組(結(jié)構(gòu)體數(shù)組)

局部性理論

內(nèi)存大小/頁(yè)面大小

不是

FIFO

工作集

內(nèi)存大小/頁(yè)面大小

三、簡(jiǎn)答題

1、

(1)會(huì)有外碎片的問(wèn)題。

用戶給出的請(qǐng)求大小是不同的,在經(jīng)過(guò)不斷的申請(qǐng)和釋放以后,有一些小的空閑

塊被夾在其他已分配的數(shù)據(jù)塊之間,無(wú)法被利用,成為外碎片。

(2)會(huì)有內(nèi)碎片的問(wèn)題。

由于用戶申請(qǐng)的空間必須是100的整數(shù)倍,即使用戶只需要4個(gè)字節(jié)的內(nèi)存空間,

也必須去申請(qǐng)100個(gè)字節(jié)的內(nèi)存空間,因此剩下的96個(gè)字節(jié)就變成了內(nèi)碎片。

2、

(1)在編譯時(shí)確定。

(2)代碼段

(3)全局變量gvCh由于沒(méi)有設(shè)置初始值,所以放在bss段當(dāng)中。

全局變量gvlnt有初始值,所以放在data段當(dāng)中。

數(shù)組array是main函數(shù)的局部變量,所以存放在棧當(dāng)中。

(4)指針p存放在棧當(dāng)中。*(p+l)所描述的內(nèi)存單元位于堆空間

(1)局部性原理:指程序在執(zhí)行過(guò)程中的一個(gè)較短時(shí)期,所執(zhí)行的指令地址和指令的操作數(shù)地址,分別局限于一定

區(qū)域。

(2)虛擬存儲(chǔ)技術(shù)、LRU頁(yè)面置換算法、CPU的cache、TLB,文件系統(tǒng)中的緩沖區(qū)。

(1)這兩個(gè)寄存器的內(nèi)容在進(jìn)程切換的時(shí)候需要更新;

(2)由操作系統(tǒng)來(lái)負(fù)責(zé)更新;

(3)它們的內(nèi)容平時(shí)存放在進(jìn)程的PCB當(dāng)中,在進(jìn)程切換的時(shí)候裝入到寄存器當(dāng)中

(1)頁(yè)表給出了邏輯頁(yè)面號(hào)和物理頁(yè)面號(hào)之間的映射關(guān)系。

(2)頁(yè)表存放在內(nèi)存中,在OS內(nèi)核的數(shù)據(jù)結(jié)構(gòu)中。

(3)頁(yè)表的起始地址存放在進(jìn)程控制塊PCB中。

(4)N張頁(yè)表。

⑸對(duì)。

頁(yè)表的功能:邏輯頁(yè)面號(hào)轉(zhuǎn)換為物理頁(yè)面號(hào)

頁(yè)表項(xiàng)的格式:由CPU廠商設(shè)定

頁(yè)表項(xiàng)的內(nèi)容:由OS填寫

駐留位的功能:該頁(yè)面是否在內(nèi)存

一個(gè)進(jìn)程有多少個(gè)頁(yè)表項(xiàng):邏輯地址空間/頁(yè)面大小

四、應(yīng)用題

1、

(1)最先匹配法:無(wú)法滿足要求(1分),在申請(qǐng)96K存儲(chǔ)區(qū)時(shí),選中的是4號(hào)分區(qū):在申請(qǐng)201<時(shí)?,選中1號(hào)分區(qū);在

申請(qǐng)200K時(shí),現(xiàn)有的五個(gè)分區(qū)都無(wú)法滿足要求

(2)下次匹配法:能夠滿足要求(1分),在申請(qǐng)96K存儲(chǔ)區(qū)時(shí),選中的是5號(hào)分區(qū);在申請(qǐng)20K時(shí)?,選中1號(hào)分區(qū);在

申請(qǐng)200K時(shí),選中4號(hào)分區(qū)

(3)最佳匹配法:能夠滿足要求,在申請(qǐng)96K存儲(chǔ)區(qū)時(shí),選中的是5號(hào)分區(qū);在申請(qǐng)20K時(shí),選中1號(hào)分區(qū);在申請(qǐng)

200K時(shí),選中4號(hào)分區(qū)

(4)最壞匹配法:無(wú)法滿足要求(1分),在申請(qǐng)96K存儲(chǔ)區(qū)時(shí),選中的是4號(hào)分區(qū);在申請(qǐng)20K時(shí),選中的還是4號(hào)分

區(qū);在申請(qǐng)200K時(shí),無(wú)法滿足要求

(1)CPU必須訪問(wèn)兩次內(nèi)存才能獲得所需數(shù)據(jù),因此實(shí)現(xiàn)一次頁(yè)面訪問(wèn)的存取時(shí)間是:1.5X2=3微秒;

(2)在增加快表后,實(shí)現(xiàn)一次頁(yè)面訪問(wèn)的平均存取時(shí)間為:

0.85X1.5+(1-0.85)X2X1.5=1.725微秒

3、

(1)0x0

(2)0x20E

(3)地址越界

4、

邏輯地址物理地址邏輯地址物理地址

0x204ABC0x46ABC0x23200D0x7400D

0x1020410x100410xll03DBVirt.pagetoobig

0x304F51Invalidsegment!0x0103500x16350

5^

(1)1位、2位、3位

(2.a)34333

(2,b)寫入物理地址67345時(shí)出錯(cuò),寫保護(hù)

(2.C)段錯(cuò)誤,段號(hào)18不合法

(2.d)29806

(2.e)缺頁(yè)中斷,物理地址03097

6、

邏輯頁(yè)面號(hào):0、0、1、1、0、3、1、2、2、4、4、3

(l)OPT:5次

(2)FIFO:6次

⑶LRU:7次

⑷Clock:6次

7、

⑴FIFO優(yōu)于LRU:

3個(gè)頁(yè)面:1231423(4:6)

2個(gè)頁(yè)面:12132(3:4)

(2)HFO等于LRU:

3個(gè)頁(yè)面:123456(6:6)

2個(gè)頁(yè)面:123412(6:6)

(3)LRU優(yōu)于FIFO:

3個(gè)頁(yè)面:123141(4:5)

2個(gè)頁(yè)面:12131(3:4)

8、

每個(gè)進(jìn)程有3個(gè)頁(yè)面,其中1個(gè)存放程序,2個(gè)存放數(shù)據(jù)。

數(shù)組A有10000個(gè)整數(shù),每頁(yè)存放200個(gè),數(shù)組占用50頁(yè),順序?yàn)?

A[0][0],A[0][l],-A[0][99],A[l][0],-,A[l][99]1

A[2][0],A[2][l],-A[2][99](A[3][0],-,A[3][99]2

A[98][0],A[98][99],A[99][0],-,A[99][99]50

對(duì)于程序A:按行訪問(wèn)矩陣,訪問(wèn)的頁(yè)面號(hào)為:1,2,…,50,因此缺頁(yè)50次;

對(duì)于程序B:按列訪問(wèn)矩陣,訪問(wèn)的頁(yè)面號(hào)為:1,1,2,2,…,50,50,1,1,2,2,…,因此缺頁(yè)次數(shù)為:100X50=5000

次。

9、

⑴略

(2)379(0x17B)、缺頁(yè)中斷

10、

(1)頁(yè)面大小為4K,每個(gè)頁(yè)表項(xiàng)大小為4個(gè)字節(jié),因此在每個(gè)頁(yè)表當(dāng)中,總共有1024個(gè)頁(yè)表項(xiàng),對(duì)于每個(gè)層次的頁(yè)

表來(lái)說(shuō),都滿足這一點(diǎn),這樣每級(jí)頁(yè)表的索引均為10位,由于頁(yè)面大小為4K,所以頁(yè)內(nèi)偏移地址為12位。

邏輯地址被劃分為五個(gè)部分:

22位|10位|10位|10位|12位|

空閑一級(jí)索引二級(jí)索引三級(jí)索引頁(yè)內(nèi)偏移

可訪問(wèn)的虛擬地址空間大小為2八42=4T(2分)

(2)

假定一個(gè)頁(yè)面的大小為2AY,即頁(yè)內(nèi)偏移地址為Y位,每個(gè)頁(yè)表可以包含2^Y/8=2A(Y-3)個(gè)頁(yè)表項(xiàng),因此每級(jí)頁(yè)表

的索引位為Y-3位,總共有4級(jí)頁(yè)表,所以4(Y-3)+Y<=64

Y<=15.2因此Y=15

所以最大的頁(yè)面大小為32KB。

|1位|12位|12位|12位|12位|15位|

空閑一級(jí)索引二級(jí)索引三級(jí)索引三級(jí)索引頁(yè)內(nèi)偏移

訪問(wèn)請(qǐng)求P1-AP1-BP2-CP2-FP2-EPl-AP2-DP2-EP2-DPl-APl-B缺頁(yè)次數(shù)

AAAFFFDDDDD

全局LRU*BBBEEEEEEB8次

**CCCAAAAAA

AAAAAAAAAAA

局部FIFO*BBBBBBBBBB8次

**CFEEDEDDD

12、

(1)17CAH:頁(yè)面大小1KB,故邏輯頁(yè)面號(hào)為5。

(2)采用FIFO算法,淘汰第。頁(yè),其頁(yè)框號(hào)為7,因此物理地址為1FCAH

(3)先循環(huán)一圈,將所有訪問(wèn)位都置為0,然后回到2號(hào)頁(yè)框,將其置換,因此物理地址為0BCAH。

第5章I/O管理

一、選擇題

A、D、D、A、C、D、D、B、B、B

A、A、C、A

二、填空題

磁盤、鍵盤

設(shè)備控制器

設(shè)備獨(dú)立性

I/O獨(dú)立編址、內(nèi)存映像編址、混合編址

程序循環(huán)檢測(cè)方式、中斷驅(qū)動(dòng)方式、DMA方式

不是

設(shè)備驅(qū)動(dòng)程序

Spooling

不正確

柱面定位、旋轉(zhuǎn)延遲

15.9ms、991.7ms

三、簡(jiǎn)答題

1、

(1)控制寄存器、狀態(tài)寄存器、數(shù)據(jù)寄存器

(2)1/0獨(dú)立編址;

(3)內(nèi)存映像編址;

(4)混合編址;

2、

(1)是

(2)控制寄存器、狀態(tài)寄存器、數(shù)據(jù)寄存器

(3)設(shè)備驅(qū)動(dòng)程序

(4)I/O獨(dú)立編址、內(nèi)存映像編址或混合編址

3、

(l)CPU對(duì)DMA控制器進(jìn)行編程,告訴它應(yīng)把什么數(shù)據(jù)傳送到內(nèi)存的什么地方。并向磁盤控制器發(fā)出命令,讓它去

磁盤驅(qū)動(dòng)器中讀入所需的數(shù)據(jù)塊,保存到內(nèi)部緩沖區(qū)中,并驗(yàn)證數(shù)據(jù)的正確性;

(2)DMA控制器通過(guò)總線向磁盤控制器發(fā)出一個(gè)讀操作的信號(hào),并把將寫入的內(nèi)存地址打在總線上;

(3)磁盤控制器取出一個(gè)字節(jié),按該地址寫入內(nèi)存;

(4)磁盤控制器向DMA發(fā)一個(gè)確認(rèn)信號(hào),DMA把內(nèi)存地址加1,把字節(jié)計(jì)數(shù)器減1。若計(jì)數(shù)器的值大于0轉(zhuǎn)第2步;

(5)DMA控制器向CPU發(fā)出一個(gè)中斷,告訴它數(shù)據(jù)傳輸已完成。

4、

(1)一般可以分為4層:中斷處理程序、設(shè)備驅(qū)動(dòng)程序、設(shè)備獨(dú)立的

系統(tǒng)軟件、用戶空間的I/O軟件;

(2)其中,中斷處理程序和設(shè)備驅(qū)動(dòng)程序是與硬件設(shè)備有關(guān)的;

(3)設(shè)備獨(dú)立的系統(tǒng)軟件和用戶空間的I/O軟件是與硬件設(shè)備無(wú)關(guān)的:

5、

硬件廠商。

處于系統(tǒng)態(tài)(管態(tài))

信號(hào)量和PV操作來(lái)同步

OS設(shè)計(jì)人員

OS設(shè)計(jì)人員

6、

⑴扇區(qū)

(2)實(shí)現(xiàn)過(guò)程:

(a)讀入包含該字節(jié)的扇區(qū);

(b)修改該字節(jié);

(c)把整個(gè)扇區(qū)寫回到磁盤;

四、應(yīng)用題

1、

根據(jù)題意:

10個(gè)盤面,每個(gè)盤面有100個(gè)磁道,每個(gè)磁道有16個(gè)扇區(qū),因此總的扇區(qū)數(shù)為:10X100X16=16000

每個(gè)扇區(qū)用一個(gè)位來(lái)描述,共需要:16000/8=2000字節(jié)。

2、

磁盤訪問(wèn)時(shí)間=柱面定位+旋轉(zhuǎn)延遲+數(shù)據(jù)傳輸;

讀一個(gè)數(shù)據(jù)塊的時(shí)間為:13X6+100+25=203ms

讀取一個(gè)100塊的文件需要時(shí)間:203X100=20300ms

3、

(1)先來(lái)先服務(wù)(First-ComeFirst-Served,FCFS)

執(zhí)行順序:(40)20、44、40、4、80、12、76

移動(dòng)距離:292

柱面定位時(shí)間:876毫秒

⑵最短定位時(shí)間優(yōu)先(ShortestSeekTimeFirst,SSTF)

執(zhí)行順序:(40)40、44、20、12、4、76、80

移動(dòng)距離:120

柱面定位時(shí)間:360毫秒

(3)電梯算法(elevatoralgorithm),也叫掃描算法(SCAN)

執(zhí)行順序:(40)40、20、12、4、44、76、80

移動(dòng)距離:112

柱面定位時(shí)間:336毫秒

4、

(l)FCFS

執(zhí)行順序:(10,0,10)->(22,1,20)->(20,5,100)->(8,5,50)->(40,10,50)->(6,11,120)->(36,8,100)

移動(dòng)距離:20->10->22->20->8->40->6->36=10+12+2+12+32+34+30=132

(2)SSTF:

執(zhí)行順序:(20,5,100)->(22,1,20)->(10,0,10)->(8,5,50)->(6,11,120)->(36,8,100)->(40,10,50)

移動(dòng)距離:20->20->22->10->8->6->36->40=0+2+12+2+2+30+4=52

(3)SCAN:

執(zhí)行順序:(20,5,100)->(10,0,10)->(8,5,50)->(6,11,120)->(22,1,20)->(36,8,100)->(40,10,50)

移動(dòng)距離:20->20->10->8->6->22->36->40=0+10+2+2+16+14+4=48

(l)15.9ms

(2)2975.1ms

(3)86.4GB

(4)柱面定位、設(shè)備驅(qū)動(dòng)程序

6、

采用位圖法來(lái)管理磁盤空閑空間,每個(gè)磁盤塊的狀態(tài)用0和1表示:2KB=2*1024*8bit=16384bit

根據(jù)CSCAN算法,被訪問(wèn)的磁道號(hào)順序?yàn)?00->120->30->50->90

尋道時(shí)間:(20+90+20+40)*1ms=170ms

每分鐘6000轉(zhuǎn),轉(zhuǎn)一圈時(shí)間10ms,通過(guò)一個(gè)扇區(qū)時(shí)間0.1ms,隨機(jī)訪問(wèn)4個(gè)扇區(qū),總時(shí)間

170+(0.5*10+0.1)*4=190.4ms

第6章文件系統(tǒng)

一、選擇題

A、D、B、A、D、A、A、C、C、B

A、A,C

二、填空題

文件控制塊

FCB

文件

文件名+FCB

不對(duì)

目錄項(xiàng)

順序結(jié)構(gòu)

可變分區(qū)

打開方式、讀寫指針

位圖法、鏈表法、索引法

三、簡(jiǎn)答題

1、

(1)普通的子目錄以文件的形式存放。

根目錄單獨(dú)存放在磁盤的固定區(qū)域。

(2)目錄的屬性信息存放在目錄文件的FCB中

(3)直接法:目錄項(xiàng)=文件名+FCB。

間接法:目錄項(xiàng)=文件名+FCB的起始地址。

2、

(1)鏈表結(jié)構(gòu):把文件的各個(gè)邏輯塊依次存放在若干個(gè)(可以)不連續(xù)的物理塊當(dāng)中,各塊之間通過(guò)指針連接,前

一個(gè)物理塊指向下一個(gè)物理塊。

(2)只能進(jìn)行順序訪問(wèn),不能進(jìn)行隨機(jī)訪問(wèn)。為了訪問(wèn)一個(gè)文件的第n個(gè)邏輯塊,必須從文件的第一個(gè)物理塊開始,

按照指針?biāo)赶虻牡刂?,順序地訪問(wèn)前n個(gè)塊,即為了得到第n個(gè)邏輯塊的物理塊地址,必須先訪問(wèn)n-1次的磁盤,

速度非常慢;

(3)每個(gè)物理塊上的數(shù)據(jù)存儲(chǔ)空間不再是2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論