计算机操作系统第三版课后答案(汤子瀛等著)(全部的)0积分

更新时间:2024-01-22 13:38:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机操作系统第三版课后答案(汤子瀛等著)

计算机操作系统课后答案

计算机操作系统【第一章】

3. 试说明推动多道批处理系统形成和发展的主要动力是什么? 不断提高计算机资源利用率和系统吞吐量的需要;

4. 何谓脱机I/O和联机I/O?

a. 脱机输入输出方式(Off-Line I/O)是为了解决人机矛盾及CPU和I/O设备之间速度不匹配而提出的.

它减少了CPU的空闲等待时间,提高了I/O速度.具体内容是将用户程序和数据在一台外围机的控制

下,预先从低速输入设备输入到磁带上,当CPU需要这些程序和数据时,在直接从磁带机高速输入

到内存,从而大大加快了程序的输入过程,减少了CPU等待输入的时间,这就是脱机输入技术;当

程序运行完毕或告一段落,CPU需要输出时,无需直接把计算结果送至低速输出设备,而是高速把

结果输出到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就是

脱机输出技术.

b. 若这种输入输出操作在主机控制下进行则称之为联机输入输出方式. 5. 试说明推动分时系统形成和发展的主要动力是什么?

用户的需要.即对用户来说,更好的满足了人-机交互,共享主机以及便于用户上机的需求. 6. 试说明实时任务的类型和实时系统的类型.

a. 实时任务的类型按任务执行时是否呈现周期性来划分,分为周期性实时任务和非周期性实时任务;

---根据对截止时间的要求来划分,分为硬实时任务和软实时任务;

b. 通常把要同达行实时控制的系统统称为实时控制系统,把要求对信息进行实时处理的系统成为实时

信息处理系统.

7. 实现多道程序应解决哪些问题? a. 处理机管理问题; b. 内存管理问题; c. I/O设备管理问题; d. 文件管理问题; e. 作业管理问题.

8. 试比较单道与多道批处理系统的特点及优缺点.

a. 单道批处理系统是最早出现的一种OS,它具有自动性,顺序性和单道性的特点; ---多道批处理系统则具有调度性,无序性和多道性的特点;

b. 单道批处理系统是在解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾中形成的,旨在提高系统

资源利用率和系统吞吐量,但是仍然不能很好的利用系统资源; ---多道批处理系统是对单道批处理系统的改进,其主要优点是资源利用率高,系统吞吐量大;

第 1 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

缺点是

平均周转时间长,无交互能力.

9. 实现分时系统的关键问题是什么?应如何解决? a. 关键问题:及时接收,及时处理;

b. 对于及时接收,只需在系统中设置一多路卡,多路卡作用是使主机能同时接收用户从各个终端上输 入的数据;

---对于及时处理,应使所有的用户作业都直接进入内存,在不长的时间内,能使每个作业都运行 一次.

10 为什么要引入实时操作系统?

更好地满足实时控制领域和实时信息处理领域的需要. 度;以及方便用户使用I/O设备.

15 文件管理有哪些主要功能?其主要任务是什么?

a. 主要功能: 对文件存储空间的管理,目录管理,文件的读,写管理以及文件的共享和保护. b. 主要任务: 对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性. 16 试在交互性,及时性和可靠性方面,将分时系统与实时系统进行比较.

a. 分时系统是一种通用系统,主要用于运行终端用户程序,因而它具有较强的交互能力;而实时系统

虽然也有交互能力,但其交互能力不及前者.

b. 实时信息系统对实用性的要求与分时系统类似,都是以人所能接收的等待时间来确定;而实时控制

系统的及时性则是以控制对象所要求的开始截止时间和完成截止时间来确定的. c. 实时系统对系统的可靠性要求要比分时系统对系统的可靠性要求高. 18 试说明在MS-DOS 3.X以前的版本中,其局限性表现在哪几个方面? a. 在寻址范围上,DOS只有1MB,远远不能满足用户需要.

b. DOS试单用户单任务操作系统,不支持多任务并发执行,与实际应用相矛盾. 19 MS-DOS由哪几部分组成?每部分的主要功能是什么? 略.

20 为什么Microsoft在开发OS/2时,选中了80286芯片?

设计OS/2的主要目标之一是既能充分发挥80286处理器的能力,又能运行在8086处理器环境下开发的

程序.因为在80286内部提供了两种工作方式: 实方式和保护方式,使得Intel 80286处理器不仅提供了多

任务并发执行的硬件支持,而且还能运行所有在8086下编写的程序。 21 OS/2的主要功能是什么? a. 多任务. b. 进程管理. c. 存储器管理. d. 文件管理.

e. 应用程序接口API.

f. 表示管理.

22 多处理机OS有哪几种模式?各有何优缺点?

a. 2种模式: 非对称多处理模式(Asymmetric Multiprocessing Model)和对称多处理模式

第 2 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

(Symmetric

Multiprocesing Model).

b. 前者易于实现,但资源利用率低.

---后者优点是允许多个进程同时运行,缺点是必须小心控制I/O,以保证能将数据送至适当的处理器,

同时还必须注意使各CPU的负载平衡. 23 试说明网络OS的主要功能. a. 网络通信; b. 资源管理; c. 网络服务; d. 网络管理; e. 互操作能力.

24 试比较网络OS和分布式OS.

a. 网络OS是基于由一些互联的自主计算机系统组成的计算机网络,以计算机技术和通信技术高度发展为 基础,能实现相互通信和相互合作功能的系统.分布式OS是指多个分散的处理单元,经互联网络连接而 形成的系统.

b. 在分布性上,两者都具有分布处理功能,但网络OS的控制功能大多集中在某个(些)主机或网络服务器

中,即集中式,而分布式OS则是较均匀地分布在系统的各个站点上,是完全分布式的. ---在并行性上,分布式OS的任务分配程序可将多个任务分配到多个处理单元上而实现并行,网络OS中

通常无任务分配功能,每个用户的任务通常在自己(本地)的计算机上处理.

---在透明性上,两者都具透明性,但网络OS指在操作实现上的透明性,而分布式OS则在系统内部的细

节上实现了很好的隐藏,即具有物理上的透明性.

---在共享性上,分布式OS是比较完全的实现共享,而网络OS共享的资源大多是在主机或网络服务器中.

---在健壮性上,分布式系统由于处理和控制功能是分布的,还拥有容错技术实现系统重构,因而具有

很强的健壮性;而网络OS的控制功能大多集中在主机或服务器中,是系统具有潜在的不可靠性,健 壮性差.

计算机操作系统【第二章】 1. 试画出下面条语句的前趋图:

S1: a=5-x; S2: b=a*x; S3: c=4*x; S4: d=b+c; S5: e=d+3. S1->S2->S4->S5 ......../

......S3

2. 试利用Bernstein条件证明上题中的S2和S3语句是可以并发执行的,而S3和S4语句是不能并发执行的? 证明:

第 3 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

R(S2)={x,a}, W(S2)={b}, R(S3)={x}, W(S3)={c};

可见,S2与S3的读集与写集两两不相交,S2与S3的读集之间也不相交,因而,他们满足Bernstein条件,

S2与S3语句是可以并发执行的.

同理可证S3和S4不能满足Bernstein条件,是不能并发执行的. 3. 程序并发执行为什么会产生间断性?

因为程序在并发执行过程中存在相互制约性.

5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响? 为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,而引入了进程概念.

影响: 使程序的并发执行得以实行.

6. 试从动态性,并发性和独立性上比较进程和程序?

a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,

以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体.

b. 并发性是进程的重要特征,同时也是OS的重要特征.引入进程的目的正是为了使其程序能和其它进程

的程序并发执行,而程序是不能并发执行的.

c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本

单位.而对于未建立任何进程的程序,都不能作为一个独立的单位参加运行. 7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?

a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构.PCB中记录了操作系统所需的用于

描述进程情况及控制进程运行所需的全部信息.因而它的作用是使一个在多道程序环境下不能独立运行

的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程. b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别

的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志. 9. 为什么要引入挂起状态?该状态具有哪些性质?

a. 引入挂起状态处于5中需要: 终端用户的需要,父进程的需要,操作系统的需要,对换的需要和负荷

调节的需要.

b. 处于挂起状态的进程不能接收处理机调度.

10 在进行进程切换时,所要保存的处理机状态信息主要有哪些? a. 进程当前暂存信息; b. 下一条指令地址信息;

c. 进程状态信息;

d. 过程和系统调用参数及调用地址信息. 11 试说明引起进程创建的主要事件. a. 用户登陆; b. 作业调度;

第 4 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

c. 提供服务;

d. 应用请求.

12 试说明引起进程撤消的主要事件. a. 正常结束; b. 异常结束;

c. 外界干预;

13 在创建一个进程时,需完成的主要工作是什么?

a. 操作系统发现请求创建新进程事件后,调用进程创建原语Creat(); b. 申请空白PCB; c. 为新进程分配资源; d. 初始化进程控制块; e. 将新进程插入就绪队列.

14 在撤消一个进程时,需完成的主要工作是什么? a. OS调用进程终止原语;

b. 根据被终止进程的标志符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态; c. 若被终止进程正处于执行状态,应立即中止该进程的执行,并设置调度标志为真; d. 若该进程还有子孙进程,还应将其所有子孙进程予以终止;

e. 将该进程所拥有的全部资源,或者归还给其父进程,或者归还给系统;

f. 将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息. 15 试说明引起进程阻塞或被唤醒的主要事件是什么? a. 请求系统服务;

b. 启动某种操作; c. 新数据尚未到达; d. 无新工作可做.

17 什么是用户级线程和内核级线程?并对它们进行比较.

a. 内核级线程是依赖于内核的,它存在于用户进程和系统进程中,它们的创建,撤消和切换都由内核

实现;

---用户级线程仅存在于用户级中,它们的创建,撤消和切换不利用系统调用来实现,因而与内核无关,

内核并不知道用户级线程的存在.

b. 内核级线程的调度和切换与进程十分相似,调度方式采用抢占式和非抢占式,调度算法采用时间轮转

法和优先权算法等,当由线程调度选中一个线程后,再将处理器分配给它;而用户级线程通常发生在

一个应用程序的诸线程之间,无需终端进入OS内核,切换规则也较简单,因而,用户级线程的切换

速度较快.

---用户级线程调用系统调用和调度另一个进程执行时,内核把它们看作是整个进程的行为,内核级线程

调用是以线程为单位,内核把系统调用看作是该线程的行为.

---对于用户级线程调用,进程的执行速度随着所含线程数目的增加而降低,对于内核级线程则相反.

18 在Solaris OS中,设置了哪几种线程?轻型线程的作用是什么?

第 5 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

a. 用户级线程,内核级线程和轻型线程;

b. 作用: 由LWP实现了在内核与用户级线程之间的隔离,从而使用户级线程与内核无关. 19 在Solaris OS中,用户级线程是通过什么方式来访问内核的?

通过LWP来访问内核. LWP可为内核所识别,但不能识别用户级线程,通过建立用户级线程与LWP之间的

连接,可以实现用户级线程与内核的通信.

计算机操作系统【第三章】

1. 什么是临界资源和临界区?

a. 一次仅允许一个进程使用的资源成为临界资源. b. 在每个进程中,访问临界资源的那段程序称为临界区. 4. 试从物理概念上来说明记录型信号量和wait和signal操作?

(有待讨论).

5. 你认为整型信号量机制和记录型信号量机制,是否完全遵循了同步机构的四条准则? a. 在整型信号量机制中,未遵循\让权等待\的准则.

b. 记录型信号量机制完全遵循了同步机构的\空闲让进,忙则等待,有限等待,让权等待\四条准则.

8. 我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时,表示锁已打开.试写出开锁原语和关锁原语,并利用它们去实现互斥. 开锁原语: unlock(W): W=0;

关锁原语: lock(W);

if(W==1) do no_op; W=1;

利用开关锁原语实现互斥: var W: semaphore:=0; begin parbegin process : begin repeat lock(W); critical section unlock(W); remainder section until false; end

parend

10 试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法. 设初始值为1的信号量c[I]表示I号筷子被拿(I=1,2,3,4,...,2n),其中n为自然数. send(I): Begin

第 6 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

if I mod 2==1 then {

P(c[I]);

P(c[I-1 mod 5]); Eat;

V(c[I-1 mod 5]); V(c[I]); } else {

P(c[I-1 mod 5]); P(c[I]); Eat; V(c[I]); V(c[I-1 mod 5]); }

End

11 在测量控制系统中的数据采集任务,把所采集的数据送一单缓冲区;计算任务从该单缓冲中取出数据

进行计算.试写出利用信号量机制实现两者共享单缓冲的同步算法. int mutex=1; int empty=n; int full=0; int in=0; int out=0; main() { cobegin send(); obtain(); coend } send() { while(1) { .

.

collect data in nextp; . .

wait(empty); wait(mutex); buffer(in)=nextp;

第 7 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

in=(in+1) mod n; signal(mutex); signal(full); }

}//send obtain() { while(1) { wait(full); wait(mutex);

nextc:=buffer(out); out:=(out+1) mod n; signal(mutex);

signal(empty);

culculate the data in nextc;

}//while }//obtain

12 画图说明管程由哪几部分组成?为什么要引入条件变量?

管程由三部分组成:局部于管程的共享变量说明;对该数据结构进行操作的一组过程;对局部于管程的

数据设置初始值的语句. (图见P80)

因为调用wait原语后,使进程等待的原因有多种,为了区别它们,引入了条件变量. 13 如何利用管程来解决生产者-消费者问题? (见P82)

14 什么是AND信号量?试利用AND信号量写出生产者-消费者问题的解法.

为解决并行所带来的死锁问题,在wait操作中引入AND条件,其基本思想是将进程在整个运行过程中所

需要的所有临界资源,一次性地全部分配给进程,用完后一次性释放. 解决生产者-消费者问题可描述如下: var mutex,empty,full: semaphore:=1,n,0; buffer: array[0,...,n-1] of item; in,out: integer:=0,0; begin

parbegin

producer: begin repeat . .

produce an item in nextp; .

.

wait(empty);

wait(s1,s2,s3,...,sn); //s1,s2,...,sn为执行生产者进程除empty外其余的条件

第 8 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

wait(mutex); buffer(in):=nextp; in:=(in+1) mod n; signal(mutex); signal(full); signal(s1,s2,s3,...,sn); until false; end

consumer: begin repeat

wait(full);

wait(k1,k2,k3,...,kn); //k1,k2,...,kn为执行消费者进程除full外其余的条件 wait(mutex);

nextc:=buffer(out); out:=(out+1) mod n; signal(mutex);

signal(empty);

signal(k1,k2,k3,...,kn); consume the item in nextc; until false; end

parend end

15 在单处理机环境下,进程间有哪几种通信方式? a. 共享存储器系统通信方式; b. 消息传递系统通信方式; c. 管道通信方式.

16 试比较进程间的低级通信工具与高级通信工具.

用户用低级通信工具实现进程通信很不方便,因为其效率低,通信对用户不透明,所有的操作都必须

由程序员来实现. 而高级通信工具则可弥补这些缺陷,用户可直接利用操作系统所提供的一组通信命令,

高效地传送大量的数据.

17 消息队列通信机制应有哪几方面功能? 略

18 试比较消息队列与管道通信机制.

a. 所谓管道,是指用于连接一个读进程和一个写进程,以实现它们之间通信的共享文件,又称pipe文件.

管道通信是属于共享存储器系统的.

b. 消息队列通信机制属于消息传递系统通信机制,存在通信链路,有消息的格式,有若干缓冲队列,

采用独特的发送原语和接收原语. (详见P89-90) 10.试比较FCFS和SPF两种进程调度算法

答:FCFS进程调度算法:一种最简单的调度算法,比较有利于长作业(进程),而不利于

第 9 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

短作业(进程)

SPF进程调度算法:对短作业或短进程优先调度的算法。该算法对长作业不利。

计算机操作系统【第四章】

2. 在作业调度中需做出哪两个决定? a. 接纳多少个作业; b. 接纳哪些作业.

4. 在OS中引起进程调度的主要因素有哪些? (有待讨论)

5. 选择调度方式和调度算法时,应遵循的准则是什么?

a. 面向用户的准则有周转时间短,响应时间快,截止时间的保证,以及优先权准则. b. 面向系统的准则有系统吞吐量高,处理机利用率好,各类资源的平衡利用. 6. 在批处理系统,分时系统和实时系统中,各采用哪几种进程(作业)调度算法? (有待讨论)

7. 为什么说多级反馈队列能较好地满足各种用户的需要?

a. 对于终端型作业用户,由于终端型作业用户所提交的作业,大都属于交互型作业,系统只要能使

这些作业(进程)在第一队列所规定的时间片内完成,便可使终端型作业用户都感到满意. b. 对于短批处理作业用户,很短的批处理型作业如果仅在第一队列中执行一个时间片即可完成,便可

---获得与终端型作业一样的相应时间.对于稍长的作业,通常也只需在第二队列和第三队列中各执行

---一个时间片即可完成,其周转时间仍然很短.

c. 对于长批处理作业用户,用户也不必担心其作业长期得不到处理.

8. 在按时间片轮转调度算法中,在确定时间片的大小时,应考虑哪些因素? a. 系统对相应时间的要求; b. 就绪队列中进程的数目;

c. 系统的处理能力.

9. 为实现实时调度,对实时系统提出了哪些要求? a. 要提供必要的调度信息;

b. 在调度方式上要具体情况具体分析; c. 要具有快速响应外部中断的能力;

d. 快速任务分派.

10 目前常用的调度方式和算法,能否应用到实时系统中?

a. 对于时间片轮转调度算法,是一种常用于分时系统的调度算法;

b. 对于非抢占式优先权调度算法,可用于要求不太严格的实时控制系统中;

c. 对于基于时钟中断抢占的优先权调度算法,有很好的响应效果,可用于大多数的实时系统中;

d. 对于立即抢占(Immediate Preemption)的优先权调度,要求操作系统具有快速响应外部时间的能力.

11 在多处理机系统中,比较有代表性的线程调度方式有哪几种? a. 自调度方式; b. 成组调度;

c. 专用处理机分配调度方式.

第 10 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

12 试比较自调度和成组调度?

a. 自调度方式是系统中有一个公共的线程或进程的就绪队列,所有的处理机在空闲时,都可自己从

---该队列中取出一个进程或线程运行;

b. 成组调度是由系统将一组相关的进程或线程,同时分配到一组处理机上运行,进程或线程与处理机 ---一一对应;

c. 在一般情况下,成组调度的性能优于自调度,因为自调度存在瓶颈,低效,线程切换频繁等问题,而

---成组调度可减少线程的切换和调度的开销,因而目前得到了广泛的认可. 13 在OS/2中采用哪种调度方式和调度算法?

在OS/2中采用的是抢占式调度方式,多优先级的抢占式调度算法.

.

15 在解决死锁问题的几个方法中,哪种方法最容易实现?哪种方法使资源的利用率最高? a. 解决死锁可归纳为四种方法: 预防死锁,避免死锁,检测死锁和解除死锁; b. 其中,预防死锁是最容易实现的;

c. 避免死锁使资源的利用率最高.

16 请详细说明可通过哪些途径预防死锁?

a. 摈弃\请求和保持\条件,就是如果系统有足够的资源,便一次性地把进程所需的所有资源分配给它;

b. 摈弃\不剥夺\条件,就是已经保持了资源的进程,当它提出新的资源请求而不能立即得到满足时,

---必须释放它已经保持的所有资源,待以后需要时再重新申请; c. 摈弃\环路等待\条件,就是将所有资源按类型排序标号,所有进程对资源的请求必须严格按序号递增 ---的次序提出.

.

2. 何谓静态链接及装入时动态链接和运行时的动态链接?

a. 静态链接是指事先进行链接形成一个完整的装入模块,以后不再拆开的链接方---式; b. 装入时动态链接是指目标模块在装入内存时,边装入边链接的链接方式; c. 运行时的动态链接是将某些目标模块的链接推迟到执行时才进行. 3. 在进行程序链接时,应完成哪些工作? a. 对相对地址进行修改; b. 变换外部调用符号.

4. 在动态分区分配方式中,可利用哪些分区分配算法? a. 首次适应算法; b. 循环首次适应算法;

c. 最佳适应算法.

5. 在动态分区分配方式中,应如何将各空闲分区链接成空闲分区链?

应在每个分区的起始地址部分,设置一些用于控制分区分配的信息,以及用于链接各分区的前向指针;

在分区尾部则设置一后向指针,通过前,后向指针将所有的分区链接成一个双向链. 7. 试用类Pascal语言来描述首次适应算法进行内存分配的过程. (略)

第 11 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

8. 在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?

a. 回收区与插入点的前一个分区相邻接,此时可将回收区与插入点的前一分区合并,不再为回收分区

---分配新表项,而只修改前邻接分区的大小;

b. 回收分区与插入点的后一分区相邻接,此时合并两区,然后用回收区的首址作为新空闲区的首址,大

---小为两者之和;

c. 回收区同时与插入点的前后两个分区邻接,此时将三个分区合并,使用前邻接分区的首址,大小为

---三区之和,取消后邻接分区的表项;

d. 回收区没有邻接空闲分区,则应为回收区单独建立一个新表项,填写回收区的首址和大小,并根据

---其首址,插入到空闲链中的适当位置. 9. 在系统中引入对换后带有哪些好处?

能将内存中暂时不运行的进程或暂时不用的程序和数据,换到外存上,以腾出足够的内存空间,把已

具备运行条件的进程或进程所需的程序和数据换入内存,从而大大地提高了内存的利用率. 10 为实现对换,系统应具备哪几方面功能? a. 对对换空间的管理; b. 进程的换出; c. 进程的换入.

11 在以进程为单位进行对换时,每次是否都将整个进程换出?为什么? a. 以进程为单位进行对换时,每次都将整个进程换出; b. 目的为了解决内存紧张的问题,提高内存的利用率.

12 为实现分页存储管理,需要哪些硬件支持?你认为以Intel 8086,MC68000, Intel 80286为芯片的微机,是否适合于实现分页管理? (有待讨论)

13 请较详细地说明,引入分页存储管理(估计印错了,是分段存储管理)是为了满足用户哪几方面的需要? a. 方便了编程; b. 实现了分段共享; c. 实现了分段保护; d. 实现了动态链接; e. 实现了动态增长.

14 在具有快表的段页式存储管理方式中,如何实现地址变换?

首先,必须配置一段表寄存器,在其中存放段表始址和段长TL. 进行地址变换时,先利用段号S,与段长TL

进行比较,若S=TL,表示段号太大,访问越界,产生越界中断信号)于是利用段表

始址和段号来求出该段对应的段表项在段表中的位置,从中求出该段的页表始址,并利用逻辑地址中的段

内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再用块号b和页内地址构成物理地址.

15 为什么说分段系统较之分页系统更易于实现信息共享和保护?

第 12 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

a. 对于分页系统,每个页面是分散存储的,为了实现信息共享和保护,则页面之间需要一一对应起来,为此

---需要建立大量的页表项;

b. 而对于分段系统,每个段都从0开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需

---为所要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应起来即可.

2. 一个计算机系统的虚拟存储器,其最大容量和实际容量分别由什么决定? a. 最大容量由内存和外存之和决定; b. 实际容量由内存决定.

4. 实现虚拟存储器要那些硬件支持?

a. 对于为实现请求分页存储管理方式的系统,除了需要一台具有一定容量的内存及外存的计算机外,还

---需要有页表机制,缺页中断机构以及地址变换机构;

b. 对于为实现请求分段存储管理方式的系统,除了需要一台具有一定容量的内存及外存的计算机外,还

---需要有段表机制,缺段中断机构以及地址变换机构; 5. 在实现虚拟存储器时的几个关键技术是什么? (有待讨论)

6. 在请求分页系统中,页表应包括那些数据项?每项的作用是什么? (同第一题)

7. 在请求分页系统中,应从何处将所需页面调入内存?

a. 在进行地址变换时,首先去检索快表,试图从中找出所要访问的页,若找到,便修改页表项中的访问

---位,对于写指令,还须将修改位置1,然后利用页表项中给出的物理块号和页内地址,形成物理地址;

b. 如果在快表中未找到该页的页表项,则应再到内存中去查找页表,再从找到的页表项中的状态位来

---了解该页是否已调入内存,如果该页已调入内存,应将此页的页表项写入快表,当快表已满时,应先

---调出按某种算法所确定的页的页表项,然后再写入该页的页表项;

c. 如果该页尚未调入内存,这时便应产生缺页中断,请求OS从外存中把该页调入内存; d. 外存分为文件区和对换区,若系统有足够的对换区空间,可在进程运行前,将与该进程有关的文件

---拷贝到对换区,需要时从对换区调入;

e. 若系统缺少足够的对换区空间,则凡是不会被修改的文件,可直接从文件区调入,需换出时可不必

---写入外存,但对于可能被修改的部分,在将它们换出时,便须调到对换区,以后需要时再从对换区

---调入.

8. 在请求分页系统中,常采用哪几种页面置换算法? a. 最佳置换算法; b. 先进先出算法;

c. 最近最久未使用LRU置换算法;

第 13 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

d. Clock置换算法;

e. 此外,还有最少使用置换算法和页面缓冲算法.

9. 某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB. 假定某时刻 ---为用户的第0,1,2,3页分别分配的物理块号为5,10,4,7,试将虚拟地址 ---0A5C和093C变换为物理地址.

a. 将0A5C变换为2进制为: 0000,1010,0101,1100,由于页面大小为1KB约为2的10次方,所以0A5C的页号

---为2,对应的物理块号为:4,所以虚拟地址0A5C的物理地址为125C;

b. 将093C变换为2进制为: 0000,1001,0011,1100,页号也为2,对应的物理块号也为4,此时虚拟地址

---093C的物理地址为113C.

10 在请求分页系统中,通常采用那种页面分配方式?为什么?

a. 在请求分页系统中,有固定和可变分配两种分配方式;

b. 采用固定分配方式是基于进程的类型(交互型)或根据程序员,系统管理员的建议,为每个进程分配

---一固定页数的内存空间,在整个运行期间不再改变;

c. 采用可变分配方式有全局置换和局部置换两种,前者易于实现,后者效率高.

b. 当分配给该作业的物理块数M为4时,所发生的缺页率为4,缺页率为: 4/12=0.333. 12 在置换算法中,LRU和LFU哪个更常用?为什么?

a. LRU与LFU置换算法的页面的访问图完全相同,即使用的硬件是相同的; b. 但是LFU并不能真正访问反映出页面的使用情况. 13 实现LRU算法所需的硬件支持是什么?

a. 寄存器,用于记录某进程在内存中各页的使用情况; b. 栈,用于保存当前使用的各个页面的页面号. 15 什么是抖动? 产生抖动的原因是什么?

a. 抖动(Thrashing)就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或

---数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页

---调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,以致花费大量的

---时间,我们称这种现象为\抖动\

b. 产生抖动的原因是由于CPU的利用率和多道程序度的对立统一矛盾关系引起的,为了提高CPU利用率,

---可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而

---系统的调度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程

---是处于\抖动\状态.

16 试说明请求分段系统中的缺页中断处理过程? (见P185图6-12)

17 如何实现分段共享?

a. 可在每个进程的段表中,用相应的表项来指向共享段在内存中起始地址; b. 配置相应的数据结构作为共享段表,可在段表项中设置共享进程计数Count,每调用一次

第 14 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

该共享段,

---Count指增1,每当一个进程释放一个共享段时,Count执行减1操作,若减为0,则由系统回收该共享

---段的物理内存,以及取消在共享段表中该段所对应的表项; c. 对于一个共享段,应给不同的进程以不同的存取权限; d. 不同的进程可以使用不同的段号去共享该段. 18 Intel 80386芯片可支持哪几种方式的存储管理? a. 不分段也不分页的存储管理方式; b. 分页不分段的存储管理方式; c. 分段不分页的存储管理方式; d. 分段分页存储管理方式.

19 试说明80386的分段地址变换机构的工作原理.

a. 采用段寄存器和虚地址结构; b. 在分段部件中,地址变换是将逻辑地址变换为线性地址,然后送分页部件中.(具体见P191) 20 试说明80386的两级分页地址变换机构的原理. (见P193)

21 可通过哪些途径来提高内存利用率?

(有待讨论,该题可以看成是对本章的本质内容的全面概括和总结) 计算机操作系统【第七章】 1.试画出微机和主机中常采用的I/O系统结构图。 微机中常采用的I/O系统结构图为: 主机中常采用的I/O系统结构图为: 2.试说明设备控制器的构成。 设备控制器的构成如图所示:

由上图可见,设备控制器由以下三部分组成:(1)设备控制器与处理机的接口,该接口用于实现CPU与设备控制器之间的通信,提供有三类信号线:数据线、地址线和控制线。(2 )设备控制器与设备的接口,可以有一个或多个接口,且每个接口连接一台设备。每个接口都存在数据、控制和状态三种类型的信号。(3)I/O逻辑,用于实现对设备的控制。其 通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送I/O命令,I/O逻辑对收到的命令进行译码。

3.为了实现CPU与设备控制器之间的通信,设备控制器应具有哪些功能?

为了实现CPU与设备控制器之间的通信,设备控制器应具有如下功能:(1)接受和识别命令。CPU可以向控制器发送多种不同的命令,设备控制器应能接收并识别这些命令。设置控制寄存器来存放所接收的命令和参数。(2)数据交换,指实现CPU与控制器之间、控制器与设备之间的数据交换。设置数据寄存器来存放有关数据。(3)设备状态的了解和报告。 控制器记录下所连接设备的状态以供CPU了解。为此,要在控制器中设置一状态寄存器,用其中的每一位反映设备的某一状态。(4)地址识别。配置地址译码器以便于正确识别设 备地址。

4.分别就字节多路通道、数据选择通道和数组多路通道进行解释。

① 字节多路通道含有许多非分配型子通道分别连接在低、中速I/O设备上,子通道按时间片轮转方式共享主通道,按字节方式进行数据传送。具体而言,当第一个子通道控制其I/O 设备完成一个字节的交换后,便立即腾出字节多路通道(主通道),让给第二个子通道使用;当第二个子通道也交换完一个字节后,又依样把主通道让给第三个子通道使用,以此

第 15 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

类推。转轮一周后,重又返回由第一个子通道去使用主通道。② 数组选择通道只含有一个分配型子通道,一段时间内只能执行一道通道程序、控制一台设备按数组方式进行数据传 送。通道被某台设备占用后,便一直处于独占状态,直至设备数据传输完毕释放该通道,故而通道利用率较低,主要用于连接多台高速设备。③数组多路通道是将数组选择通道传 输速率高和字节多路通道能使各子通道分时并行操作的优点相结合而形成的一种新通道。其含有多个非分配型子通道分别连接在高、中速I/O设备上,子通道按时间片轮转方式共享 主通道,按数组方式进行数据传送,因而既具有很高的数据传输速率,又能获得令人满意的通道利用率。

5.如何解决因通道不足而产生的瓶颈问题?

解决因通道不足而产生的瓶颈问题的最有效方法是增加设备到主机间的通路而不是增加通道。换言之,就是把一个设备连接到多个控制器上,而一个控制器又连接到多个通道上。 这种多通路方式不仅可以解决该瓶颈问题,而且能够提高系统的可靠性,也即不会因为个别通道或控制器的故障而使设备与存储器之间无法建立通路进行数据传输。 6.试说明I/O控制发展的主要推动因素是什么?

推动I/O控制发展的主要动力在于尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事务中解脱出来,以有更多的时间和精力去完成其数据处理任务。同时,中断机制在计算 机系统中的引入、DMA控制器的出现和通道研制的成功使I/O控制的发展具备了技术支持和成为可能。

7.有哪几种I/O控制方式?

有四种I/O控制方式,即程序I/O控制方式、中断驱动I/O控制方式、直接存储器访问DMA控制方式及I/O通道控制方式。

8.试说明DMA的工作流程。

以从磁盘读入数据为例来说明DMA方式的工作流程:当CPU要从磁盘读入一数据块时,便向磁盘控制器发送一条读命令,该命令被送入DMA控制器的命令寄存器CR中。同时,还需发送本次要将数据读入的内存起始目标地址,该地址被送入DMA控制器的内存地址寄存器MAR中;本次要读的字(节)数则送至DMA控制器的数据计数器DC中。另外,还需将磁盘中数据读取的源地址直接送到DMA控制器的I/O控制逻辑上。然后,启动DMA控制器进行数据传送。此后,CPU便可去处理其它任务,而整个的数据传送便由DMA控制器负责控制。当DMA控制器已从磁盘中读入一个字(节)的数据,并送入DMA控制器的数据寄存器DR后,再挪用一个存储器周期,将该字(节)传送到MAR所指示的内存单元中。接着,便对MAR内容加1和将DC内容减1。若DC内容减1后不为0,表示传送未完,便准备再传送下一个字(节),否则,由DMA控制器发出中断请求。参图所示: 9.引入缓冲的主要原因是什么?

操作系统引入缓冲机制的主要原因可归结为以下几点:(1)缓和CPU与I/O设备间速度不匹配的矛盾;(2)减少对CPU的中断频率,放宽对中断响应时间的限制;(3)提高CPU与 I/O设备之间的并行性。

10.为什么在单缓冲情况下,系统对一块数据的处理时间为max(C, T)+M ?

在块设备输入时,先从磁盘把一块数据输入到缓冲区,耗时为T;然后由操作系统将缓冲区数据传送给用户区,耗时为M;接下来便由CPU对这一块数据进行计算,耗时为C。在单缓冲情况下,磁盘把数据输入到缓冲区的操作和CPU对数据的计算过程可以并行展开,所以系统对每一整块数据的处理时间为max(C, T) + M。

11.为什么在双缓冲情况下,系统对一块数据的处理时间为max(C, T)

该方式又称缓冲对换方式。写入者花费时间T将数据写满一个缓冲区后再写另一个缓冲区;读出者花费时间M将一个缓冲区数据送到用户区后再传送另一个缓冲区数据,运算者读出

第 16 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

用户区进行处理。由于将数据从缓冲区传送到用户区操作必须与读用户区数据进行处理串行进行,而且它们又可以与从外存传送数据填满缓冲区的操作并行。因此耗时大约为max (C+M,T)。考虑到M是内存中数据块的“搬家”耗时,非常短暂可以省略,因此近似地认为是:max(C,T)。

12.试绘图说明把多缓冲用于输出时的情况。

把多缓冲用于输出时的情况如图所示:

13.试说明收容输入工作缓冲区和提取输出工作缓冲区的工作情况。

① 收容输入工作缓冲区的工作情况为:在输入进程需要输入数据时,调用GetBuf(EmptyQueue)过程,从EmptyQueue队列的队首摘下一个空缓冲区,把它作为收容输入工作缓冲区Hin。然后,把数据输入其中,装满后再调用PutBuf(InputQueue, Hin)过程,将该缓冲区挂在输入队列InputQueue的队尾。② 提取输出工作缓冲区的工作情况为:当要输出数据时,调用GetBuf(OutputQueue)过程,从输出队列的队首取得一装满输出数据的缓冲区作为提取输出的工作缓冲区Sout。在数据提取完后,再调用PutBuf(EmptyQueue, Sout)过程,将该缓冲区挂到空缓冲队列EmptyQueue的队尾。

14.什么是安全分配方式和不安全分配方式?

① 所谓安全分配方式,是指每当进程发出I/O请求后,便进入阻塞状态,直到其I/O操作完成时才被唤醒。在采用这种分配策略时,一旦进程已经获得某种设备(资源)后便阻塞, 使它不可能再请求任何资源,而在它运行时又不保持任何资源。因此,这种分配方式已经摒弃了造成死锁的四个必要条件之一的“请求和保持”条件,所以分配是安全的。其缺点 是进程进展缓慢,即CPU与I/O设备是串行工作的。② 所谓不安全分配方式,是指进程发出I/O请求后仍继续执行,需要时又可发出第二个I/O请求、第三个I/O请求。仅当进程所请求的设备已被另一个进程占有时,进程才进入阻塞状态。其优点是一个进程可同时操作多个设备,从而使进程推进迅速。而缺点是分配不安全,因为它可能具有“请求和保持”条 件,所以可能造成死锁。因此,在设备分配程序中还需增加一个功能,用于对本次的设备分配是否会发生死锁进行安全性计算,仅当计算结果说明分配是安全的情况下才进行分配。 15.为什么要引入设备独立性?如何实现设备独立性? 在现代操作系统中,为了提高系统的可适应性和可扩展性,都毫无例外地实现了设备独立性,也即设备无关性。其基本含义是,应用程序独立于具体使用的物理设备,即应用程序

以逻辑设备名称来请求使用某类设备。进一步说,在实现了设备独立性的功能后,可带来两方面的好处:(1)设备分配时的灵活性;(2)易于实现I/O重定向(指用于I/O操作的设 备可以更换即重定向,而不必改变应用程序)。

为了实现设备的独立性,应引入逻辑设备和物理设备两个概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统执行时,是使用物理设备名称。鉴于驱动程序是一 个与硬件(或设备)紧密相关的软件,必须在驱动程序之上设置一层软件,称为设备独立性软件,以执行所有设备的公有操作、完成逻辑设备名到物理设备名的转换(为此应设置 一张逻辑设备表)并向用户层(或文件层)软件提供统一接口,从而实现设备的独立性。 16.在考虑到设备的独立性时,应如何分配独占设备?

在考虑到设备的独立性时,应按如下步骤来分配独占设备:(1)进程以逻辑设备名提出I/O请求。(2)根据逻辑设备表相应表项获得I/O请求的逻辑设备对应类型的物理设备在系 统设备表中的指针。(3)从指针所指位置起顺序检索系统设备表,直到找到一个属于对应I/O请求所用类型、空闲可用且基于设备分配安全性算法验证为安全分配的设备的设备控 制表,将对应设备分配给请同达程;如果未找到安全可用的空闲设备,则把请同达程的进程控制块挂到相应类型设备的等待队列上等待唤醒和分配。(4)系统把设备分配给I/O请 同达程后,再到该设备的设备控制表中找出与其相连接的控制器的控制器控制表,根据其状

第 17 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

态字段判断该控制器是否忙碌,若忙则把请同达程的进程控制块挂到该控制器的等待队 列上;否则将该控制器分配给进程。(5)系统把控制器分配给I/O请同达程后,再到该控制器的控制器控制表中找出与其相连接的通道的通道控制表,根据其状态字段判断该通道 是否忙碌,若忙则把请同达程的进程控制块挂到该通道的等待队列上;否则将该通道分配给进程。(6)只有在设备、控制器和通道三者都分配成功时,这次的设备分配才算成功,然后便可启动设备进行数据传送。

17.什么是虚拟设备?其实现所依赖的关键技术有哪些?

通过虚拟技术可将一台独占设备变换成若干台逻辑设备,供若干个用户(进程)同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。其实现所依赖的关键技术是SPOOLING技术。

18.试说明SPOOLING系统的组成。

SPOOLing系统是对脱机I/O工作的模拟,其必须有高速随机外存(通常采用磁盘)的支持。SPOOLING系统主要有以下四个部分:(1)输入井和输出井,为磁盘上开辟的两大存储空 间,分别模拟脱机输入/出时的磁盘,并用于收容I/O设备输入的数据和用户程序的输出数据;(2)输入缓冲区和输出缓冲区,在内存中开辟,分别用于暂存由输入设备和输出井送 来的数据;(3)输入进程SPi和输出进程SPo,分别模拟脱机输入/出时的外围控制机,用于控制I/O过程;(4)I/O请求队列,由系统为各个I/O请同达程建立的I/O请求表构成的队 列。

19.在实现后台打印时,SPOOLING系统应为请求I/O的进程提供哪些服务?

在实现后台打印时,SPOOLING系统应为请求I/O的进程提供以下服务:(1)由输出进程在输出井中为之申请一空闲盘块区,并将要打印的数据送入其中;(2)输出进程再为用户进 程申请一张空白的用户打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上。(3)一旦打印机空闲,输出进程便从请求打印队列的队首取出一张请求打印表,根 据表中的要求将要打印的数据从输出井传送到内存缓冲区,再由打印机进行打印。 20.试说明设备驱动程序具有哪些特点?

设备驱动程序具有如下特点:(1)驱动程序主要是在请求I/O的进程与设备控制器之间的一个通信程序;(2)驱动程序与I/O设备的特性紧密相关;(3)驱动程序与I/O控制方式 紧密相关;(4)驱动程序与硬件紧密相关,因而其中的一部分程序必须用汇编语言书写,且基本部分往往已被固化在ROM中。

21.试说明设备驱动程序应具有哪些功能?

设备驱动程序的主要功能包括:(1)将接收到的抽象要求转为具体要求;(2)检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式;(3)发出 I/O命令,启动分配到的I/O设备,完成指定的I/O操作;(4)及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理;(5)对于设置有通 道的计算机系统,驱动程序还应该能够根据用户的I/O请求,自动地构成通道程序。 22.设备驱动程序通常要完成哪些工作?

设备驱动程序通常要完成以下工作:(1)将抽象要求转换为具体要求;(2)检查I/O请求的合法性;(3)读出和检查设备的状态;(4)传送必要的参数;(5)设置工作方式; (6)启动I/O设备。

23.设备中断处理程序通常需完成哪些工作? 设备中断处理程序通常需完成如下工作:(1)唤醒被阻塞的驱动程序进程;(2)保护被中断进程的CPU环境;(3)分析中断原因、转入相应的设备中断处理程序;(4)进行中断处理;(5)恢复被中断进程的现场。

计算机操作系统【第八章】

第 18 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

1. 分别就数据项、记录和文件的概念进行解释。

数据项可分为基本数据项和组合数据项。基本数据项是用于描述一个对象某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,又称为原子数据、数据元素或字段,其 具有数据名、数据类型及数据值三个特性。组合数据项则由若干数据项构成。记录是一组相关数据项的集合,用于描述一个对象某方面的属性。文件是具有文件名的一组相关信息的集合。

2. 按文件的物理结构,可将文件分为哪几类?

按文件的物理结构,可将文件分为三类:(1)顺序文件,指把逻辑文件中的记录顺序地存储到连续的物理盘块中;(2)链接文件,指文件中的各个记录可以存放在不相邻的各个 物理块中,但通过物理块中的链接指针,将它们链接成一个链表;(3)索引文件,指文件中的各个记录可以存放在不相邻的各个物理块中,但通过为每个文件建立一张索引表来实 现记录和物理块之间的映射关系。

3. 文件系统的模型可分为三层,试说明其每一层所包含的基本内容。 答: 文件系统模型如图所示:

(1)最低层为对象及其属性说明,主要包括文件、目录、磁盘存储空间等三类对象。(2)最高层是文件系统提供给用户的接口,分为命令接口、程序接口和图形化用户接口等三 种类型。(3)中间层是对对象进行操纵和管理的软件集合,是文件系统的核心部分,拥有文件存储空间管理、文件目录管理、地址映射、文件读写管理及文件共享与保护等诸多功 能。具体又可分为四个子层:①I/O控制层(又称为设备驱动程序层),主要由磁盘驱动程序和磁带驱动程序组成,负责启动I/O设备和对设备发来的中断信号进行处理;②基本文 件系统层(又称为物理I/O层),主要用于处理内存与磁盘或磁带机系统之间数据块的交换,通过向I/O控制层发送通用指令及读写的物理盘块号与缓冲区号等I/O参数来完成;③基 本I/O管理程序层(即文件组织模块层),负责完成与磁盘I/O有关的大量事务,包括文件所在设备的选定、文件逻辑块号到物理块号的转换、空闲盘块的管理及I/O缓冲的指定等; ④逻辑文件系统层,负责所读写的文件逻辑块号的确定、目录项的创建与修改、文件与记录的保护等。 文件系统接口

对对象操纵和管理的软件集合 逻辑文件系统 基本I/O管理程序(文件组织模块) 基本文件系统(物理I/O层) I/O控制层(设备驱动程序) 对象及其属性说明

4. 对于一个较完善的文件系统,应具备哪些功能? 对于一个较完善的文件系统,应具备一系列的功能,包括对文件存储空间的管理、目录管理、文件的读写管理以及文件的共享与保护等。其中,有些功能对用户是透明的,就呈现 在用户面前的功能来说,可通过用户对文件所能施加的操作来表现。对文件的操作可分为两大类:一类是对文件自身的操作,包括文件的创建、删除、读、写、截断及文件读/写位 置的设置;一类是对记录的操作,包括记录的遍历(即检索所有记录)、单个记录的检索以及记录的插入、修改和删除。

5. 什么是文件的逻辑结构?什么是文件的物理结构?

文件的逻辑结构是指从用户的观点出发所观察到的文件组织形式,也就是用户可以直接处理的数据及其结构,它独立于物理特性;而文件的物理结构则是指文件在外存上的存储组 织形式,与存储介质的存储性能有关。

6. 你认为内存管理和外存管理有哪些相同点和不同点?

第 19 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

内存管理和外存管理均追求存储空间利用率的提高,都具有存储空间的分配与回收、地址映射、共享与保护等功能。但二者的目的和任务不同,因而技术侧重点也有所不同。具体 而言,内存管理着眼于为多道程序的运行提供良好的环境,以进程作为分配对象,并要求能从逻辑上扩充内存;而外存管理则着眼于为每个文件分配必要的外存空间,并能有助于 提高文件系统的工作速度特别是文件的访问速度。

7. 如何提高对变长记录顺序文件的检索速度? 为了提高对变长记录顺序文件的检索速度,可为其建立一张索引表,以主文件中每条记录的长度及指向对应记录的指针(即该记录在逻辑地址空间的首址)作为相应每个表项的内 容。由于索引表本身是一个定长记录的顺序文件,若将其按记录键排序,则可以实现对主文件的方便快速的直接存取。需要指出的是,如果文件较大,应通过建立分组多级索引以 进一步提高检索效率。

8. 试说明关于索引文件和索引顺序文件的检索方法。

答:①对索引文件进行检索时,首先根据用户(程序)提供的关键字,并利用折半查找法检索索引表,从中找到相应的表项;再利用该表项中给出的指向记录的指针值,去访问对 应的记录。②对索引顺序文件进行检索时,首先利用用户(程序)提供的关键字以及某种查找方法,去检索索引表,找到该记录所在记录组中的第一条记录的表项,从中得到该记 录组第一个记录在主文件中的位置;然后再利用顺序查找法去查找主文件,从而找到所要求的记录。

索引文件的检索:首先是根据用户(程序)提供的关键字,并利用折半查找法,去检索索引表,从中找到相应的项,再利用该表项中给出的指向记录的指针值,去访问所需的记录 。 索引顺序文件检索:首先利用用户(程序)提供的关键字以及某种查找方法,去检索索引表,找到该记录所在记录组中第一个记录的表项,从中得到该记录组第一个记

录在主文件中的位置;然后,再利用顺序查找法去查找主文件,从中找到所要求的记录。 9. 试从检索速度和存储费用两方面对索引文件和索引顺序文件进行比较。

假设主文件拥有N条记录。对于索引文件,主文件的每条记录均需配置一个索引项,故存储开销为N;而为检索到具有指定关键字的记录,平均需要查找N/2条记录。对于索引顺序文件,应为每个记录分组配置一个索引项,故存储开销为N1/2;而为检索到具有指定关键字的记录,平均需要查找N 1/ 2条记录。对于两级索引顺序文件,存储开销为N2/3+N1/3;而为检索到具有指定关键字的记录,平均需要查找1.5N1/3条记录。 10.目录管理主要有哪些要求? 答:对文件目录的管理有以下要求: a) 实现“按名存取”

b) 提高对目录的检索速度 c) 文件共享

d) 允许文件重名

11.采用单级目录能否满足目录管理的主要要求?

采用单级目录只能实现目录管理的基本功能(即文件的按名存取),而对于其它三项要求则不能满足。

12.目前广泛采用的目录结构形式是什么?它有什么优点?

目前广泛采用的目录结构形式是树型目录结构,其具有检索效率高、允许重名、便于实现文件共享等一系列优点。

13.Hash检索法有何优点?有何局限性?

又称杂凑结构或散列结构。这种结构只适用于定长记录文件和按记录随机查找的访问方式。 Hash结构的思想是通过计算来确定一个记录在存储设备上的存储位置,依次先后存入的两

第 20 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

个记录在物理设备上不一定相邻。按Hash结构组织文件的两个关键问题是: 定义一个杂凑函数; 解决冲突;

14.在Hash检索法中,如何解决“冲突”问题?

15.解释关于树型目录结构采用线性检索法的检索过程。

假设用户给定的文件路径名为/Level1/Level2/?/Leveln/datafile,则关于树型目录结构采用线性检索法检索该文件的基本过程为:①读入第一个文件分量名Level1,用它与根目 录文件(或当前目录文件)中各个目录项的文件名顺序地进行比较,从中找出匹配者,并得到匹配项的索引结点号,再从对应索引结点中获知Level1目录文件所在的盘块号,将相 应盘块读入内存。②对于2~n,循环执行以下步骤,以检索各级目录文件:读入第i个文件分量名Leveli,用它与最新调入内存的当前目录文件中各个目录项的文件名顺序地进行比 较,从中找出匹配者,并得到匹配项的索引结点号,再从对应索引结点中获知Leveli目录文件所在的盘块号,将相应盘块读入内存。③读入最后一个文件分量名即datafile,用它 与第n级目录文件中各个目录项的文件名进行比较,从而得到该文件对应的索引结点号,进而找到该文件物理地址,目录查找操作成功结束。如果在上述查找过程中,发现任何一个 文件分量名未能找到,则停止查找并返回“文件未找到”的出错信息。

16.基于索引结点的共享方式有哪些优缺点?

就基于索引结点的共享方式而言,其优点在于“建立新的共享链接,并不改变文件拥有者的关系,仅把索引结点共享计数器加1,所以系统可方便获悉由多少个目录项指向该文件” 。同时,该方式也存在所谓“悬空指针”的问题和缺点。具体而言,文件拥有者不能删除自己的文件,否则将留下指向该结点的悬空指针,造成该结点再分配时,系统出错;为此 ,拥有者只能清除自己的目录项,且要为其它共享者无端付费,直至其它共有者清除该文件? 17.基于符号链的文件共享方式有哪些优缺点? 就基于符号链的文件共享方式来说,只有文件主才拥有指向其索引结点的指针,而共享该文件的其它用户只有该文件的路径名且没有指向索引结点的指针,所以也就不会发生在文 件主删除共享文件后留下所谓“悬空指针”的问题。当文件拥有者把一个共享文件删除后,其它用户试图通过符号链来访问一个被删除的共享文件时将因系统找不到该文件而使访 问失败,于是将符号链删除,此时不会有任何其它负面效应。当然,这种方式也存在自己的问题。在其它用户访问共享文件时,系统是根据给定的文件路径名,逐个分量地去查找 目录,直至找到该文件的索引结点。因此,在访问共享文件时要多次读盘,使每次访问文件的系统开销加大,且增加了启动磁盘的频率。此外,要为每个共享用户建立一条符号链 ,而该链实际上是一个文件,尽管该文件非常简单,却仍需为之配置一个索引结点,故而也要消耗一定的磁盘空间。需要指出的是,本共享方式还有一个特殊的优点,即它能够用 于链接(通过计算机网络)世界上任何地方的机器中的文件,此时只需提供该文件所在机器的网络地址以及在该机器中的文件路径。

18.什么是保护域?进程与保护域之间存在着什么动态联系?

保护域规定了进程所能访问的一组(硬件或软件)对象以及相应的操作类型(即访问权)。进程与保护域之间的动态联系是指进程的可用资源集在其整个生命周期中是变化的;也 就是说,进程运行在不同的阶段时,需要从一个保护域切换到另外一个保护域。

19.如何利用拷贝权来扩散某种访问权?

如果域i具有关于对象j的某访问权access(i,j)的拷贝权,则运行在域i的进程可将其关于对象j的访问权access(i,j)扩展到访问矩阵同一列中的其它域中,即为运行在其它域的进程也赋予关于同一对象的同样访问权限(access(k,j))。 20.如何利用拥有权来增、删某种访问权?

第 21 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

如果域i具有关于对象j的所有权,则运行在域i的进程可以增加或删除在j列的任何项中的任何访问权。换言之,该进程可以增加或删除在任何其它域中运行的进程关于对象j的任何访问权。

21.增加控制权的主要目的是什么?试举例说明控制权的应用。

拷贝权和所有权均用于改变运行在不同域中的进程对同一对象的访问权,而控制权则用于改变某个域中运行进程关于不同对象的访问权。进一步说,若某域访问权access(i,j)中含 有控制权C,则运行在Di域中的进程能改变运行在Qj域中的任何进程关于任何对象的任何访问权。

22.什么是访问控制表?什么是访问权限表?

针对访问矩阵按列(对象)进行划分,为每一列建立一张访问控制表,同时将访问矩阵属于对应列的所有空项删除,故而访问控制表由有序对集{<域,权集>}所组成,可用于描述 不同用户(进程)关于同一对象的不同访问权限集。针对访问矩阵按行(域)进行划分,为每一行建立一张访问权限表,其由有序对集{<对象,权集>}所组成。当域为用户(进程) ,对象为文件时,访问权限表便可用来描述一个用户(进程)对每一个文件所能执行的一组操作。访问控制表也可用于定义各域关于某对象的缺省的访问权集,并作为资源能否使用的首要依据。

23.系统如何利用访问控制表和访问权限表来实现对文件的保护?(P252)

答:我们可利用访问矩阵来描述系统的存取控制,访问矩阵的行代表域,列代表对象,矩阵中的每一项是由一组访问权组成。

访问控制表:是指对访问矩阵列(对象)进行划分,为每一列建立一张访问控制表ACL。在该表中已经把矩阵总属于该列的所有空项删除,此时的访问控制表是由一有 序对(域,权集)所组成。系统中配置了这种表后,当某用户(进程)要访问某资源时,通常,系统首先到缺省访问控制表中去查找该用户(进程)是否具有对指定资源进行访问 的权力,如果找不到再到对应对象的访问控制表中去查找。

访问权限表:是指访问矩阵按行(即域)进行划分,由每一行构成一张访问权限表。这是一个由一个域对每一个对象可以执行的一组操作所构成的表。表中的每一项即 为该域对某一对象的访问权限。如UNIX系统中:

类型 权力 对象

文件 RW- 指向文件的指针

首先访问权限表必须是安全的,系统对其使用了特殊的保护。

目前,大多数的系统都同时采用访问控制表和访问权限表,在系统中为每个对象配置一张访问控制表。当一个进程第一次试图访问一个对象时,必须先检查访问控制表 ,检查进程是否具有对该对象的访问权,如果无权访问该对象,由系统来拒绝该进程的访问,并构成一例外(异常)事件;否则(有权访问)便允许该进程访问该对象而为之建立 一访问权限,并将它连接到该进程,以后进程便可直接利用这一返回的权限去访问该对象,这样便可快速地验证访问地合法性。当进程不再需要对该对象进行访问时,便可将访问 权限取消。

24.在对文件的四级安全管理中,每一级安全管理的主要用途是什么?(P253) 答:文件的四级安全管理措施:

(1) 系统级管理:主要任务时部允许未经核准的用户进入系统,从而也就防止了他人非法地使用系统中地各类资源。主要地方法有注册、登录、时限等等。

(2) 用户级安全管理:是为了给用户分配“文件访问权”而设计的。包括对所有用户进行分类、为指定用户分配文件访问权等。

(3) 目录级安全管理:是为了保护系统中的各种目录而设计的,它与用户权限

第 22 页 共 23 页

计算机操作系统第三版课后答案(汤子瀛等著)

无关。为保证目录的安全,规定只有系统核心才具有写目录的权利。通常,系统是分别 为用户和目录独立地指定权限的。当一用户试图访问一目录时,核心将通过对用户访问权和目录中的访问权的比较后,用户才能获得有效的访问权。

(4) 文件级安全管理:是通过系统管理员或文件主对文件属性的设置,来控制用户对文件的访问。用户对文件的访问,将由用户访问权、目录访问权限和文件属性三 者的权限所确定。

第 23 页 共 23 页

本文来源:https://www.bwwdw.com/article/fqgo.html

Top