搜档网
当前位置:搜档网 › 自考操作系统概论课后题答案打印稿

自考操作系统概论课后题答案打印稿

第1章? 习题解答
1.计算机系统由哪两大部分组成?
答:计算机系统是能按照人的要求接受和存储信息,自动进行数据处理和计算,并输出结果信息的机器系统。计算机系统由两大部分组成:硬件(子)系统和软件(子)系统,其中硬件子系统是系统赖以工作的实体,它是有关的各种物理部件的有机的结合。软件子系统由各种程序以及程序所处理的数据组成,这些程序的主要作用是协调各个硬件部件,使整个计算机系统能够按照指定的要求进行工作。
硬件子系统包括中央处理器、主存存储器、输人输出控制系统和各种外围设备。
软件子系统包括系统软件、支援软件和应用软件三个部分。
2.什么是计算机的操作系统?
答:操作系统(Operating System缩写 OS)是一种系统软件。它对程序的执行进行控制,还使用户能方便地使用硬件提供的计算机功能,也使硬件的功能发挥得更好。它是一种用于管理计算机系统资源和控制程序执行的系统软件,它扩充系统的功能,为用户提供方便的使用接口和良好的运行环境。
3.操作系统管理哪些资源?
答:操作系统管理计算机系统的资源,其中硬件资源主要包括中央处理器、主存储器和各种外围设备;软件资源包括了程序和数据,通常这些程序和数据是以文件的方式存储和使用的。它说明资源的使用情况,实现多用户共享计算机系统的各种资源。
4.为什么要把“I/O指令”等定义为特权指令?
答:若用户程序中直接使用 I/O指令,则可能引起冲突或由于某些意外而造成错误。例如,用户程序中要启动磁带后取磁带上的信息,但可能操作员错拿了另一用户的磁带,把它以磁带机上,这时用户程序启动磁带机后从磁带上得到的信息实际上不是自己需要的,就可能造成程序执行后得到结果不正确。更糟糕的是当用户程序启动磁带机的目的是要把一些信息记到磁带上,将可能覆盖已在磁带上的信息,即把另一用户磁带上的信息破坏了。为了防止类似于这样一类的错误启动外围设备的工作不是用户程序直接做,而是由操作系统来做。
5.操作系统是如何防止用户使用特权指令的?
答:为了防止用户程序中使用特权指令,计算机硬件结构区分两种操作模式:目态和管态,其中目态下只能使用除特权指令以外的指令,管态下可以使用全部指令。当在目态下使用特权指令时,硬件就发出信号:“程序使用非法指令”,且不允许程序继续执行下去。所以可以把用户程序置在目态下运行,而操作系统中必须使用特权指令的那部分程序可在管态下运行,这样可保证计算机系统的安全可靠。
6.操作系统为什么要提供“

系统调用”?
答:系统调用是操作系统为用户程序提供的一种服务界面,也可以说是操作系统保证程序设计语言能正常工作的一种支持。在源程序一级,用户用程序设计语言描述算题任务的逻辑要求(如读文件、写文件等)。而这些要求的实现只通过调用操作系统提供的不同功能的子程序,即系统调用。
7.批处理操作系统、实时操作系统和分时操作系统各有什么特点?
答:批处理操作系统是将一批作业的程序和数据交给系统后,系统顺序控制作业的执行,当一个作业执行结束后自动转入下一个作业的执行。多道批处理操作系统,允许若干个作业同时装入主存储器,处理器轮流地执行各个作业,各个作业同时使用各自所需的外围设备。
实时操作系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完接收的事件。实时操作系统要求要有比分时操作系统更强的及时性。可靠性是实时系统最重要的设计目标之一。
分时操作系统的主要特点是:①交互性。用户能够直接与计算机系统交互。②及时性。由于支持人机交互,所以主机应该尽快地对用户的要求给予响应。③独立性。这主要是指多个用户虽然在同时使用主机系统,但是他们相互之间是不干扰的。④多路性。分时操作系统在宏观上看,整个系统同时在为多个用户服务。
8.从资源管理的观点来看,操作系统有哪些基本功能?
答:从资源管理的观点看,操作系统的功能可分成五大部分,即:
①处理器管理。操作系统按照一定的调度算法分配处理机。
②存储管理。负责分配、回收和保护存储单元。
③文件管理。涉及到文件存储空间的分配与回收、文件目录管理、文件读写与保护。
④设备管理。对设备进行分配、回收与控制。
⑤作业管理。负责作业的调度和作业控制。

第2章? 习题解答
1.什么是多道程序设计?为什么要采用多道程序设计?
答:让多个算题同时进人一个计算机系统的主存储器并行执行,这种程序设计方法称为“多道程序设计”。 对具有处理器与外围设备并行工作能力的计算机采用多道程序设计后,能充分发挥处理器的使用效率,增加单位时间内的算题量,提高整个系统的效率。
2.答:单道执行时处理器的利用率为:18/120*100%=15% 两道并行时处理器的利用率为:18/72*100%=25%
3.进程有哪些基本状态?画出进程基本状态变化图。
答:进程在生命周期中,有三个基本的状态,任何一个进程被创建之后,在其生命周期内的任一个时刻,它总是处于这三个基本从态中的一个状态中,且仅处在一个状态中。
这三个

基本状态分别是:
①就绪态。处于这个状态的进程等待分配处理器以便运行。
②运行态。处于这个状态的进程占有处理器正在运行。
③等待态。处于等待态的进程是那些因为等待某个事件的完成而从运行态退出的进程。
进程基本状态的转换图见课本19页
4.列举进程状态发生变化的事件。
答:引起就绪态=>运行态的变迁的事件有:
①正在运行的进程时间片到而进入就绪队列。
②正在运行的进程因为等待某个事件而转入等待状态时。
③正在运行的进程出现故障或正常完成时。
④就绪队列中出现更高优先数的进程抢占CPU时。
引起运行态=>就绪态的变迁的事件有:
①正在运行的进程时间片到,由执行转人就绪。
②CPU被高优先数的进程抢占,正在运行的进程被迫转人就绪。
引起运行态_等待态的变迁的事件:
正在运行的进程等待某种事件的发生时。如一个进程运行中启动了外围设备,等待外围设备传输;进程在运行中申请资源(主存空间、外围设备)得不到满足变成等待状态;进程在运行中出现了故障(程序错、主存错等)变成等待干预状态。
引起等待态=>就绪态的变迁的事件:
正在等待的事件完成时,等待态的进程被唤醒。如外围设备工作结束,使等待外围设备传输结束等待;等待的资源得到满足(另一进程归还);故障排除后等待干预的进程结束等待。
5.解释中断、中断源。
答:由于某些事件的出现,中止现行进程的执行,而转去处理出现的事件,等适当的时候让被中止的进程继续运行的过程称为中断。引起中断的事件称“中断源”。
6.硬件发现中断事件后应做哪些工作?
答:中断装置发现中断事件后,首先把出现的中断事件存放到程序状态字寄存器中的中断码位置,然后把程序状态字寄存器中的“当前PSW”作为“旧PSW”存放到预先约定好的主存固定单元中保护起来,再把已经确定好的操作系统处理程序的“新PSW”送到程序状态字寄存器,成为“当前PSW”,这一过程称“交换PSW”。中断装置通过交换PSW使被中断进程让出处理器,且使处理器按照中断处理程序的“新PSW”控制执行。于是中断处理程序就占用了处理器,它先从保存好的旧PSW中取出中断码,分析发生的具体事件,从而可完成对中断事件的处理。
7.中断处理程序应做哪些主要工作?
答:中断处理程序应做的主要工作:
①保护尚未被硬件保护的现场信息,如通用寄存器内容,控制寄存器内容。
②设置中断屏蔽,使硬件只能响应比当前级别高的中断事件,而不响应其他事件。
③按不同中断事件进行不

同处理。
④对事件处理结束后,转向进程调度程序。由进程调度程序去选择一个可以运行的进程。
8.设在一个单处理器多道程序设计系统中,现有两道作业在同时执行,一道以计算为主,另一道以输人输出为主,你将怎样赋予作业进程占有处理器的优先级?为什么?
答:应该让输人输出为主的作业具有较高的优先级。当这种作业先占用处理器执行时,因常常要启动外围设备,一旦启动外围设备,它就会让出处理器,另一道作业就可占用处理器,使处理器和外围设备都处于忙状态。
9.假定就绪状态的进程按其优先数自小到大顺序排成队列,当有一进程要进入就绪队列时,应按照它的优先数排在相应的位置上,试写出进程入队程序。
答:将就绪进程的进程控制块按照从小到大顺序排成队列,当一进程就绪时,应把它的进程控制块按优先数插入就绪队列。考虑单向链接方式,入队过程如下:
var head,p,q,addpcb:link;
begin
?? if head=nil
?? then begin
???? head:=addpcb;
???? head ↑.next:= nil
?? end;
?? else begin
??????? P:=head;
??????? while P<> nill and addpcb ↑.Pri <=P ↑.pri
??????? do begin
?????????? q:=p;
?????????? p:=p↑.next?
??????? end;
??????? q↑.next:=addpcb;
??????? add ↑.next:= p
??? end;
end ;
10.解释处理器的两级调度。答:处理器的两级调度分别是作业调度和进程调度。在批处理操作系统控制下,把若干个用户作业组织成作业流,让它们成批进入计算机系统,且把它们存放在磁盘上的专用区域中等待处理。作业调度是从输入井中选取后备作业装入主存的工作。然后通过进程调度选取一个进程让它占用处理器。
11.什么是作业调度?作业调度选择作业的必要条件是什么?
答:从输入井中选取后备作业装入主存储器的工作称为作业调度。作业调度选择作业的必要条件是:系统现有的尚未分配的资源可以满足被选作业的资源要求。
12.略
13.略
14.什么叫进程调度?进程调度怎样使被选中的进程能占用处理器。
答:在多道程序设计的系统中,往往同时有多个进程处于就绪状态,它们都要求得到处理器运行。单处理器的计算机系统中,每一时刻只能让一个进程占用处理器,操作系统按照某种调度算法从就绪队列的进程中选择一个进程,让选中的进程占用处理器运行。这一过程称为进程调度。由于进程调度是把处理器分配给一个被选中的进程,所以,有时也把进程调度程序称为处理器调度。进程设计通过将选中进程的进程控制块中有关的现场信息,如通用寄存器、控制寄存器和程序寄存器的内容送入处理器相应的处理器中

,来使该进程占有处理器。
15.在分时系统中采用“时间片轮转”的调度策略有什么优越性?
答:在分时系统中的每个终端用户都希望系统能及时地响应自己的各种请求,采用时间片轮转的调度策略,使系统在一定的时间里轮流为用户服务,使每个用户感到好像只有自己一人在使用计算机系统。为了使用户得到满意的服务,设计分时系统必须考虑如何确定时间片的长短,以及可同时接收的终端用户的个数。
16.略
17.略
18.略
19.什么是线程?线程与进程有什么异同?
答:在现代操作系统中,把用户的一个计算问题或一个应用问题作为一个进程,把该进程中可以并发执行的各部分分别作为线程,线程是进程中可独立执行的子任务。线程和进程的根本区别是把进程作为资源分配单位,而线程是调度和执行单位。
20.采用多线程技术有什么优点?
答:优点是:(1)减少了进程也就节省了分配进程控制快和工作区的开销。(2)创建线程需要为线程建立一张“线程描述表”,以记录线程的活动情况,但不需要另行分配资源,创建速度快。(3)线程间的信息传递在同一主存空间中进行,不需要额外的通信机制,且传递速度快。(4)线程能独立执行,能充分利用和发挥处理器与外围设备的并行工作能力。

第3章? 习题解答
1.解释下列术语:逻辑地址;绝对地址;地址转换
答:逻辑地址:对于用户来说,他无须知道自己的作业究竟是在主存的什么位置,他们可以认为自己的程序和数据就是放在从0地址开始一组连续的地址空间中,这个地址空间是程序用来访问信息所用的一系列连续地址单元的集合,该地址空间就是逻辑地址空间。逻辑地址空间中,地址单元的编号称为逻辑地址。
绝对地址:主存也被按照连续的存储单元进行编号,绝对地址空间就是主存中一系列连续存储信息的物理单元的集合,也称绝对地址空间为存储地址空间或物理地址空间。绝对地址空间中物理单元的编号称为绝对地址。?? 地址转换:由于一个作业装入到与其逻辑地址空间不一致的绝对地址空间,使得逻辑地址与绝对地址不同,而引起的对有关地址部分的调整,即逻辑地址转换成绝对地址的过程称为重定位,也称为地址转换。
2.存储保护的目的是什么?怎样实现存储保护?
答:存储保护的目的就是为了保护主存中各区域内的信息不被破坏,它包括存储的权限,存储不可跨越区域等等。为实现存储保护,必须由硬件和软件配合实现。比如在页式管理中,要由操作系统提供页表,硬件机构确定页的使用必须是安全的,如不能访问不属于自己的页等。
3.什么叫

重定位?重定位的方式有哪两种?比较它们的不同。
答:由于一个作业装入到与其逻辑地址空间不一致的绝对地址空间,使得逻辑地址与绝对地址不同,而引起的对有关地址部分的调整,即逻辑地址转换成绝对地址的过程称为重定位,也称为地址转换。
重定位有静态和动态两种情况。
所谓静态重定位是在装入一个作业的时候,把作业中的指令地址和数据地址全部一次性地转换成绝对地址。
所谓动态重定位是由软件和硬件相配合来实现的。地址重定位不再是装入的时候一次完成了,而是设置一个基址寄存器,装入作业的时候,将作业在主存区域的首地址放入到基址寄存器中。作业执行的时候,由硬件的地址转换机构动态地对地址进行转换,执行指令的时候,只要将逻辑地址加上基址寄存器的内容,就得到了绝对地址。
静态重定位和动态重定位的不同在于:①静态重定位是在作业装入的时候一次完成,动态重定位是在作业执行时再实现的。②静态重定位是软件支持的,动态重定位是硬件和软件合作实现的。③静态重定位不能实现主存的移动,而动态重定位可以。④动态重定位还可能提供虚拟存储空间。
4.比较固定分区、可变分区和页式存储管理的优缺点。
答:固定分区优点:①能支持多道程序设计。②无需专门的硬件地址转换机构。
缺点:①主存利用率不算太高,分配中出现内部零头问题。②分区大小固定不灵活,不能为程序动态申请内存。③不具备虚拟存储能力。
可变分区优点:
①支持多道程序设计。②没有内部零头问题,主存利用率比固定分区高。
③采用移动技术后可以满足正在执行的作业的主存扩充的要求。
缺点:
①动态重定位和保护措施需要硬件机构支持,成本高。
②由于有外部零头,所以主存利用率依然不算很高。
③移动技术开销很大。
④每次必须将作业完整调入并连续存放,主存利用率不高。
⑤不具备虚拟存储能力。
页式存储管理优点:①支持多道程序设计②解决了外部零头问题,内部零头大大减少(一个作业平均只有50%页面大小的内部零头)主存利用率比较高。
③用户作业无需在主存中连续存放,提高主存的利用率。
④如果是分页虚拟存储管理,可以提供大容量的多个虚拟存储器,主存利用率更高了。
缺点:
①动态重定位和保护措施需要硬件机构支持,成本高;
②采用页表,占用了一部分主存空间和处理机时间。
③分页虚拟存储管理中,增加了缺页中断的处理,增加了系统开销。
5.采用可变分区方式管理主存时,为什么要引人移动技术?
答:采用移动技术可以使分散的主存空

闲区集中以满足分配要求,采用移动技术后可允许作业执行时动态扩充主存区域。
6.页式存储管理中为什么要设置页表?
答:因为页式管理时把作业分散在主存中的不连续块中存放,必须通过页表来建立逻辑地址中的页号到绝对地址中的块号的映射,作为硬件进行地址转换的依据。
7.页式存储管理中页面大小是根据什么决定的?页表的长度又是根据什么决定的?
答:页面的大小是由地址结构决定的。页表的长度是由作业的信息量决定的,作业有多少页,页表中就有多少个记录项。
8.略
9.叙述页式存储管理中地址转换过程。
答:首先,操作系统为每个作业创建一张页表,它建立了逻辑地址中的页号到绝对地址中的块号的映射。然后,借助于硬件地址转换机构,在作业执行过程中,每执行一条指令时,按逻辑地址中的页号查页表得到对应的块号,再根据公式“绝对地址=块号×块长+页内地址”换算出欲访问的主存单元的绝对地址。
10.什么叫虚拟存储器?
答:根据程序执行的互斥性和局部性两个特点,我们允许作业装入的时候只装入一部分,另一部分放在磁盘上,当需要的时候再装入到主存,这样以来,在一个小的主存空间就可以运行一个比它大的作业。同时,用户编程的时候也摆脱了一定要编写小于主存容量的作业的限制。也就是说,用户的逻辑地址空间可以比主存的绝对地址空间要大。对用户来说,好象计算机系统具有一个容量很大的主存储器,称为“虚拟存储器”。
11.叙述页式存储管理实现虚拟存储器的基本思想。
答:基本思想是:只需将作业的全部信息作为副本存放在磁盘上,作业被调度投入到运行时,至少把第一页信息装入主存储器,在作业执行过程中访问到不在主存储器的页的时候,再把它们装入到主存。
12.采用可变分区方式管理主存时,能实现虚拟存储器吗?为什么?
答:不可以,因为可变分区每次必须将作业完整调入并连续存放,这不适合虚拟存储的要求。同时,可变分区的硬件地址转换机构把绝对地址超出限定范围时作地址错处理,而不是产生“缺分区中断”。
13.什么叫“抖动”?怎样衡量页面调度算法的好坏?
答:如果选用了一个不合适的调度算法,就会出现这样的现象:刚被淘汰了的页面又立即要用,又要把它调入进来,而调入不久又被调出,调出不久再次被调入,如此反复,使得调度非常频繁,以至于大部分时间都花费在来回调度上。这种现象叫“抖动”。一个好的调度算法应减少和避免抖动现象。
14.答:因为采用可变分区的管理方式,要求作业的逻辑地址空间是连续的,并且

主存空间也是连续的。因此,作业J2要求扩充的主存区域应该在原占有区域之后,于是必须通过移动来集中空闲区以供J2扩充之需。移动的方法有两种:
①先把J1向上移动1K再把J2向上移动2K。
②J3向下移动2K。
显然,第二种方法只要进行一次移动,明显比第一种方法好。
15. 答:采用先进先出调度算法会产生 6次缺页中断,依次淘汰的页是 1、2、3、4、5、6。
采用最近最少用调度算法会产生4次缺页中断,依次淘汰的页是3、4、5、6。
16.略
17. 答:假定数组的第一行元素已经存放在了一个主存块中,由于分页进把数组中的元数每一行放在一页中,所以每次i+1的时候都会产生缺页中断。这样一来,按1)编制的程序,每执行一次A[i][j]:=0? 就会产生一次缺页中 断,于是总共产生(128×128-1)次缺页中断。而2)编制的程序执行时产生(128-1)次缺页中断。

第4章 习题解答
1.什么叫文件?
答:所谓文件是指逻辑上具有完整意义的信息集合。在计算机系统中,很多东西都是以文件的形式存放在辅存中供用户使用,其中包括作业的源程序、目标程序、数据以及各类软件程序等等。
2.文件系统应具有哪些功能?
答:为了正确地按名存取,文件系统具有如下功能:
①实现从逻辑文件到物理文件间的转换。②有效地分配文件的存储空间。
③建立文件目录。④提供合适的存取方法以适应各种不同的应用。
⑤实现文件的共享、保护和保密。⑤提供一组文件操作。
3.略
4.什么是文件的逻辑结构和存储结构?
答:用户是从使用的角度来组织文件,用户把能观察到的且可以处理的信息根据使用要求构造成文件,这种构造方式称为文件的逻辑结构。文件系统是从文件的存储和检索的角度来组织文件,在存储媒介上的文件构造方式称为文件的存储结构。
5.解释顺序文件、链接文件和索引文件。
答:(1)顺序结构
将一个文件逻辑上连续信息存放在存储介质(磁盘)中相邻的块上,这种存储结构保证了逻辑记录顺序和物理块顺序相一致。磁带上的文件只能是顺序结构的,因为磁带机本身就是个顺序存取的设备。
(2)链接结构(串联结构)
文件所占用的存储介质物理块不再要求连续(相邻)的,可以分散在存储媒介上。在结构上,采用链表的结构方式,将每一块的最后一个单元用来存放下一个物理块的地址,形成指针链。最后一块的最后一个单元为0表示结束。
(3)以索引结构
和链接结构一样,也是一个非连续存储的结构,但它不采用链接方式,而是为每一个文件建立一张索引表,索引表中存放文件中每一个记录存放的物理地址。
6.解释记

录的成组和分解。采用这种技术有什么优点?
答:当文件的一个逻辑记录的长度小于一个物理块的长度的时候,我们可以把若干个逻辑记录合并成一组存到一个物理块中,这个工作称为成组。访问某个记录的时候,需要把这个记录从它所在的块中的一组记录中分离出来,这一工作称为分解。记录的成组和分解可以提高存储空间的利用率,并且可以减少存储设备的启动次数。
7.假定某个文件由长度为80个字符的100个逻辑记录组成,磁盘存储空间被划分成长度为2048个字符的块,为有效地使用磁盘空间,你可采用成组方式把文件存放到磁盘上,回答下列问题:
①该文件至少占用多少磁盘存储块?
②若该文件是以链接结构形式在磁盘上的,现用户要求使用第28个逻辑记录,写出系统为满足用户要求而应做的主要工作。
答:①每块能存放的记录个数为「2048/80」=25个。一共需要 100/25=4块。
②首先系统计算出第28个记录在第2个物理块上,然后系统通过文件目录读出第一块物理块,在该块最后单元找到第二物理块的地址,读出第二物理块,再经过肇按第28个记录在第二块中的位置读出该记录。
8.页式存储管理中用位示图表示主存空间的分配情况,磁盘存储空间的分配也可用位示图来表示,两者能合用一张位示图吗?
答:不行,主存空间和磁盘存储空间是两种不同的存储空间,应该使用不同的位示图来表示分配情况。
9.略
10.略
11.为了实现按名存取,文件目录应包含哪些内容?
答:为了实现按名存取,文件目录至少要包括文件的名字和文件存放的物理地址,除此之外,目录中还可以包含其他的控制和管理文件的信息,如:文件类型、记录长度、记录个数、口令、建立日期、保存期限、上次修改时间等。
12.怎样才能防止不同的用户可能给各自的文件取了相同的名字而造成混乱?
答:可以采用二级目录或多级目录结构。在主目录中登记每个用户的名字和用户文件目录的存放地址;在第二级用户文件目录中登记用户的每个文件的文件名及文件存放位置。这样,不同的用户有同名文件时,由于文件的路径是不一样的,所以不会产生混乱。多级目录是在二级目录的基础上,在用户目录下,根据项目和应用领域再建立子目录和孙目录,这样可以避免同一个用户的同名文件造成的混乱。
13.有一个文件可供两个用户共享,但这两个用户却对这个文件定义了不同的名字,为了保证两个用户都能存取该文件,应怎样设置文件目录?简单画出目录结构关系且解释之。
答:采用二级目录结构。如图4-3所示,用户 zhangshan和用户 lisi对一个共享文

件分别定义了不同的名字ww和pw,只要在它们各自的目录表中把相应的文件存放地址填上共享文件在存储介质上的起始位置,当用户zhangshan存取ww文件,用户lisi存取pw文件时,文件系统按照目录查找文件时得到相同的文件存放位置。于是各用户使用了不同的文件名,却仍能共享同一文件。
14.总结文件的存取方法、文件的存储结构、存储设备类型之间的关系。
答:文件的存取方法有两种:顺序存取和随机存取。文件的存取方法决定了文件的存储结构,它们的关系如表4-1所示。
15.区分文件的保护和保密。
答:文件的保护是指防止文件被破坏,文件的保密是指防止他人窃取文件。
16.怎样防止由于系统故障而造成的文件被破坏?
答:可以采用建立副本的方法,或是定时转储。
17.怎样防止用户共享文件是可能造成的文件被破坏?
答:可对每个文件规定存取权限。
18.文件系统提供的主要文件操作有哪些?
答:文件系统提供的主要文件操作有以下几种:
①‘建立”操作。用户要求把一个新文件存放到存储介质上时,首先要向系统提出“建立”要求。系统在接到用户的“建立”要求后,在文件目录中寻找空目录项进行登记
?②“打开”操作。用户要使用存放在存储介质上的文件前,必需提出“打开?”要求。系统在接到用户的“打开”要求后,找到该用户的文件目录,如果文件目录在外存上,还要把它调入到主存,然后从文件目录中找到与用户的需求相符合的目录项,取出文件存放的物理地址。如果是索引文件,还要将这个文件的索引表也调入到主存中,这样,后继的读操作能够很快地进行。
③“读/写”操作。用户调用这个操作来读/写文件,系统只允许用户对已经过“打开”或“建立”操作的文件进行读/写。对顺序存取方式的文件,用户只需给出读/写的文件名,而无需给出读/写记录的编号,系统执行本操作的时候,每次顺序读/写一个或几个逻辑记录。对于采用随机方式的文件,用户除了要给出需读/写的文件名外,还要给出需读/写记录的编号(或主键),系统执行读操作的时候,按指定的记录号(或键)查索引表,得到记录存放的物理地址后,按地址将记录读出;执行写操作的时候,在索引表找到一个空登记项且找一个空闲的存储块,把记录存人找到的存储块中,同时在索引表中登记
④“关闭”操作。经过“打开”或“建立”的文件,在读/写完毕后,需要执行“关闭”操作。执行关闭操作时要检查读到主存储器中的文件目录或索引表是否被改变,如果改过,则应把修改过的文件目录或索引表重新保存好。一个

关闭后的文件不能再使用,如果要使用,必须重新执行“打开”操作。用户提出“关闭”要求时,必须说明关闭哪个文件。
⑤“删除”操作。用户用本操作向系统提出删除一个文件的要求,系统执行时把指定文件的名字从目录和索引表中除取,并收回它所占用的存储区域。

19.文件系统中为什么要设置“建立”、“打开”和“关闭”操作?
答:要把一个文件存放到存储介质上或使用一个已经建立在某存储介质上的文件前,首先应该把文件的属性(文件名、文件类型、可访问性、记录大小等),文件的管理信息(口令、建立日期、保存期限等)以及存取方式,通过特定的形式告诉文件系统。“建立”。“打开”和“关闭”操作就是为此目的而设置的。
用“建立”操作向系统提出生成一个新文件的要求。
用“打开”操作向系统申请读一指定文件的权力。
用“关闭”操作表示已经不再要读/写某个文件了,向系统归还使用文件的权力。
20.当用户要读一个尚未打开的文件的时候,系统怎么处理?
答:当用户要读一个文件的时候,系统先要验证该用户是否有使用权力,所以任何一个用户如果要读文件前都要执行“打开”操作。系统不允许隐式使用,那么当读一个还没有打开的文件,系统不会执行读操作,而是返回一个“文件未打开”的错误信息。如果系统允许隐式使用,那么系统将会替用户做打开文件的工作。
21.文件系统能允许用户去“关闭”一个不是自己“打开”或“建立”的文件吗?
答:不能!一个不是自己“打开’域“建立”的文件,是没有权力使用和强行关闭的。

第5章 习题解答
1.从使用的角度,外围设备可分为哪两类?用户要求使用外围设备时,系统采用什么方法来分配?
答:从使用角度来分析设备的特点,可以把设备分成两类:一类是一个作业在执行期间独占使用的设备,称为独占设备。这类设备一般采用静态分配的办法在作业执行前就分配出去了,直到作业结束撤离的时候,才将分配出去的设备收回,收回后,才能再分配给其他需要使用该类设备的作业。另外一类是共享设备。这类设备可以由几个作业同时使用。共享设备采用动态分配的办法,这种方法不是在作业执行前分配,而是到作业需要启用设备的时候才分配设备给作业。
2.如果某作业申请外围设备时,指定申请某台外围设备,那么按教材中图5-l设置的分配表怎样实现分配?
答:如果用户指定申请某台外围设备,用户给出设备绝对号,系统为它分配时先查设备分配表,按照设备绝对号找到登记项,查是否未分配且是好的,若是则分配给用户

,状态改成已分配,填上占用的作业名,通知用户已经分配成功;若已经分配或者设备坏了,则分配不能被满足,输出信息告诉用户不能分配的原因。
3.用户程序中使用“设备类,相对号”的方式来使用外围设备有什么优点?
答:用户申请分配设备时,不是具体指定要哪台设备,而是指出要申请分配哪一类设备多少台,所以,用户编制程序时使用的设备与实际能占用的设备无关。设备的这种特性称为设备的独立性。具有设备独立性的计算机系统,在分配设备时适应性好,灵活性强。
4.解释“设备的独立性”
答:用户编制程序时使用的设备与实际能占用的设备无关。设备的这种特性称为设备的独立性。
5.设备的静态分配方式是怎样分配设备的?
答:当用户提出申请某类设备时,先查设备类表,如果该类设备的现存台数可以满足申请要求,则从指出的设备表始址开始依次查该类设备在设备表中的登记项,找出“好的且尚未分配的”设备分配给用户作业
6.什么是输入输出操作?
答:作业执行中总要不断地启动外围设备,把信息读入主存储器进行处理,或者把主存储器中的信息传送到存储介质上。主存储器与外围设备之间的信息传送操作就叫作输入输出操作。
7.解释通道命令、通道程序、通道地址字、通道状态字。
答:通道命令:又称为通道命令字(CCW,Channel command Word),它是规定设备的某一种动作的指令。
通道程序:是由通道命令编制出来一段程序,用于控制设备的工作。整个通道程序确定了外围设备应执行的操作及操作顺序。
通道地址字:通道程序是存放在主存中的,为了使通道能够正确快速地找到通道程序的起始地址,系统在主存中安排一个固定的单元,用来存放通道程序的起始地址,这个固定的单元称为通道地址字(CAW,Channel address Word)
通道状态字:通道被启动后,控制指定的设备完成规定的操作,同时,通道在执行对外围设备控制的过程中,要记录通道与设备执行情况,为此系统在主存中安排另一个固定单元,用于存放这些被记录状态,这个固定单元称为通道状态字(CSW,Channel Status Word)。
8.中央处理器与通道是怎样配合工作的?
答:①中央处理器组织好通道程序,并把通道程序的首地址存人通道地址字中。然后,中央处理器执行“启动I/O”指令来启动通道工作。通道收到命令后根据通道和设备的工作情况,或者逐条执行通道程序中的通道命令,来控制设备运行;或者拒绝接受,并且用条件码向中央处理器作出是否接受启动的回答。
②中央处理器分析条件码,若启动不成功,则推迟相应的输人输出操作

的执行,待适当的时候重新执行“启动I/O”指令。
③通道把执行通道程序的情况汇集在通道状态字中,当通道完成输人输出操作,向中央处理器汇报命令执行情况。由于通道和设备执行操作的情况已经在CSW中了,所以一般由通道产生I/O中断,将中断的通道和设备记载到寄存器中,中央处理器响应中断后,操作系统分析特定寄存器和CSW中的内容并做相应地处理。
9.通道在什么情况下要产生I/O中断?
答:I/O中断事件或是由于通道程序的执行而引起的,或是由于外界的原因而引起的。操作正常结束和操作异常结束都可引起I/O中断。
10.解释“设备处理的一致性”。
答:具有通道结构的计算机系统,从启动外围设备直到完成输入输出操作,不需要考虑不同类型的设备各自所具有的物理特性,都用统一的方法在进行处理,这样处理既简单又不易出错。这种不考虑设备的具体物理特性的处理方法称为设备处理的一致性。
11.什么叫驱动调度?总结对磁盘的驱动调度过程。
答:在共享设备中,采用某种策略从等待访问该设备的进程中选择一个进程访问设备的工。作称为驱动调度。其目的是降低若干个访问者执行I/O操作的总时间,提高I/O操作的吞吐量。对于磁盘设备来说驱动调度先进行“移臂调度”,以寻求较优化的寻找时间,定位好柱面,然后再进行‘旋转调度”,寻求好的延迟时间,定位好扇区。
12 答:最省时间的响应次序是:l、4、6、2、3、5或6、2、l、4、3、5。
13.略
14.什么是缓冲技术,为什么要采用缓冲技术?
答:操作系统中把利用缓冲区来缓解处理器与外围设备之间工作速度不匹配的矛盾而采用的技术称为缓冲技术。采用缓冲技术既能协调记录大小与物力块大小不一致的问题,又能缓解处理器与外围设备之间速度不匹配的矛盾。
15.什么是输人井和输出井?
答:在具有通道技术的系统中,我们利用中央处理器和通道并行工作的能力,用一台机器完成脱机外围设备操作技术中三台机器的工作。操作系统中包含两个程序:“预输入程序”代替输入外围设备,“缓输出程序”代替输出外围设备。系统在磁盘中划分出专门称为“井”的区域,它分为“输入井”和“输出井”,它们分别代替低速的独占使用的输入设备和输出设备。
16.什么是SPOOLING系统?请简述它的实现思想。
答:操作系统中实现联机同时外围设备操作功能的部分称为斯普林系统。它由三部分组成:见课本107页。
17.什么叫虚拟设备?实现虚拟设备的硬件基础是什么?
答:操作系统模拟的独占设备称为虚拟设备。实现虚拟设备必须要有一定的硬件和软件条件为基

础。对于硬件来说,必须配置大容量的磁盘,要有中断装置和通道,具有中央处理器与通道并行工作的能力。
18.总结实现虚拟设备的优点。
答:优点是:不仅使多个作业可以同时执行,而且加快了作业的执行速度,提高了单位时间内处理作业的能力。提高了独占设备的利用率,使计算机系统的各种资源被充分利用。

第6章 习题解答
1.什么叫并发进程?
答:在多道程序设计系统中,作为单个作业可以同时执行,而每一个作业又需要有多个进程的协作来完成。因此,系统会同时存在着许多进程,在单处理器的情况下,这些进程轮流的占用处理器,即一个进程的工作没有全部完成之前,另一个进程就开始工作,我们说这些可同时执行的进程具有并发性,并且把可同时执行的进程称为“并发进程”。

2.临界区是怎样定义?对临界区的管理应符合哪些要求?
答:并发进程中与共享变量有关的程序段称为“临界区”。对若干个并发进程共享某一变量的相关临界区得管理有三点要求:
①一次至多一个进程能够进入临界区,当有进程在临界区执行时,其他想进入临界区执行的进程必须等待。
②不能让一个进程无限制的在临界区执行,即任何一个进入临界区的进程必须有限的时间内退出临界区。
③不能强迫一个进程无限期等待键入它的临界区,即有进程退出临界区时应让一个等待进入临界区的进程进入它的临界区执行。

3. S=-l,表示有一个进程在等待进入临界区执行。
S=0,表示已有一个进程在临界区执行,这时若有进程想进入临界区则必须等待。
S=l,表示无进程在临界区执行,若有进程想进入临界区则可以立即进入。
4.答:当A、B两站之间无列车停驶时,可让到达A站的一列车进人A、B站之间行驶。
当A石站之间有列车在行驶时,则到达A站者必须在站外等待。
当有列车到达B站后,让等在A站外的一列车进入。
用一个信号量S来控制到达A站的列车能否进入单轨道行驶,S的初始值为l。列车到达A站后,先执行P(S),若无列车在A、B站之间行驶,则执行P(S)后立即进人单轨道行驶,到达B站后,执行V(S),可释放一个等待进入的列车进入行驶。若A、B站之间已有列车在行驶,则执行P(S)后就等待,直到行驶者到了B站执行V(S)后释放一个欲进入者。
5. 答:三个进程共用一个缓冲区,他们必须同步工作,可定义三个信号量:
S1:表示是否可把读人的记录放到缓冲区,初始值为1。
S2:表示是否可对缓冲区中的记录加工,初始值为0。
S3:表示记录是否加工好,可以输出,初始值也为0。
三个进程可如下设计:
begin
S1,S2

,S3:semaphore;
? S1:=l;S2:=S3:=0;
? cobegin
??? process R
????? begin
??????? L1:读记录;
????????? P(S1);
????????? 记录存入缓冲区;
????????? V(S2);
????????? goto L1;
?????? end;
???? process M
?????? begin
???????? L2:P(S2);
?????????? 加工记录;
?????????? V(S3);
?????????? goto L2;
??????? end;
????? process P
??????? begin
????????? L3:P(S3);
??????????? 输出加工后的记录;
?????????? V(S1);
????????? goto L3;
?????? end;
? coend;
end.
6. S:表示能否把数存人缓冲器B,初始值为1。
S1:表示R1是否已向缓冲器存入从键盘上读入的一个数,初始值为0。
S2:表示R2是否已向缓冲器存入从磁盘上读入的一个数,初始值为0。
begin
? S,S1,S2:semaphore;
? S:=1;S1:=S2:=0;
? cobegin
??? process R1
????? xl :integer
????? begin
??????? L1:从键盘读一个数;
????????? x1:=读入的数;
????????? P(S);
????????? B:=xl;
????????? V(S1);
????????? goto L1;
???? end;
? process R2
??? x2:integer;
? begin
??? L2:从磁盘读一数;
??????? x2:=读入的数;
??????? P(S);
??????? B:=x2;
??????? V(S2);
??????? goto L2;
?? end;
process W1
?? y:integer;
?? begin
???? L3:P(S1);
???????? y:=B;
???????? V(S);
???????? 打印y中的数;
???????? goto L3;
????? end;
?? process W2
???? z:integer
???? begin
?????? L4:P(S2);
?????????? z:=B;
?????????? V(S);
?????????? 打印z中的数;
?????????? goto L4;
????? end;
??? coend;
? end.
7. 答:可能的值是 18或 23。这是因为 process A执行三个循环后,N=18,之后 A和 B并发执行,可能先执行A中的N:=N+5,再执行B中的print(N);这样就会得到23,也可能先执行B中的pint(N);这就会得到18。
可以利用P、V操作实现同步:
begin
? N:integer;
? S:semphore;
? S:=l;
? N:=3;
? cobegin
??? process A
????? begin
??????? L1:P(S);
??????????? N:=N+5;
??????????? V(S);
??????????? gotO L1;
??????? end;
????? process B
??????? begin
????????? L2:P(S);
????????????? print(N);
????????????? N:=0;
????????????? V(S);
????????????? goto L2;
????????? end;
??? coend;
end.
8.通信机制中设置哪些基本通信原语?它们的功能是什么?
答:系统提供两个与信箱通信有关的通信原语:send原语(发送)和 receive原语(接收)。send(B,M)原语把信件M送人到信箱B中,receive(B,X)原语从信箱B中取出一封信存放到指定的地址X中。
9.什么叫死锁?什么原因会引起死锁?
答:若系统中存在一组进程(二个或多个进程),他们中的每一个进程都占用某种资源而又都在等待其中另

一个进程所占用的资源,这种等待永远不能结束,就说系统出现“死锁”。
进程死锁的起因是系统提供的资源数比要求使用资源的进程数少,或者是若干个个进程要求资源的总数大于系统能提供的资源数。这时,进程间就会出现竞争资源的现象,如果对进程竞争的资源管理和分配不当就会引起死锁。死锁的出现是与资源分配策略和并发进程的执行速度有关。
10.有哪些策略可防止和避兔死锁?
答:防止死锁的策略有:静态分配、按序分配、剥夺式分配。银行家算法可以避免死锁。
11. 答:如果 PV操作设计不当,仍会产生死锁。假如用 S1 S2分别代表输入机和打印机能否被使用的信号量,由于资源是共享的,所以必须互斥使用,因而它们的初始值都为l。
如果用如下方式实现请求使用和归还释放:
process QI
?? begin
?? P(S1);
?? 使用输入机;
?? P(S2);
?? 使用打印机;
?? V(S2);
?? V(S1);
?? end;
process Q2
? begin
? P(S2);
? 使用打印机;
? P(S1);
? 使用输入机;
? V(S2);
? V(S1);
end;
那么就会出现Q1得到输入机而 Q2得到打印机,双方在不释放已经有的资源的情况下又去申请新的资源,就会造成死锁。
可以采用为资源编序号的方法,要求按序申请,如下:
process Q1
?? begin
?? P(S1);
?? 使用输入机;
?? P(S2);
?? 使用打印机;
?? V(S2);
?? V(S1);
?? end;
process Q2
?? begin
?? P(S1);
?? 使用输入机;
?? P(S2);
? 使用打印机;
? V(S2);
? V(S1);
? end.
12.答:(1)处于安全状态。(2)剩余的两个资源只能一次全给P1才不死锁,其它情况均死锁


相关主题