计算机操作系统课后答案 下载本文

第一章操 作系统引论

思考与练习题

1. 2. 3. 4. 5. 6. 7. 8. 9.

什么是操作系统?它的主要功能是什么?

什么是多道程序设计技术?多道程序设计技术的主要特点是什么? 批处理系统是怎样的一种操作系统?它的特点是什么?

什么是分时系统?什么是实时系统?试从交互性,及时性,独立性,多路性,可靠性等几个方面比较分时系统和实施系统。 实时系统分为哪俩种类型? 操作系统主要特征是什么?

操作系统也用户的接口有几种?它们各自用在什么场合? “操作系统是控制硬件的软件”这一说法确切吗?为什么?

设内存中有三道程序,A,B,C,它们按A~B~C的先后顺序执行,它们进行“计算”和“I/o操作”的时间如表1-2所示,假设三道程序使用相同的I/O设备。

表1-2 三道程序的操作时间 操作 程序 A B C 20 30 10 30 50 20 10 20 10 计算 I/o操作 计算 (1) 试画出单道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。 (2) 试画出多道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。 10.将下列左右两列词连接起来形成意义最恰当的5对。 DOS 网络操作系统 OS/2 自由软件 UNIX 多任务 Linux 单任务

Windows NT 为开发操作系统而设计 C语言

11.选择一个现代操作系统,查找和阅读相关的技术资料,写一篇关于操作系统如何进行内存管理、存储管理、设备管理和文件管理的文章。

答案

1. 答:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以

方便用户使用的程序集合。

2.答:把多个独立的程序同时放入内存,使她们共享系统中的资源。 1)多道,即计算机内存中同时放多道相互独立的程序。

2) 宏观上并行,是指共识进入系统的多道程序都处于运行过程。

3)微观上串行,是指在单道处理机环境下,内存中的多道程序轮流地占有CPU,交

替执行。

3.答:批处理操作系统是一种基本的操作系统类型。在该系统中用户的作业被成批地输入

到计算机中,然后在操作系统的控制下,用户的作业自动的执行。

特点是:资源利用率高。系统吞吐量大。平均周转时间长。无交互能力。

4.答:分时系统:允许多个终端用户同时使用计算机,在这样的系统中,用户感觉不到其

他用户的存在,好像独占计算机一样。实时系统:对外输入出信息,实时系统能够在规定的 时间内处理完毕并作出反应。

1)多路性:分时系统是为多个终端用户提供服务,实时系统的多路性主要表现在经

常对多路的现场信息进行采集以及多多个对象或多个执行机构进行控制。

2)独立性:每个终端向实时系统提出服务请求时,是彼此独立的工作、互不干扰。 3)及时性:实时信息处理系统与分时系统对及时性的要求类似,都以人们能够接受

的等待时间来确定。实时控制系统对一时性的要求更高,是以控制对象所要求的开始截止时间或完成截止时间来确定的。

5.答:(1)实时控制系统 (2)实时信息处理系统。 6.答:1)并发性 2)共享性 3)虚拟性 4)不确定性。 7.答:两种,命令接口 ,程序接口。

命令接口:分为联机命令接口,脱机命令接口,图形用户命令接口。方便用户直接控

制自己的作业而提供的接口。

程序接口:又称系统调用,是为了用户在程序一级访问操作系统功能而设置的。 8.答:不正确,因为操作系统不仅仅是控制硬件,同时它还控制计算机的软件。 9.(1)

20ms+30ms+10ms+30ms+50ms+20ms+10ms+20ms+10ms=200ms

(2)

20ms+30ms+10ms+40ms+20ms+10ms=130ms

10.

DOS OS/2 UNIX Linux WindowsNT

网络操作系统 自由软件 多任务 单任务

为开发操作系统而设计的C语言

第二章 进程与线程 思考与练习题

1. 操作系统中为什么要引入进程的概念?为了实现并发进程之间的合作和协调,以及保证

系统的安全,操作系统在进程管理方面要做哪些工作?

2. 试描述当前正在运行的进程状态改变时,操作系统进行进程切换的步骤。 3. 现代操作系统一般都提供多任务的环境,是回答以下问题。

(1) 为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构? (2) 为支持进程的状态变迁,系统至少应该供哪些进程控制原语? (3) 当进程的状态变迁时,相应的数据结构发生变化吗?

4. 什么是进程控制块?从进程管理、中断处理、进程通信、文件管理、设备管理及存储管

理的角度设计进程控制块应该包含的内容。

5. 假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU

在进程切换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少?

6. 试述线程的特点及其与进程之间的关系。 7. 根据图2-18,回答以下问题。

(1) 进程发生状态变迁1、3、4、6、7的原因。

(2) 系统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,这种变迁

称为因果变迁。下述变迁是否为因果变迁:3~2,4~5,7~2,3~6,是说明原因。

(3) 根据此进程状态转换图,说明该系统CPU调度的策略和效果。

8. 回答以下问题。

(1) 若系统中没有运行进程,是否一定没有就绪进程?为什么?

(2) 若系统中既没有运行进程,也没有就绪进程,系统中是佛就没有阻塞进程?解

释。

(3) 如果系统采用优先级调度策略,运行的进程是否一定是系统中优先级最高的进

程?为什么?

9. 假如有以下程序段,回答下面的问题。

S1: a=3-x; S2: b=2*a; S3: c=5+a;

(1) 并发程序执行的Bernstein 条件是什么? (2) 是画图表示它们执行时的先后次序。

(3) 利用Bernstein 条件证明,S1、S2和S3哪两个可以并发执行,哪两个不能。

答案

1. 答:①为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、

并发性、动态性和相互制约,操作系统中不得不引入进程的概念。 ②为了防止操作系统及其关键的数据结构受到用户程序破坏,将处理机分为核心态和用户态。对进程进行创建、撤销以及在某些进程状态之间的转换控制。

2. 答:①运行状态→就绪状态:此进程根据自身的情况插入到就绪队列的适当位置,系统

收回处理及转入进程调度程序重新进行调度。 ②运行状态→阻塞状态:一个进程从运行状态道阻塞状态后。系统会调用进程调度程序重新选择一个进程投入运行。 3.

(1) 答:为支持多进程的并发执行,系统必须建立的数据结构式PCB,不同状态进程的

PCB用链表组织起来,形成就绪队列、阻塞队列。

(2) 答:阻塞原句、唤醒原句、挂起原句、激活原句

(3) 答:创建原句:建立进程的PCB,并将进程投入就绪队列。 撤销原句:删除进程的PCB,并将进程在其队列中摘除。

阻塞原句:将京城PCB中进程的状态从运行状态改为阻塞状态,并将进程投入阻塞队列。

唤醒原句:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从则色队列摘下,投入到就绪队列中。

4. 答:进程控制块(PCB)是为了描述进程的动态变化而设置的一个与进程相联系的数据

结构,用于记录系统管理进程所需信息。PCB是进程存在的唯一标识,操作系统通过PCB得知进程的寻在。

为了进程管理,进程控制块包括以下几方面。

(1) 进程的描述信息,包括进程标识符、进程名等。 (2) 进程的当前状况。 (3) 当前队列链接指针。 (4) 进程的家族关系。

为了中断处理,进程控制块的内容应该包括处理机状态信息和各种寄存器的内容,如通用寄存器、指令计数器、程序状态字(PSW)寄存器及栈指针等。 为了内存管理的需要,进程控制块的内容应该包括进程使用的信号量、消息队列指针等。

为了设备管理,进程控制块的内容应该包括进程占有资源的情况。

5. 答:就绪队列中有10个进程,这10个进程轮换执行,每隔进程的运行时间是300ms,

切换另一个进程所花费的总时间是10ms,隐刺系统化在进程切换上的时间开销占系统整个时间的比例是:10//(300+10)=3.2%.

6. 答:线程是进程内的一个相对独立的运行单元,是操作系统调度和分派的单位。线程只

拥有一点必不可少的资源(一组寄存器和栈),但可以和同属于一个进程的其他线程共享进程拥有的资源。

线程是进程的一部分,是进程内的一个实体;一个进程可以有多个线程,但至少必须有一个线程。 7.

(1) 答:1表示新进程创建后,进入高优先级就绪队列;3表示进程因请求I/O活等待某

件事儿阻塞;4表示进程运行的时间片到;6表示进程I/O完成或等待的时间到达;7表示进程运行顽皮而退出。

(2) 答:3→2是因果变迁,当一个进程从运行态变为阻塞态时,此时CPU空闲,系统首

先到高优先级队列中选择一个进程投入运行。

4→5是因果变迁,当一个进程运行完毕时,此时CPU空闲,系统首先到高优先级队列中选择进程,但如果高优先级队列为空,则从低优先队列中选择一个进程投入运行。

7→2 是因果变迁,当一个进程运行完毕时,CPU空闲,系统首先到高优先级队列中选择一个进程投入运行。

3→6不是因果变迁。一个进程阻塞时由于自身的原因而发生的,和另一个进程等待的时间到达没有因果关系。

(3) 答:当进程调度时,首先从高优先级就绪队列选择一个进程,赋予它的时间片为

100ms。如果高优先级就绪队列为控,则从低优先级就绪队列选择进程,但赋予该进程的时间片为500ms。

这种策略一方面照顾了短进程,一个进程如果在100ms运行完毕它将退出系统,更主要的是照顾了I/O量大的进程,进程因I/O进入阻塞队列,当I/O完成后它就进入了高优先级就绪队列,在高优先级就绪队列等待的进程总是优于低优先级就绪队列的进程。而对于计算量较大的进程,它的计算如果在100ms的时间内不能完成,它将进入低优先级就绪队列,在这个队列的进程被选中的机会要少,只有当高优先级就绪队列为空,才从低优先级就绪队列选择进程,但对于计算量大的进程,系统给予的适当照顾时间片增大为500ms。

8.

(1) 答:是。若系统中没有运行进程,系统会马上选择一个就绪进程队列中的进程投入

运行。只有在就绪队列为空时,CPU才会空闲。

(2) 答:不一定。当系统中所有进程分别等待各自希望发生的事件时,它们都处于阻塞

状态,此时系统中既没有运行进程,也没有就绪进程。这种情况出现时,如果各个进程没有相互等待关系,只要等待的时间发生了,进程就会从等待状态转化为就绪状态。但如果处于阻塞状态的进程相互等待彼此占有的资源,系统就有可能发生死锁。

(3) 答:不一定。因为高优先级的进程有可能处于等待状态,进程调度程序只能从就绪

队列中挑选一个进程投入运行。被选中进程的优先级在就绪队列中是最高的,但在整个系统中它不一定是最高的,等待队列中进程的优先级有可能高于就绪队列中所有进程的优先级。

9.

(1) 答: P1和P2并发执行的条件是,当且仅当

R(P1)∩W(P2) ∪R(P2) ∩W(P1) ∪W(P1)∩W(P2)={}

(2)

S2 S1 S3

(3) 答:R(S1)={x},W(S2)={a},R(S2)={a},W(S2)={b},R(S3)={a},W(S3)={c}

所以W(S1) ∩R(S2)={a}, 因此S1和S2不能并发执行。

W(S1)∩R(S2)={a}, 因此S1和S3也不能并发执行。

而R(S2) ∩W(S3) ∪R(S3) ∩W(S2) ∪W(S2) ∩W(S3)={}, 因此S2和S3可以并发执行。

第三章 进程同步与通信

思考与练习题

1. 一下进程之间存在相互制约关系吗?若存在,是什么制约关系?为什么?

(1) 几个同学去图书馆借同一本书。 (2) 篮球比赛中两队同学争抢篮板球。

(3) 果汁流水线生产中捣碎、消毒、灌装、装箱等各道工序。 (4) 商品的入库出库。 (5) 工人做工与农民种粮。

2. 在操作系统中引入管程的目的是什么?条件变量的作用是什么? 3. 说明P、V操作为什么要设计成原语。

4. 设有一个售票大厅,可容纳200人购票。如果厅内不足200人则允许进入,超过则在厅

外等候;售票员某时只能给一个购票者服务,购票者买完票后就离开。试问: (1) 购票者之间是同步关系还是互斥关系? (2) 用P、V操作描述购票者的工作过程。

5. 进程之间的关系如图3-16所示,试用P、V操作描述它们之间的同步。

6. 有4个进程P1、P2、P3、P4共享一个缓冲区,进程P1向缓冲区存入消息,进程P2、

P3、P4从缓冲区中去消息,要求发送者必须等三个进程都去过本消息后才能发送下调消息。缓冲区内每次只能容纳一个消息,用P、V操作描述四个进程存取消息的情况。 7. 分析生产者——消费者问题中多个P操作颠倒引起的后果。 8. 读者——写者问题中写者优先的实现。

9. 写一个用信号量解决哲学家进餐问题不产生锁死的算法。 10. 一个文件可有若干个不同的进程所共享,每个进程具有唯一的编号。假定文件可

有满足下列限制的若干个不同的进程同时访问,并发访问该文件的哪些进程的编号的总和不得大于n,设计一个协调对该文件访问的管程。 11. 用管程解决读者——写者问题,并采用公平原则。

答案

1. (1) (2) (3) (4)

答:存在互斥关系,因为同一本书只能借给一个同学。

答:存在互斥关系,因为篮球只有一个,两队只能有一个队抢到球

答:存在同步关系,因为最后一道工序的开始依赖于前一道工序的完成。

答:存在同步关系,因为商品若没有入库就无法出库,若商品没有出库,装满了库房,也就无法再入库。

(5) 答:工人与农民之间没有相互制约关系。

2. 答:引入管程的目的是为了实现进程之间的同步和互斥。优于使用信号量在解决同步和

互斥问题时要设置多个信号量,并使用大量的P、V操作,其中P操作的排列次序不当,还会引起系统死锁,因此引入另外一种同步机制。 3. 答:用信号量S表示共享资源,其初值为1表示有一个资源。设有两个进程申请该资源,

若其中一个进程先执行P操作。P操作中的减1操作有3跳及其指令组成:去S送寄存器R;R-1送S。若P操作不用原语实现,在执行了前述三条指令中的2条,即还未执行R送S时(此时S值仍为1),进程被剥夺CPU,另一个进程执行也要执行P操作,执行后S的值为0,导致信号量的值错误。正确的结果是两个进程执行完P操作后,信号量S的值为-1,进程阻塞。 4.

(1) 答:购票者之间是互斥关系。 (2)

答: semaphore empty=200; semaphore mutex=1; void buyer() { P(empty); P(mutex);

购票; V(mutex); V(empty); } 5. 答:

semaphore a,b,c,d,e,f,g=0,0,0,0,0,0,0;

void P1() void P2() void P3() void P4() void P5() void P6() { S1; { P(a); { P(b); { P(c); { P(d); { P(e) V(a); S2; S3; S4; S5; P(f) V(b); V(e); V(c); V(f); V(g); P(g) } } V(d); } } S6; } }

6

答:

semaphore S1=1;

semaphore S2,S3,S4=0,0,0;

int count =0;

semaphore mutex=1;

void P1()/*发送进程*/ void P2()/*接收进程*/ void P3()/*接受进程*/ void P4()/*接受进程*/ { while(true) { while(true) { while(true) { while(true) { { { {

P(S1); P(S2); 发送消息; 接收消息; P(mutex); P(mutex); count=0; count=count+1; V(mutex); if (count==3) V(S1); V(S2); V(mutex)} V(S3); } V(s4);} } 7

答: semaphore mutex=1; semaphore empty=n; semaphore full=0; int i,j;

ITEM buffer[n];

ITEM data_p,data_c;

void producer()/*生产者进程*/ {while(true) {produce an item in data_p; P(mutex); P(empty); buffer[i]=data_p; i=(i+1)%n; V(mutex); V(full);} }

6.

答:semaphore Wmutex,Rmutex=1;

int Rcount=0;

semaphore mutex=1

void reader() /*读者进程*/ {while(true) {P(mutex); P(Rmutex); If(Rcount==0) P(wmutex); P(S3); P(S4);

接收消息; 接收消息; P(mutex); P(mutex);

count=count+1; count=count+1; if (count==3) V(S1); if (count==3) V(S1); V(mutex)} V(mutex)} } } void consumer() /*消费者进程*/ {while(true) {P(full); P(mutex);

data_c=buffer[j]; j=(j+1)%n; V(mutex); V(empty);

consume the item in data_c} } void writer() /*写者进程*/ {while(true) {P(mutex); P(wmutex); ?;

Rcount=Rcount+1 ; write;/*执行写操作*/ V(Rmutex); ?;

V(mutex); V(Wmutex); ?; V(mutex); read;/*执行读操作*/ }} ?;

P(Rmutex);

Rcount=Rcount-1;

if (Rcount==0) V(wmutex); V(Rmutex);} }

7.

答:semaphore chopstick[5]={1,1,1,1,1};

semaphore mutex=1;

void philosopher ()/*哲学家进餐*/ {while(true) {P(mutex);

P(chopstick[i]);

P(chopstick[(i+1)%5]); V(mutex); ?;

eat;/*进餐*/ ?;

V(chopstick[i]);

V(chopstick[(i+1)%5]); ?;

think;/*思考*/ ?;} }

第四章 调度与死锁

思考与练习题

1. 某进程被唤醒后立刻投入运行,能说明该系统采用的是可剥夺调度算法吗?

2. 在哲学家进餐问题中,如果将先拿起左边筷子的哲学家称为左撇子,先拿起右边筷子的

哲学家称为右撇子。请说明在同时存在左、右撇子的情况下,任何的就坐安排都不能产生锁死。

3. 系统中有5个资源被4个进程所共享,如果每个进程最多需要2个这种资源,试问系统

是否会产生锁死?

4. 计算机系统有8台磁带机,由N个进程竞争使用,每个进程最多需要3台。问:N为多

少时,系统没有死锁的危险?

5. 系统有5个进程,它们的到达时间和服务时间如表4-8所示。新进程(没有运行过)与

老进程(运行过的进程)的条件相同时,假定系统选新进程运行。 表4-8 进程情况 进程名 A B C D E 到达时间 0 2 4 6 8 服务时间 3 6 4 5 2 若按先来先服务(FCFS)、时间片轮法(时间片q=1)、短进程优先(SPN)、最短剩余时间优先(SRT,时间片q=1)、响应比高者优先(HRRN)及多级反馈队列(MFQ,第一个队列的时间片为1,第i(i>1)个队列的时间片q=2(i-1))算法进行CPU调度,请给出各个进程的完成时间、周转时间、带权周转时间,及所有的进程的平均周转时间和平均带权周转时间。

6. 设系统中有5个进程P1、P2、P3、P4、P5,有3种类型的资源A、B、C,其中A资源

的数量是17,B资源的数量是5,C资源的数量是20,T0时刻系统状态如表4-9所示。 表4-9 T0时刻系统状态 已分配资源数量 最大资源需求量 仍然需求资源数 进程 A B C A B C A B C P1 P2 P3 P4 P5 (1) (2) (3) (4)

2 4 4 2 3 1 0 0 0 1 2 2 5 4 4 5 5 4 4 4 5 3 0 2 2 9 6 11 5 4 3 1 0 2 1 4 3 0 2 1 7 4 6 1 0 计算每个进程还可能需要的资源,并填入表的“仍然需要资源数”的栏目。 T0时刻系统是否处于安全状态?为什么?

如果T0时刻进程P2又有新的资源请求(0,3,4),是否实施资源分配?为什么? 如果T0时刻,若进程P4又有新的资源请求(2,0,1),是否实施资源分配?为什么?

(5) 在(4)的基础上,若进程P1又有新的资源请求(0,2,0),是否实施资源分配?为

什么?

答案

1. 答:不能。如果当前就绪列队为空,这样被唤醒的进程就是就绪队列中的唯一的一个进程,于是调度程序自然选中它投入运行。

2. 答:该题的关键是证明该情况不满足产生死锁的四个必要条件之一。在死锁的四个必要条件中,本体对于互斥条件、请求与保持条件、不可剥夺条件肯定是成立的,因此必须证明环路条件不成立。

对于本体,如果存在环路条件必须是左、右的哲学家都拿起了左(或右)边的筷子,而等待右(或左)边的筷子,而这种情况只能出现在所有哲学家都是左(或右)撇子的情况下,但由于本题有右(或左)撇子存在,因此不可能出现循环等待链,所以不可能产生死锁。

3. 答:由于资源数大于进程数,所以系统中总会有一个进程获得资源数大于等于2,该进程已经满足了它的最大需求,当它运行完毕后会把它占有的资源归还给系统,此时其余3个进程也能满足最大需求而顺利运行完毕。因此系统不会产生死锁。

4. 答:当N<4时,系统没有死锁的危险。因为当N为1时,它最多需要3台磁带机,系统中共有8台,其资源数已足够一个进程使用,因此绝对不会产生死锁,,当N为2时,两个进程最多需要6台磁带机,系统中共有8台,其资源数也足够两个进程使用,因此也不会产生死锁;当N为3时,无论如何分配,3个进程中必有进程得到3台磁带机,该进程已经达到它的最大需求,当它运行完毕后可是放这3台磁带机,这就保证了其他两个进程也可顺利执行完毕。因此当N<4时,系统没有死锁的危险。

当N=4时,假设4个进程都得到两个资源,此时系统中已没有剩余资源,而4个进程都没有到达它们的最大需求,所以系统有可能产生死锁。同理,当N>4时,也有产生死锁的危险。 5.

(1)先来先服务(FCFS)

平均周转时间 T=(3+7+9+12+12)/5=43/5=8.6

平均带全周转时间 W=(1+1.17+2.25+2.4+6)/5=12.82/5=2.56 (2)采用时间片轮转(时间片q=1)

平均周转时间 T=(4+16+13+14+7)/5=54/5=10.8

平均带权周转时间 W=(1.33+2.67+3.25+2.8+3.5)/=13.55/5=2.71 (3)短进程优先(SPN)

平局周转时间 T=(3+7+11+14+3)/5=38//5=7.6

平均带权周转时间 W=(1+1.17+2.75+2.8+1.5)/5=38/5=7.6 (4)采用最短剩余时间(SRT,时间片q=1) 平局周转时间 T=(3+18+4+9+2)/5=36/5=7.2

平均带权周转时间 W(1+3+1+1.8+1)/5=7.8/5=1.56 (5)采用响应比高者优先(HRRN)

平均周转时间 T=(3+7+9+14+7)/5=40/5=8

平均带全周转时间 W=(1+1.17+2.25+2.8+3.5)/5=10.72/5=2.14 (6)采用多级反馈队列(MFQ,第1个队列的时间片为1 ,第(ii>1)个队列的时间片 q=2

(i-1))

平均周转时间 T=(3+15+14+14+6)/5=52/5=10.4

平均带权周转时间 W=(1+2.5+3.5+2.8+3)/5=12.8/5=2.56

第五章 存储管理

思考与练习题

1. 存储管理的基本任务是为多道程序的并发执行提供良好的存储环境,这包括哪些方

面?.

2. 页式存储管理系统是否产生碎片?如何应对此现象?

3. 在页式存储管理系统中页表的功能是什么?当系统的地址空间很大时会给页表的设计

带来哪些新的问题?

4. 什么是动态链接?用哪种存储管理方案可以实现动态链接?

5. 某进程的大小为25F3H字节,被分配到内存的3A6BH字节开始的地址。但进程运行时,

若使用上、下界寄存器,寄存器的值是多少?如何进行存储保护?若使用地址、限长寄存器,寄存器的值是多少?如何进行存储保护?

6. 在系统中采用可变分区存储管理,操作系统占用低地址部分的126KB,用户区的大小是

386KB,采用空闲分区表管理空闲分区。若分配时从高地址开始,对于下述的作业申请序列:作业1申请80KB;作业2申请56KB;作业3申请120KB;作业1完成;作业3完成;作业4申请156KB;作业5申请80KB。使用首次适应法处理上述作业,并回答以下问题。

(1) 画出作业1、2、3进入内存后,内存的分布情况。 (2) 画出作业1、3完成后,内存的分布情况。

(3) 画出作业4、5进入内存后,内存的分布情况。

7. 某系统采用页式存储管理策略,某进程的逻辑地址空间为32页,页的大小为2KB,物

理地址空间的大小是4MB。

8. 某页式存储管理系统,内存的大小为64KB,被分为16块,块号为0、1、2、??、15。

设某进程有4页,其页号为0、1、2、3,被分别装入内存的2、4、7、5,问: (1) 该进程的大小是多少字节?

(2) 写出该进程每一页在内存的起始地址。 (3) 逻辑地址4146对应的物理地址是多少? 9. 某段式存储管理系统的段表如图所示。

段号 段长 段始址 0 15KB 40KB 1 2 8KB 10KB 80KB 100KB 请将逻辑地址[0,137]、[1,9000]、[2,3600]、[3,230]转换成物理地址。

答案

1.答:存储管理的基本任务是为多道程序的并发执行提供良好的存储器环境,它包括以下几个方面。

(1)能让没到程序“各得其所”,并在不受干扰的环境中运行时,还可以使用户从存储空间的分配、保护等事物中解脱出来。

(2)向用户提供更大的存储空间,使更多的程序同时投入运行或是更大的程序能在小的内存中运行。

(3)为用户对信息的访问、保护、共享以及程序的动态链接、动态增长提供方便。 (4)能使存储器有较高的利用率。

2. 答:页式存储管理系统产生的碎片,称为内碎片,它是指一个进程的最后一页没有沾满一个存储块而被浪费的存储空间。减少内碎片的办法是减少页的大小。

3. 答:页式存储管理系统中,允许将进程的每一页离散地存储在内出的任何一个物理页面上,为保证进程的正常运行,系统建立了页表,记录了进城每一页被分配在内存的物理号。也表的功能是实现从页号到物理块的地址映射。

当系统地址很大时,页表也会变得非常大,它将占有相当大的内存空间。

4. 答:动态链接是指进程在运行时,只将进程对应的主程序段装入内存,并与主程序段链接上。通常一个大的程序是由一个主程序和若干个子陈旭以及一些数据段组成。而段式存储管理方案中的段就是按用户的逻辑段自然形成的,因此可实现动态链接。

5. 答:

(1)若使用上下界寄存器,上界寄存器的值是3A6BH,下界寄存器的值是3A6BH+25F3H=605EH,当访问内存的地址大于605EH、小于3A6BH时产生越界中断。 (2) 若使用地址、限长寄存器,地址寄存器的值是3A6BH,限长寄存器的值是25F3H,当访问内存的地址小于3A6BH,超过3A6BH+25F3H=605EH时产生越界中断。

7. (1)写出逻辑地址的格式。

答:进程的逻辑地址空间为32页,故逻辑地址中的页号需要5位(二进制),由于每

页的大小为2KB,因此页内位移需用11位(二进制)表示,这样,逻辑地址格式如图所示。 15 11 10 0 页号 页内位移 (2)该进程的页表有多少项?每项至少占多少位?

答:因为进程的逻辑地址空间为32页,因此该进程的页表项有32项。页表中应存储

每页的块号。因为物理地址空间大小是4MB,4MB的物理地址空间内分成4MB/2KB=2K个块,因此块号部分需要11位(二进制),所以页表中每项占11位。

8. (1)该进程的大小是多少字节?

答:内存的大小为64位,被分为16块,所以块的大小是64KB/16=4KB。因为块的大小与页面的大小相等,所以页的大小是4KB。该进程的大小是4X4KB=16KB.

(2)写出该进程每一页在内存的起始地址。

答:因为进程页号为0、1、2、3,被分别装入内存的2、4、7、5。 第0页在内存的起始地址是:2X4KB=8KB

第1页在内存的起始地址是:4X4KB=16KB 第2页在内存的起始地址是:7X4KB=28KB 第3页在内存的起始地址是:5X4KB=20KB (3)逻辑地址4146对应的物理地址是多少?

答:逻辑地址4146对应的物理地址:4146/4096=1,??,50。逻辑地址4146对应的页号为1,页内位移为50。查找页表,得知页号为1的存储块号为4,所以逻辑地址4146对应的物理跨地址是:4X4096+50=16434。 9.

答:(1)对于逻辑地址[0,137],段号为0,段内位移为137。查段表的0项得到该段的段

始址为40KB段长为15KB。由于段号0小于进程的总段数,故段号合法;段内位移137小于段长15KB,故段内地址合法。因此可得到物理地址为:40KB+137B=40960B+137B=41097B。

(2)对于逻辑地址[1,9000],段号为1,段内位移为9000。查段表的1项得到该段的

段始址为80KB,段长为8KB。由于段号1小于进程的总数

(3)对于逻辑地址[2,3600],段号为2,段内位移为3600。差段表的2项得到该段的

段始址为100KB,段长为10KB,故段内地址合法。因此可得到物理地址为:100KB+3600B=102400B+3600B=106000B。

第六章 虚拟存储管理

思考与练习题

1. 试说明缺页与一般中段的主要区别。

2. 局布置换和全局置换有何区别?在多道程序系统中建议使用哪一种? 3. 虚拟存储的特征是什么?虚拟存储器的容量受到哪两个方面的限制?

4. 已知页面走向是1、2、1、3、1、2、4、2、1、3、4,且进程开始执行时,内存中没有

页面,若给该进程分配2个物理块,当采用以下算法时的缺页率是多少? (1) 先进先出置换算法。

(2) 假如有一种页面置换算法,它总是淘汰刚使用过的页面。

5. 在请求页式存储管理系统中,使用先进先出(FIFO)页面置换算法,会产生一种奇怪的

现象:分配给进程的页数越多,进程执行时的却也次数反而越高。试举例说明这一现象。 6. 某请求页式系统中,页的大小为100字,一个程序的大小为1200字,可能的访问序列

如下:10、205、110、40、314、432、320、225、80、130、272、420、128,若系统采用LRU置换算法,当分配给该进程的物理块数为3时,给出进程驻留的各个页面的变化情况、页面淘汰情况及缺页次数。

7. 在一个采用局部置换策略的请求页式系统中,分配中给进程的物理块数为4,其中存放

的4个页面的情况如表。

当发生缺页时,分别采用下列页面置换算法时,讲置换哪一页?并解释原因。 进程4个页面的情况 页号 存储块号 加载时间 访问时间 访问位 修改位 0 2 30 160 0 1 1 1 160 157 0 0 2 0 10 162 1 0 3 3 220 165 1 1 OPT(最佳)置换算法;

FIFO(先进先出)置换算法; LRU(最近最少使用)置换算法; Clock置换算法。

某虚拟存储器的用户空间有32个页面,每页1KB,内存大小为16KB,假设某时刻系统为用户的第0、1、2、3页分配得物理块号是5、10、4、7,而该用户进程的长度是6页。试将以下16进制的虚拟地址转换成物理地址。

(1)0X0A5C (2)0X103C (3)0X257B (4)0X8A4C

8. 在请求页式存储管理系统中,页面大小是100字节,有一个50X50的数组按行连续存放,

每个整数占2字节。将数组初始化的程序如下 程序A: int i,j;

int a[50][50];

for (i=0;i<50;i++) for (j=0;j<50;j++) a[i][j]=0;

程序B: int i,j;

int a[50][50]; for (j=0;j<50;j++) for (i=0;i<50;i++) a[i][j]=0;

若在程序执行过程中,内存中只有一个页面用来存放数组的信息,试问程序A和程序B执行时产生的中断次数分别是多少?

答案

1. 答:缺页中断与一般中断一样,需要经历保护CPU香肠、分析中断原因、转中断处理程序进行及恢复中断现场等步骤。但缺页中断是一种特殊的中断,他与一般中断的区别: (1)在指令执行期间产生和处理中断,。通常cpu是在一条至六年个执行之后去检查是否有中断发生,若有边去处理中断;否则继续执行下一跳指令。而缺页中断是在指令执行期间发现所要访问的指令或数据不再内存时产生和处理中断。

(2)一条指令执行期间可能产生多次中断。对于一跳要求读取多个字节数据的指令,指令中的数据可能跨越两个页面。该指令执行时可能要发生3次中断,一次是访问指令,另外两次访问数据。

2. 答:局部置换是指当前进程在执行过程中发生缺页时,旨在分配给该进程的物理块中选择一页换出。全局置换是指在所有用户使用的整个存储空间中选择一个页面换出。 在多道程序系统中建议使用局部置换策略。这样即使某个进程出现了抖动现象,也不致引起其他程序产生抖动,从而将抖动局限在较小的范围内。

3. 答:虚拟存储器的特征有以下几个方面:

(1)离散性:指进程不必装入连续的内存空间,二十“见缝插针”。 (2)多次性:只一个进程的程序和数据要分多次调入内存。

(3)对换性:指进程在运行过程中,允许将部分程序和数据换进、换出。 (4)虚拟性:指能从逻辑上扩充内存容量。

虚拟存储器的容量主要是受计算机的地址长度和外存容量的限制。

4. (1)先进先出置换算法。

页面调度表 1 2 1 3 1 2 4 2 1 3 4 页面走向 1 1 3 3 2 2 1 1 4 物理块1 2 2 1 1 4 4 3 3 物理块2 缺页 缺 缺 缺 缺 缺 缺 缺 缺 缺 答:页面引用11次,缺页9次,缺页率为9/11=81.8%。

(3) 假如有一种页面置换算法,它总是淘汰刚使用过的页面。 页面调度表 1 2 1 3 1 2 4 2 1 3 4 页面走向 1 1 3 1 1 1 3 4 物理块1 2 2 2 4 2 2 2 物理块2 缺页 缺 缺 缺 缺 缺 缺 缺 缺 答:页面引用11次,缺页8次,缺页率为8/11=72.7%。

5. 答:如果一个进程的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,若给该进程非配3个物理块,其页面调度情况如表所示: 4 3 2 1 4 3 5 4 3 2 1 5 页面走向 4 4 4 1 1 1 5 5 5 物理块1 3 3 3 4 4 4 2 2 物理块2 2 2 2 3 3 3 1 物理块3 缺页 缺 缺 缺 缺 缺 缺 缺 缺 缺

引用12次,缺页9次。

若给该进程分配4个物理块,其页面调度情况如下: 页面走向 4 3 2 1 4 3 5 4 3 2 1 5 物理块1 4 4 4 4 5 5 5 5 1 1 物理块2 3 3 3 3 4 4 4 4 5 物理块3 2 2 2 2 3 3 3 3 物理块4 1 1 1 1 2 2 2 缺页 缺 缺 缺 缺 缺 缺 缺 缺 缺 缺 引用12次,缺页10次

6. 答:由于页的代谢奥为100字,因此访问序列10、205、110、40、314、432、320、225、80、130、272、420、128对应的页号是0、2、1、0、3、4、3、2、0、1、2、4、1。给该进程分配3个物理块,采用LRU置换算法,其页面调度情况如表。 页面走向 物理块1 物理块2 物理块3 缺页 0 2 1 0 3 4 3 2 0 1 2 4 1 0 0 0 0 0 2 2 2 2 2 2 3 3 3 3 1 1 1 1 4 4 0 0 4 缺 缺 缺 缺 缺 缺 缺 缺 缺 被淘汰的页号分别是2、1、0、4、3、0,共9次。 7.

进程4个页面的情况 页号 存储块号 加载时间 访问时间 访问位 修改位 0 2 30 160 0 1 1 1 160 157 0 0 2 0 10 162 1 0 3 3 220 165 1 1 (2) OPT(最佳)置换算法;

答:OPT(最佳)置换算法是选择永久不用的也活长时间不用的也,将其患处,题目中

没有给出页面的将来走向,所以无法判断将置换哪一页。 (3) FIFO(先进先出)置换算法;

答:FIFO(先进先出)置换算法是选择最先装入内存的页面,将其换出。从表中可知,

应考察的是页面的加载时间,加载时间最小的是10,因此最先装入内存的是第2页。

(4) LRU(最近最少使用)置换算法;

答:LRU(最近最少使用)算法时选择最近最久没有被访问的页面,将其换出。应考察

的是页面的访问时间,访问时间最小的是157,因此最近最久没有被访问的是第1页。

(5) Clock置换算法。

答:CLOCK置换算法时LRU算法的变种,他首先选择访问位和修改位均为0的一页,将

其换出。满足该条件的是第1页。

8.

(1) 0X0A5C

物理地址是0001001001011100 (2) 0X103C

产生缺页中断 (3) 0X257B

产生越界中断 (4) 0X8A4C 地址错误

9. 答:由题知,数组a中有50X50=2500个整数,每个整数占2个字节,数组共需要2X2500=5000字节。儿页面的大小是100字节,则数组占用的空间为5000/100=50页。 对于程序A:由于数组是按行存放的,而初始化数组的程序也是按行进行初始化的。

因此当缺页后调入的一页,位于该页的所有数组元素全部进行初始化,然后再调入另一页。 所以缺页的次数为50次。

对于程序B由于数组是按行存放的,而初始化数组的程序却是案例额进行初始化

的。因此当缺页后调入的一页中,位于该页撒谎能够的数组元素只有一个,所以程序B每访问一个元素长生一次缺页中断,则整个数组将长生2500次缺页。

第七章 设备管理 思考与练习题

1. 数据传输控制方式有哪几种?试比较它们的优缺点。 2. 何为设备的独立性?如何实现设备的独立性?

3. 什么是缓冲?为什么要引入缓冲?操作系统如何实现缓冲技术? 4. 设备分配中为什么可能出现死锁?

5. 以打印机为例说明SPOOLing技术的工作原理。

6. 假设一个磁盘有200个柱面,编号为0~199,当前存取臂的位置是在143号柱面上,并

刚刚完成了125号柱面的服务请求,如果存在下列请求序列:86、147、91、177、94、150、102、175、130,试问:为完成上述请求,采用下列算法时存取的移动顺序是什么?移动总量是多少?

(1) 先来先服务(FCFS)。

(2) 最短寻道时间优先(SSTF)。 (3) 扫描算法(SCAN)。

(4) 循环扫描算法(C-SCAN)。

7. 磁盘的访问时间分成三部分:寻道时间、旋转时间和数据传输时间。而优化磁盘磁道上

的信息分布能减少输入输出服务的总时间。例如,有一个文件有10个记录A,B,C,??,J存放在磁盘的某一磁道上,假定该磁盘共有10个扇区,每个扇区存放一个记录,安排如表所示。现在要从这个磁道上顺序地将A~J这10个记录读出,如果磁盘的旋转速度为20ms转一周,处理程序每读出一个记录要花4ms进行处理。试问: (1) 处理完10个记录的总时间为多少?

(2) 为了优化分布缩短处理时间,如何安排这些记录?并计算处理的总时间。

8. 假设一个磁盘有100个柱面,每个柱面有10个磁道,每个磁道有15个扇区。当进程的

要访问磁盘有12345扇区时,计算该扇区在磁盘的第几柱面、第几磁道、第几扇区? 9. 一个文件记录大小为32B,磁道输入输出以磁盘块为单位,一个盘块的大小为512B。当

用户进程顺序读文件的各个记录时,计算实际启动磁盘I/O占用整个访问请求时间的比例。

10.如果磁盘扇区的大小固定为512B,每个磁道有80个扇区,一共有4个可用的盘面。假设磁盘旋转速度是360rpm。处理机使用中断驱动方式从磁盘读取数据,每字节产生一次终端。如果处理中断需要2.5ms,试问:

(1)处理机花费在处理I/O上的时间占整个磁盘访问时间的百分比是多少(忽略寻道时间)?

(2)采用DMA方式,每个扇区产生一次中断,处理机话费在处理I/O上的时间占整个磁盘访问时间的半分比是多少?

答案

1.答:数据转送控制方式有程序直接控制方式、中断控制方式、DMA控制方式和通道方式四种。

2. 答:设备的独立性是指应用程序独立于具体使用的物理设备。此时,用户使用逻辑设备名申请使用某列物理设备。当系统中有多台该烈性的设备是,系统可将其中的任意一台分配给请求进程,而不局限于某一台制定的设备。这样,可显著的改善资源的利用率即可使用性。设备独立使用用户独立于设备的烈性。如进行输出时,亦可以使用现实终端,也可以使用打印机。有了这种独立性,就可以很方便的进行输入/输出重定向。

3. 答:缓冲是在两个不同速度设备之间传输信息时,用于平滑传输过程的一种手段。 (1)换届CPU与I/O设备之间的速度不匹配的矛盾。 (2)减少中断CPU的次数。

(3)提高CPU与I/O设备之间的并行性。

4. 答:在某些操作系统中,一个进程只能提供一个I/O请求。也就是说,执行进程向系统提出I/O请求后边立即进入等待状态,直到I/O请求完成后才被唤醒。这样系统对设备的分配比较安全,不会出现死锁。但这种方式对进程来说,因CPU与I/O设备是串行工作的,这使得该进程的推进速度缓慢。为了加快进程执行时的推进速度,是能喜剧执行,当需要是有可能接着发出第二个、第三个I/O请求,精当锁清秋的I/O设备已被另一个进程占用是,进程才进入等待状态。这种一个进程同时可以使用多个I/O设备的方式提高了系统的资源里欧你过来,但也带来了一种危险,即如果两个进程都提出请求使用对方占有的I/O设备时,就会出现死锁。

5. 答:当用户进程请求打印输出时,操作系统接受用户的打印请求,但并不真正把打印机分配给该用户进程,二十为进城再次攀上输出井中分配一空闲块区,并将要打印的数据送入其中,同时还为用户进程申请一张用户请求打印表,将用户的打印要求填入其中,再将该表挂在请求打印队列上。如果还有进程要求打印输出,系统仍可以接受请求,也可以进城完成上述操作。

6. (1)先来先服务(FCFS)。

答:移动顺序是:143、86、147、91、177、94、150、102、175、130 移动总量是:

(143-86)+(147-86)+)(147-91)+(177-91)+(177-94)+(150-94)+(150-102)

+(175-102)+(175-130)=565 (2)最短寻道时间优先(SSTF)。

答:移动顺序:143、147、150、130、102、94、91、86、175、177 移动总量是:

(147-143)+(150-147)+(150-130)+(130-102)+(102-94)+(94-91)+(91-86)+(175-86)+(177-175)=162

(3)扫描算法(SCAN)。

答:移动顺序:143、147、150、175、177、130、102、94、91、86 移动总量是:

(147-143)+(150-147)+(175-150)+(177-175)+(177-130)+(130-102)+(102-94)+(94-91)+(91-86)=125

(4)循环扫描算法(C-SCAN)。

答:移动顺序是:143、147、150、175、177、86、91、94、102、130

移动总量是:

(147-143)+(150-147)+(175-150)+(177-175)+(177-86)+(91-86)+(94-91)

+(102-94)+(130-102)=169.

7.

某文件10个记录在磁盘上的存放情况 扇区号 记录号 1 2 3 4 5 6 7 8 9 10 A B C D E F G H I J (1)处理完10个记录的总时间为多少? 答:有题目所列条件可知,磁盘的旋转速度为20ms转一周,每个此道有10个记录,因此读出1个记录的时间为20ms/10=2ms。

对于表中记录的初始分布,读出并处理记录A需要20ms+4ms=60ms。6ms后读/写头急转到了记录D出,为了读出记录B必须再转8个山区,急需要8*2ms=16ms,记录B的读取时间为2ms,处理时间为4ms,股处理记录B共花时间为:16ms+2ms+4ms=22ms。后续8个记录的读取时间与记录B相同。所以处理10记录的总时间是:9*22ms+6ms=204ms。 (2)为了优化分布缩短处理时间,如何安排这些记录?并计算处理的总时间。

答:为了缩短处理时间应按图琐事安排这些记录。 经优化处理后,读出并处理记录A后,读/写头刚好转到记录B的开始出,因此立即可读取并处理记录B,后续记录的读取与处理情况相同。股处理10个记录的总时间为10*(2ms+4ms)=60ms。

8.答:有题目一直,磁盘每个柱面有10个磁头,每个此道有15个15个山区。则每个柱面的山区数位10*15=150.13524/150=90余24,故13524所在煮面为90.24/15=1余9,故13524再次头号为1,山区为9。综上所述,13524山区所在的磁盘地址为:第90号柱面,第1号磁头,第9号扇区。

9.答:有题目可知,盘快的大小为512B,一个文件记录大小为32B雇一个盘快包含的记录数为:512/32=16。显然在访问16个记录中,只需要一次激动磁盘,故事集启动磁盘I/O占用整个访问请求的比例为1/16=6.25%

10.(1)处理机花费在处理I/O上的时间占整个磁盘访问时间的百分比是多少(忽略寻道时间)? 答:(512*2.5)/((1/12+1/480)+(512*2.5))*100%=99.9%

(2)采用DMA方式,每个扇区产生一次中断,处理机话费在处理I/O上的时间占整个磁盘访问时间的半分比是多少?

答:2.5/((1/12+1/480)+2.5)*100%=96.7%

第八章 文件管理

思考与练习题

1. 文件系统要解决的问题有哪些?

2. 许多操作系统中提供了文件重命名功能,它能赋予文件一个新的名字。若进行文件复制,

并给复制文件起一个新的名字,然后删除旧文件,也能达到给文件重命名的目的。是问这个方法在实现上有何不同?

3. 使用文件系统时,通常要显式地进行Open()与Close()操作。试问:

(1) 这样做的目的是什么?

(2) 能够取消显式地Open()与Close()操作么?若能,怎样做? (3) 取消显式地Open()与Close()操作有什么不利影响? 4. 文件目录的作用是什么?文件目录项通常包含哪些内容?

5. 文件物理结构中的链接分配方式有几种实现方法?各什么特点?

6. 设某文件A由100个物理块组成,现分别用连续文件,链接文件和索引文件来构造。针

对3种不同的结构,执行以下操作时各需要多少次从洗盘I/O? (1) 将一物理块加到文件头部。 (2) 将一物理块加到文件正中间。 (3) 将一物理块加到文件尾部。

7. 文件系统用混合方式管理存储文件的物理块,设块的大小为512B,每个块号占3B,如

果不考虑逻辑块号在物理块中所占的位置,求二级索引和三级索引时可寻址的文件最大长度。

8. 一个计算机系统中,文件控制块占64B,磁盘块的大小为1KB,采用一级目录,假定目

录中有3200个目录,问查找一个文件平均需要访问磁盘多少次? 9.假定磁盘块的大小是1KB,对于1GB的磁盘,其文件分配表FAT需要占用多少存储空间?当硬盘的容量为10GB时,FAT需要占用多少空间?

10.UNIX系统中采用索引节点表示文件的组织,在每个索引节点中,假定有12个直接块指针,分别有一个一级、二级和三级间接指针。此外,假定系统盘块大小为8KB。如果盘快指针用32位表示,其中8位用于标识物理磁盘号,24位用于标识磁盘块号。问:

(1) 该系统支持的最大文件长度是多少? (2) 该系统支持的最大文件系统分别是多少?

(3) 假定主存中除了文件索引节点外没有其他信息,访问位置在12345678字节时,

需要访问磁盘多少次?

11.磁盘文件的物理结构采用链接分配方式,文件A有10个记录,每个记录的长度为256B存放在5个磁盘块中,每个盘块中放2个记录,如表所示。若要访问该文件的第1580字节,问:

(1)应访问那个盘块才能将该字节的内容读出? (2)要访问几次几盘才能将该字节的内容读出?

12.有一个磁盘共有10个盘面,每个盘面上有100个此道,没个此道有16个山区,每个扇区有512字节。假定文件分配以扇区为单位,若使用位示图来管理磁盘空间,问:

(1)磁盘的容量有多大?

(2)位示图需要占用多少空间?

(3)若空白文件目录的每个表目占5字节,什么时候空白文件目录占用空间大于位示图?

答案

1.答:文件系统的目标是提高存储空间的利用率,他要解决的主要问题有:完成文件存储空间的管理,实现文件名到物理地址的转换,实现文件的目录操作,提高文件共享能力和保护措施,提供友好的用户接口。文件系统向用户提供了有关文件的目录操作的各种功能接口和系统调用,如命令接口,成寻接口和图形用户接口。

2.答:给文件重命名,用户必须提供两个参数:旧文件名和新文件名。实现该功能是,系统使用旧文件名查找文件目录,若找到旧文件名所在的目录表项,则将目录表箱中文件名字段对应的值改为新文件名值。从视线上看,文件重命名功能完成的工作室修改表项中的文件名字段,出文件名外,文件的其他属性都未改变。 3.

(1)这样做的目的是什么?

答:显式操作完成文件的打开功能,它将访问文件的目录信息读入内存活动文件表,建立起用户进程与文件的联系。显式操作完成文件关闭操作,该操作删除内存中有关该文件的目录信息,切断用户与该文件的联系。若在文件打开期间,该文件做过某些修改,还应将其写回磁盘。

(2)能够取消显式地Open()与Close()操作么?若能,怎样做?

答:可以取消显式的OPEN与CLOSE操作。如果取消了显式地OPEN与CLOSE操作,系统在进行文件操作之前需要半段文件是否已经打开,若文件为打开,则应自动完成文件的打开功能,已建立用户与文件之间的联系。同时,在系统结束时,还应该自动关闭所有打开的文件。

(3)取消显式地Open()与Close()操作有什么不利影响?

答:取消显示的OPEN雨CLOSE操作是的文件低些的系统开销增加。因为每次读写文件之前都需要半段文件是否打开,若为打开,还要完成打开操作。系统在结束时也要做一些额外的工作,已完成CLOSE操作所完成的功能。当用户进程已完成对一个文件的访问单进程本书呢尚未执行完毕时,因无显式地CLOSE操作而无法关闭文件,从而不利于系统资源回收。

4.答:文件目录是文件名与文件所在存储位置的一张映射表。文件系统根据他实现用户安明存取文件。文件目录由若干目录项组成,每个目录项纪录一个文件的管理和控制信息。其中包括文件名、文件类型、文件在存储设备上的位置、文件的存取控制信息、文件的常见、访问和修改信息等。

5.答:文件物理结构中的链接分配方式有两种:一种是隐式的,即文件占用物理块中除存储文件信息之外,还存储有一个链接指针(即指向下一个物理块的指针);另一种是显式地,即将链接指针从物理块中提取出来,单独建立一个表,如MS-DOS操作系统采用这种方式,该表乘坐文件分配表。

隐式链接结构的文件只能采用顺序存取方法,否则效率太低。

显式链接结构的文件,优于指针单独管理,通常将文件分配表放在贮存中,无论采用顺序存取还是随机存取,其速度都差不多。

6.(1)将一物理块加到文件头部。 (2)将一物理块加到文件正中间。 (3)将一物理块加到文件尾部。 答:结论如图所示:

构造数量 连续文件 链接文件 索引文件 将一物理块加到文件头部 201 1 1 将一物理块加到文件正中间 101 52 1 将一物理块加到文件尾部 1 102 1 7. 答:由题目知,块大小为512B,每个块号占3B,一个物理块客房512/3=170个目录项。 一级索引可寻址的文件最大长度为:170*512=85KB;

二级索引可寻址的文件最大长度为:170*170*512=14450KB

三级索引可寻址的文件最大长度为:170*170*170*512=2456500KB

8. 答:3200个目录项占用的磁盘块数为: 3200*64/1024=200(块)

一级目录平均访问磁盘的次数为1/2盘块数,故平均访问磁盘100次。

9. 答:有题目可知,磁盘的大小为1GB的磁盘,磁盘块的大小为1KB,所以该磁盘共有盘块数为:1GB/1KB==1M(个)

而1MB个盘块号需要20位表示,及文件分配表的每个表亩大小为2.5B。FAT要占用

的存储空间总数为:2.5B*1M=2.5MB

当磁盘大小为10GB时,硬盘共有盘块:10GB/1KB=10M(个) 又因 8M<10M<16M

故10M个盘号要用24位二进制表示。及文件分配表的每个表亩大小为3B。FAT要占

用的存储空间总数为:3B*10M=30MB。

10.(1)该系统支持的最大文件长度是多少?

答:由题目一直,盘块指针用32位表示,即盘块指针占32/8=4B,一个索引盘块可以

存放的盘快数为:8KB/(4B)=2K,假定文件有12个直接快。分别由一个一级,二级和三级间接指针。最大文件长度是:

12*8KB+2K*8KB+2K*2K*8KB+2K*2K*2K*8KB=96KB+16MB+32GB+64TB (2)该系统支持的最大文件系统分别是多少?

答:因为24位用于标识磁盘块好,该系统支持的最大文件系统分区是:224个盘块,共

有8kb*224=128GB。

(3)假定主存中除了文件索引节点外没有其他信息,访问位置在12345678字节时,需要访问磁盘多少次?

答:假定主存中除了文件索引节点外没有其他信息,访问文件的位置为12345678B,相当于访问文件的相对块号为:

123456789/8K=1507余334.,即访问文件的第1507块,块内位移为334.系统有12个直接快,1507-12=1495,由于1507<2K,第1495号索引项应在一级简介索引块状中,股首先访问内存,得到一级间接索引快好;然后访问该简介快,得到1495号索引项对应的物理块好,最后得到块内位移为334的位置就是文件的12345678字节。

11.(1)应访问那个盘块才能将该字节的内容读出?

答:要访问该文件的第1580字节所在的相对盘块为:1580/(256*2)=3余44. (2)要访问几次几盘才能将该字节的内容读出?

答:访问磁盘2次。

12.(1)磁盘的容量有多大? 答:磁盘的容量为: 10*100*16*512B=8000KB

(2)位示图需要占用多少空间?

答:位示图用于描述山区的使用情况,每个扇区用1位表示,位示图需要存储空间为: 10*100*16=16000bit=2000B

(3)若空白文件目录的每个表目占5字节,什么时候空白文件目录占用空间大于位示图? 答:由题目所致,空白文件目录的每个表目占5B,更具上诉计算位示图需要2000B, 2000/5=400 所以当空白区数目大于400时,空白文件目录占用空间大于位示图。