操作系统教程(其次版) OS习题答案_第1页
操作系统教程(其次版) OS习题答案_第2页
操作系统教程(其次版) OS习题答案_第3页
操作系统教程(其次版) OS习题答案_第4页
操作系统教程(其次版) OS习题答案_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——操作系统教程(其次版)OS习题答案

操作系统习题解答

1.存储程序式计算机的主要特点是什么?

答:主要特点是以顺序计算为基础,根据程序规定的顺序依次执行每一个操作,控制部件根据程序对整个计算机的活动实行集中过程控制,即为集中顺序过程控制。这类计算是过程性的,实际上这种计算机是模拟人们的手工计算的产物。即首先取原始数据,执行一个操作,将中间结果保存起来;再取一个数,和中间结果一起又执行一个操作,如此计算下去。在遇到多个可能同时执行的分支时,也是先执行完一个分支,然后再执行其次个分支,直到计算完毕。

2.批处理系统和分时系统各具有什么特点?答:批处理系统是在解决人—机矛盾以及高速度的中央处理机和低速度的I/O设备这两对矛盾的过程中发展起来的。它的出现改善了CPU和外设的使用状况,其特点是实现了作业的自动定序、自动过渡,从而使整个计算机系统的处理能力得以提高。

在多道系统中,若采用了分时技术,就是分时操作系统,它是操作系统的另一种类型。它一般采用时间片轮转的方法,使一台计算机同时为多个任务服务。对用户都能保证足够快的响应时间,并提供交互会话功能。它与批处理系统之间的主要区别在于,分时系统是人机交互式系统,响应时间快;而批处理系统是作业自动定序和过渡,无人机交互,周转时间长。

3.实时系统的特点是什么?一个实时信息处理系统和一个分时系统从外表看来很相像,它们有什么本质的区别呢?

答:实时系统对响应时间的要求比分时系统更高,一般要求响应时间为秒级、毫秒级甚至微秒级。将电子计算机应用到实时领域,配置上实时监控系统,便组成各种各样的专用实时系统。实时系统按其使用方式不同分为两类:实时控制系统和实时信息处理系统。实时控制是指利用计算机对实时过程进行控制和提供监视环境。实时信息处理系统是指利用计算机对实时数据进行处理的系统。实时系统大部分是为特别的实时任务设计的,这类任务对系统的可靠性和安全性要求很高。

与分时系统相比,实时系统没有那样强的交互会话功能,寻常不允许用户通过实时终端设备去编写新的程序或修改已有的程序。实时终端设备寻常只是作为执行装置或询问装置,属专用系统。

4.什么是多道程序设计技术?试述多道程序运行的特征。答:多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插地运行。

多道程序运行的特征如下:

(1)多道:计算机内存中同时存放几道相互独立的程序。(2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自

的运行,但都未运行完毕。

(3)微观上串行:从微观上看,内存中的多道程序轮番地或分时地占有处理机,交替执

行(单处理机状况)。

5.什么是操作系统?从资源管理的角度去分析操作系统,它的主要功能是什么?答:操作系统是一个大型的程序系统,它负责计算机的全部软、硬件资源的分派与回收,控制与协调等并发活动,实现信息的存取和保护。它提供用户接口,使用户获得良好的工作环境,为用户扩展新的系统功能提供软件平台,操作系统使整个计算机系统实现了高效率和高度自动化。

操作系统的主要功能是管理系统的软、硬件资源,它们可归为四类:处理机管理、存储管理、设备管理和文件管理等。

6.操作系统的主要特征是什么?为什么会具有这样的特征?答:操作系统的特征有:并发性,共享性,不确定性,虚拟性。

其中并发性和共享性是其主要特征。由于操作系统建立并控制着多个并发执行的进程,完成着同时进行的几项任务,进程之间相互制约,并且共享着系统的某些资源,进程的这些活动便形成了操作系统的主要特征。并且大量事件的产生是随机的,而且事件产生的先后顺序又有大量可能组合,但操作系统必需能处理任何一种可能的事件序列。所以,操作系统又具有不确定性。另外,操作系统中还广泛使用了虚拟技术,使得配备了操作系统之后的系统在资源的使用上更加自由和灵活,不受物理设备数量的限制。

7.设一计算机系统有输入机一台、打印机两台,现有二道程序同时投入运行,且程序A先开始运行,程序B后运行。程序A的运行轨迹为:计算50ms,打印信息100ms,再计算50ms,打印信息100ms,终止。程序B运行的轨迹为:计算50ms,输入数据80ms,再计算100ms,终止。要求:

(1)用图画出这二道程序并发执行时的工作状况。

(2)说明在二道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会空闲等待?

(3)程序A、B运行时有无等待现象?在什么时候会发生等待现象?答:

(1)工作状况如图。5100ms5100ms程序A

计打计打

258100ms5程序B

等输计计等

时间

051030151820

(2)CPU有空闲等待,它发生在100ms?150ms时间段内,此时间段内程序A与程序B都在进行I/O操作。

(3)程序A无等待现象,程序B在0ms?50ms时间段与180ms?200ms时间段内有等待现象。

工作状况的另一种描述形式如下:

程序A程序B输入设备打印机1550100ms0ms182030t

进程管理习题

1现代操作系统中为什么要引入“进程〞概念?它与程序有什么区别?

答:之所以要引入进程的概念,是由于在一些可以并发的程序段之间,存在着某种相互制约的关系,每个程序段的执行不仅要受到其它程序执行的制约,而且还要动态地依靠系统资源的分派状况,因此每个可以并发执行的程序段就会因外界条件的限制而不能运行,被迫处于阻塞状态。仅用程序的概念无法表示程序的走走停停以及程序运行过程中对资源的竞争现象,因此需要采用一种动态的概念描述并发程序这种走走停停的现象,这就产生了进程的概念。

进程和程序的区别:

(1)进程是程序的执行过程,是动态的过程,属于一种动态概念。程序是一组有序静态指令和数据的集合,用来指示处理机的操作,是一种静态概念。

(2)从结构上看,每个进程实体是由程序段和相应的数据段两部分构成,并且进程结构中还要包含PCB,即进程控制块。

(3)一个进程可以涉及到一个或几个程序的执行;反之,同一程序可以对应多个进程,即同一个程序段可以在不同数据集合上运行,可以构成不同的进程。

(4)进程能真实地描述并发执行的过程,而程序仅仅是静态指令堆积的序列。

(5)进程有可创立其他进程的功能,而一般的程序不具有创立其它程序的功能。

(6)每一个程序都是在一个进程现场中运行的。

2表达进程的并发性和制约性。

答:并发性是进程的重要特征。即多道程序中多个进程同时向前推进的过程,没个进程总是与其它进程并发地执行的。进程的制约性是指一个进程的运行受到另一进程的制约。譬如有的进程可能正在等待另一进程的计算结果而无法运行,或者进程所需的资源被别的进程占有而无法运行。

3进程的含义是什么?如何构造和描述进程?

答:进程是程序的一次执行。进程由“进程控制块+程序+数据〞构成,用进程控制块描述进程。

4有三个并发进程,R负责从输入设备读入信息并传送给M,M将信息加工并传送给P,P将打印输出,写出以下条件下的并发程序。

(1)双缓冲区,每个区大小为K。(2)单缓冲区,其大小为K。答:

(1)双缓冲区,每个区大小为K,信号量初值如下:mutexR=mutexP=1;emptyR=emptyP=k;

fullR=fullP=0;变量的初值如下:

inR=outR=inP=outP=0;用类Pascal编写程序如下:var

mutexR,mutexP,emptyR,fullR,emptyP,fullP:semaphere;inR,outR,inP,outP:integer;buffer:array0..k-1ofitem;bufferP:array0..k-1ofitem;procedureRbegin

whiletruedobegin

输入数据data1;P(emptyR);P(mutexR);

bufferR(inR):=data1;inR:=(inR+1)mod(k);V(mutexR);

V(fullR);

endend;

procedureMbegin

whiletruedobegin

P(fullR);P(mutexR);

data2:=bufferR(outR);outR:=(outR+1)mod(k);V(mutexR);V(emptyR);

对data2进行加工;P(emptyP);P(mutexP);

bufferP(inP):=data2;inP:=(inP+1)mod(k);V(mutexP);V(fullP);endend;

procedureP:begin

whiletruedo

begin

P(fullP);P(mutexP)

data3:=bufferP(outP);outP:=(outP+1)mod(k);V(mutexP);V(emptyP);打印data3;endend;begin

seminitinal(mutexR.v,1;mutexP.v,1;emptyR.v,k;fullR.v,0;emptyP.v,k;fullP.v,0);

inR:=0;outR:=0;inP:=0;outP:=0;cobegin

R;M;P;coendend.

(2)单缓冲区,大小为kvar

empty,full,ok,mutex:semaphere;inR,outR,inP,outP:integer;

buffer:array0..k-1ofitem;procedureR:begin

whiletruedo

begin

输入数据data1;P(empty);P(mutex);

buffer(inR):=data1;inR:=(inR+1)mod(k);

V(mutex);

V(full)endend;

procedureM:begin

whileturedo

begin

P(full);

P(mutex);

data2:==buffer(outR);outR:=(outR+1)mod(k);V(mutex);对data2加工;P(mutex);

buffer(inP):=data2;inP:=(inP+1)mod(k);

V(mutex);V(ok);end

end;

proedureP:begin

whileturedobeginP(ok);P(mutex);

data3:=buffer(outP);outP:=(outP+1)mod(k);V(mutex);V(empty);打印data3;end;endbegin

seminitial(empty.v,k;full.v,0;ok.v,0;mutex.v,1);inR:=0;outR:=0;inP:=0;outP:=0;cobegin

R;

M;P;coend

end.

5在生产者与消费者问题的算法中,交换两个V操作的次序会有什么结果?交换两P操作的次序呢?说明理由。

答:交换两P操作的次序有可能造成死锁。例如,当无空缓冲区时,假使此时生产者先做互斥操作,即:P(mutex),然后才做同步操作P(empty),由于此时empty=-1造成生产者被阻塞。当消费者执行到互斥操作P(mutex)时,由于生产者已执行过P(mutex)并未作释放,所以此时mutex=-1,造成消费者也被阻塞,生产者等消费者释放空缓冲区,而消费者则等待生产者释放临界资源的使用权,所以两个进程都无法向前推进而造成死锁。交换两个V操作的次序不会发生死锁。

6设有三个进程A、B、C,其中A与B构成一对生产者与消费者(A为生产者,B为消费者),共享一个由n个缓冲块组成的缓冲池;B与C也构成一对生产者与消费者(此时B为生产者,C为消费者),共享另一个由m个缓冲块组成的缓冲池。用P、V操作描述它们之间的同步关系。答:

var

mutexA,emptyA,fullA,mutexC,emptyC,fullC:semaphere;i,j,a,b:integer;

bufferA:array0..n-1ofitembufferC:array0..m-1ofitem;procedureproduceA:生产者进程Abegin

whileturedo

begin

Producenextproduct;P(emptyA);P(mutexA);

bufferA(i):=products;i:=(i+1)mod(n);

V(mutexA);V(fullA)endend

procedureconsumer_procedurerB:消费者和生产者进程Bbegin

whileturedobegin

P(fullA);P(mutexA);

Goods:=buffer(j);

j:=(j+1)mod(n);

V(mutexA);V(emptyA);

ConsumegoodsandProducenextproductC;P(emptyC);P(mutexC);

BufferC(a):=productC;a:=(a+1)mod(m);V(mutexC);V(fullC)

endend;

procedureconsumerC;消费者C进程begin

whileturedobeginP(fullC);P(mutexC);

Goods:=bufferC(b);b:=(b+1)mod(m);V(mutexC);V(emptyC);

Consumeproduct;endend;begin

Seminitsal(mutexA.v,1;mutexC.v,1;

emptyA.v,n;emptyC.v,m;fullA.V,0;fullC.V,0);

i:=0;j:=0;a:=0;b:=0;cobeginproduceA

consumer_procedurerB;consumerCcoend

end.

7有一阅览室,共有100个座位。读者进入时必需先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名。读者离开时要消掉登记内容。试用P、V操作描述读者进程的同步结构。答:

var

mutex:semaphere;信号量,用于互斥

full:semaphere;信号量,用于同步table:array0..n-1ofitem;登记表

procedurereader;读者进程begin

P(full);P(mutex);

Register_name(table);V(mutex);Reading;P(mutex);

Delet_name(table);V(mutex);V(full)

end;begin

seminitsal(mutex.v,1;full.v,100);初始化cobeginreader;reader;...coendend.

8.引入线程的目的是什么?

答:引入线程的目的是提高程序执行的并行度。

9引入管程的目的是什么?

答:引入管程的目的把分散的临界区集中起来管理,为每个可共享的资源设立一个专门的机构来统一管理各进程对该共享资源的访问。这样使互斥操作更安全,既便于系统管理共享资源,又能保证互斥访问。

10用管程实现读者与写者关系。管程部分描述如下:monitorrw;conditionwrt;

varreadcount:integer;

procedureentryread_start();begin

readcount:=readcount+1;end;

procedureentryread_finish();begin

readcount:=readcount-1;

ifreadcount=0thensingal(wrt)end;

procedureentrywrite();begin

ifreadcount>0thenwait(wrt);performwriting;end

begin

readcount:=0endend;

主程序部分:

procedurewritter:

begin

repeat

rw.write();untilfalse;end

procedurereader:

begin

repeat

rw.read_start();performreading;rw.read_finish();untilfalse;

end

cobeginreader;writter;coend.

11何谓进程通信?

答:进程通信是指进程之间的信息交换。

12消息通信机制中应设置哪些基本通信原语?答:应设置send(A)(发送消息)原语,A是原语的参数,表示发送区的起始地址。

receive(B)(接受消息)原语,B是接受进程提供的接收区起始地址。

13何谓死锁?举例说明之。

答:两个以上的进程相互等待一个永远不可能发生的条件而无法向前推进,这种僵局称为死锁。例如:如下图的单行道上的交通阻塞。

存储管理习题

1.何谓名字空间?何谓地址空间?何谓存储空间?

答:名字空间:程序中符号名的集合。

地址空间:在目标模块中的地址的集合。存储空间:实际内存地址的集合。符号源汇编编译相对目标程地址重定位绝对目标程序序连接程序名字空间地址空间存储空间

2.在分区分派方案能用于实现虚拟内存吗?

答:不能,由于虚拟存储最重要的特点就是离散性,而分区分派方案只适用于连续分派方式,即全部程序都放在内存,而不允许程序运行时一部分在内存、一部分在外存。所以,无法提供内存的规律扩展功能。

3.为什么要引入动态重定位?如何实现?

答:动态重定位便于程序浮动。由于在目标模块装入内存时无需对其进行任何修改,因而装入之后再搬迁也不会影响其正确执行。

实现时,需要采用动态重定位硬件机构:重定位寄放器和加法器。如下图。

1000

1?1000?

LOADLOAD1,30000

311001,30015678某程序的地址空

5678?内

?

动态重定位示意图

4.请详细说明,引入分页存储管理是为了满足用户哪几方面的需求?答:1、为了充分利用空闲的存储空间,采取内存的不连续分派;2、为了消除外零头,采用等分内存;

3、为了程序的浮动便利,采用动态地址重定位;

4、为了从规律上扩展内存,依照规律地址空间来访问程序,采用了虚拟存储管理。

5.为什么说分段系统较之分页系统更易于实现地址变换?答:由于分段是依照规律功能分段,这样在地址变换时,针对的是一个完整的规律功能段,所以可以在实际需要时进行动态连接。而分页则是依照物理页的大小划分所以一定要事先将

所有的页面联接成一个整体后才能实现地址变换。

6.分页存储管理中有哪几种常用的页面置换算法?试比较它们的优缺点。答:

(1)先进先出(FIFO)(2)最近最少使用的淘汰算法(LRU)(3)最近不经常使用的淘汰算法(LFU)(4)最优算法(OPT)

FIFO算法最简单,但效率不高。LRU的近似算法和LFU是较为实用的算法,效果较好,实现也不难。OPT算法是最正确算法,但并不实用,由于要跟踪各页面方可预计未来,而这种预计往往是困难的。

输入/输出系统习题

1.设备管理的目标和功能是什么?答:设备管理的主要目标是:

1)选择和分派输入/输出设备以便进行数据传输操作;2)控制输入/输出设备和CPU(或内存)之间交换数据;

3)为用户提供一个友好的透明接口,把用户和设备的硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,系统按用户要求控制设备工作;

4)提高设备和设备之间、CPU和设备之间以及进程和进程之间的并行操作度,以使操作系统获得最正确效率。

设备管理程序的主要功能是:

1)提供和进程管理系统的接口。当进程申请设备资源时,该接口将进程的请求转送给设备管理程序;

2)进行设备分派;

3)实现设备和设备、设备和CPU等之间的并行操作;4)进行缓冲区管理。

2.数据传送控制方式有哪几种?试比较它们各自的优缺点。

答:外部设备和内存之间的常用数据传送控制方式有四种。它们是:

1)程序直接控制方式;其优点是控制简单,所需硬件支持少。其缺点是CPU和外部设备只能串行工作,CPU的利用率低;不能实现设备之间的并行工作;只适用于那些CPU执行速度较慢,而且外部设备较少的系统。

2)中断控制方式;其优点是所需硬件支持较少,与程序直接控制方式相比,使CPU的利用率大大提高且能支持多道程序和设备的并行操作。其缺点是消耗的CPU处理时间较多;随着外部I/O设备的增多和速度的提高,可能会造成CPU无法响应中断和出现数据丢失现象。

3)DMA方式;其优点是I/O速度较快,大大减少了CPU进行中断处理的次数;排除了因并行操作设备过多时CPU来不及处理或因速度不匹配而造成数据丢失等现象。其缺点是所需硬件较多;多个DMA控制器的同时使用会引起内存地址的冲突并使得控制过程进一步

繁杂化。

4)通道方式;其优点是I/O速度快,进一步减轻了CPU的工作负担和增加了计算机系统的并行工作能力。其缺点是控制较繁杂,所需的硬件最繁杂。

3.何谓通道?试画出通道控制方式时的CPU、通道和设备的工作流程图。

答:通道是一个独立于CPU的专管输入/输出控制的处理机,它控制设备与内存直接进行数据交换。它有自己的通道指令,可由CPU执行相应指令来启动通道,并在操作终止时向CPU发中断信号。在运行的时候,通道有自己的总线控制部分,可以进行总线操作。在有了通道之后,CPU仅需发出一条I/O指令给通道,说明要执行的I/O操作和要访问的I/O设备。通道接到指令后,就启动相应的通道程序来完成I/O操作。如下图:

设C指定通道接收到start指令通道设置设备的控制寄放器当前进程等待,调数据入数据缓冲寄放器被调度进程缓冲寄放器的内容入内存接收到中断信号吗?否改变设备控制寄放器的内容度程序调度其它进程发start指令,指明I/O操作、设备号和对应通道,允许中断位与启动位置1是传送完毕?是发中断信号,中止I/O操作否转中断处理

4.何谓中断?何谓中断处理?何谓中断响应?

答:中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后,又返回原来被中断处继续执行的过程。

CPU转去执行相应的事件处理程序的过程称为中断处理。

CPU收到中断请求后转到相应的事件处理程序称为中断响应。

5.何谓开中断?何谓关中断?何谓中断屏蔽?

答:尽管产生了中断源和发出了中断请求,但CPU内部的处理机状态字PSW的中断允许位已被清除,从而不允许CPU响应中断。这种状况称为阻止中断,也称为关中断。CPU阻止中断后只有等到PSW的中断允许位被重新设置后才能接收中断,PSW的中断允许位的设置被称为开中断。

中断屏蔽是指在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应。

6.何谓陷入?何谓软中断?试述中断、陷入和软中断之间异同。

答:陷入是指中断指令造成中断;而由程序运算引起的各种错误,如地址非法等称为异常。软中断是通信进程之间用来模拟硬中断的一种信号通信方式,它的处理过程类似于中断过程,但不需要通过硬件来产生中断请求。中断则是指外部设备发出的中断;

中断与陷入除在优先级设置方面有区别之外,还有如下区别:

(1)陷入寻常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。也即:对处理机来说,陷入是主动的,而中断是被动的。

(2)陷入处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的。

(3)CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中响应陷入。

中断与陷入都可以看作是硬中断,而软中断则不然,它是通信进程之间用来模拟硬中断的一种信号通信方式。

软中断和硬中断一致的地方是:其中断源发中断请求或软中断信号后,由接收进程在适当的时机自动进行中断处理或完成软中断信号所对应的功能。

7.描述中断控制方式时的CPU动作过程。

答:

CPU

向设备发start命令

将中断允许位置

调度程序调度其他进程执行

受到中断否

信号了

中断处

被中断程序继续

执行

8.何谓缓冲区?为什么要引入缓冲?

答:缓冲即是使用专用硬件缓冲器或在内存中划出一个区域用来暂时存放输入输出数据的地方.

引入缓冲是为了匹配外设和CPU之间的处理速度,减少中断次数和CPU的中断处理

时间。

9.在对缓冲队列em(空缓冲区),in(输入缓冲区)和out(输出缓冲区)进行管理时,采用最近最少使用算法存取缓冲区,即在把一个缓冲区分派给进程之后,只要不是所有其它的缓冲区都在更近的时间内被使用过了,则该缓冲区不再被分派出去。试描述过程take_buf(type,number)和add_buf(type,number)。

structbuffer{inttype;

intaccess_time;type*next_element;}em,in,out;

take_buf(type,number);{

buffer*p,number;

p=get_the_head_of_thequeue(type);while(pnull){

if(number.access_time>p.access_time)return*p;else

p=p.next_element;}

returnnumber;}

add_buf(type,number);{

buffer*p,number;

p=get_the_head_of_thequeue(type);while(pnull)

p=p.next_element;p.next_element=number;}

10.用于设备分配的数据结构有哪些?它们之间的关系是什么?

答:用于设备分配的数据结构有:设备控制表DCT、系统设备表SDT、控制器表COCT和通道控制表CHCT。

SDT整个系统一张,每个设备有一张DCT,每个控制器有一张COCT,每个通道有一张CHCT。SDT中有一个DCT指针,DCT中有一个COCT指针,COCT中有一个CHCT指针。

11.设计一个设备分派的安全检查程序,以保证把某台设备分派给某进程是不会出现死锁。

答:参见任爱华主编的“计算机操作系统〞,由科学出版社出版的教材4.5.2节设备分派策略和4.5.3节图4.16。

12.何谓I/O控制?它的主要任务是什么?

答:I/O控制是指从用户进程提出输入/输出请求开始,到为用户进程分派设备和启动有关设备进行I/O操作,并在I/O操作完成之后响应中断,直至善后处理为止的整个系统控制过程。主要任务就是完成进程提出的I/O请求,实现对外设的分派和控制。

13.I/O控制可用哪几种方式实现?各有什么优缺点?答:I/O控制过程在系统中可以按三种方式实现:

1)作为请求I/O操作的进程的一部分实现。这种状况下,请求I/O进程应具有良好的实时性,且系统应能根据中断信号的内容确凿地调度对应I/O请求的进程占据处理机,由于在大多数状况下,当一个进程发出I/O请求命令之后,都被阻塞睡眠。

2)作为当前进程的一部分实现。作为当前进程的一部分实现时,不要求系统具有高的实时性。但由于当前进程与完成的I/O操作无关,所以当前进程不能接受I/O请求命令的处理,因此,假使让请求I/O操作的进程调用I/O操作控制部分(I/O请求处理、设备分派、缓冲区分派等),而让当前进程负责调用中断处理部分也是一种可行的I/O控制方案。

3)I/O控制由专门的系统进程——I/O进程完成。在用户进程发出I/O请求命令之后,系统调度I/O进程执行,控制I/O操作。同样,在外设发出中断请求之后,I/O进程也被调度执行以响应中断。I/O请求处理模块、设备分派模块以及缓冲区管理模块和中断原因分析、中断处理模块和设备驱动程序模块等都是I/O进程的一部分。

14.设备驱动程序是什么?为什么要有设备驱动程序?用户进程怎样使用驱动程序?答:设备驱动程序是驱动物理设备直接进行I/O操作的控制程序。它负责设置与相应设备有关的寄放器的值,启动设备进行I/O操作,指定操作的类型和数据流向等。

设备驱动程序作为输入/输出软件中的一个层次,用于把软件的设备操作指令转换为相应的设备控制的机械操作命令,以实现用户软件的设备无关性。

当用户进程发出输入/输出请求时,系统把请求处理的权限放在文件系统,文件系统通过驱动程序提供的接口将任务下放到驱动程序,驱动程序对设备控制器进行操作,设备控制器再去控制设备本身。通过这种层层隔离的方式,用户不必了解设备的各种特性,使用户的操作简单易行。

文件系统习题

1.说明以下术语:记录、文件、文件系统、特别文件、目录文件、路径、文件描述符。答:记录:记录是一种数据结构,它是一些相关数据项的集合。数据项是一些相关字符的集合。例如,在“学生登记表〞文件中一个学生的所有数据项的集合就是一个学生状况记录,学生状况记录可以包括姓名、性别、年龄、成绩等数据项,而姓名、年龄、性别、成绩等数据项则由若干个字符组成。

文件:所谓文件是指具有符号名的数据信息的集合。该符号名是用以标识文件的,称为文件名。

文件系统:所谓文件系统是指在操作系统中专门负责存取和管理外部存储器上目录或文件信息的程序部分。

特别文件:在UNIX系统中,所有硬件设备也作为文件系统中的文件统一管理,这些硬件设备文件称为特别文件,分为字符设备特别文件和数据块设备特别文件两类。

目录文件:目录文件是保存目录结构信息的文件,在目录文件中保存着该目录所包含的目录或文件记录,每个记录包括目录或文件的名字、大小、存储位置、存取权限及其它相关数据项。

路径:在层次(树状)目录结构中,最高层的目录称为根目录。每个目录又可以包含目录或文件,称为枝节点。每个文件是数据信息的集合,在其下面不能再包含目录或文件,称为叶节点。表示一个文件的从某个目录开始直到该文件的路径描述,称为一个文件的路径。

文件描述符:文件描述符是文件的标识符,文件系统通过文件描述符访问文件。每个文件描述符与一个实际要开启的文件信息结构相联系,在文件信息结构中包含文件的各种属性和标志。在UNIX系统中,当用户启动一个进程时,系统会自动分派三个标准输入输出文件的文件描述符0,1,2,文件描述符0代表标准输入设备(缺省为键盘),文件描述符1代表标准输出设备(缺省为显示器),文件描述符2代表标准错误输出设备(缺省为显示器)。

2.文件系统的功能是什么?有哪些基本操作?答:一个文件系统应具有以下功能:

(1)使用户能建立、修改和删除一个文件;

(2)使用户能在系统控制下共享其他用户的文件,以便于用户可以利用其他人的工作成果;

(3)使用户能便利地建立文件;

(4)使用户能在文件之间进行数据传输;

(5)使用户能通过符号文件名对文件进行访问,而不应要求用户使用物理地址来访问文件;

(6)为防止意外系统故障,文件系统应具有转储和恢复重要文件的能力;(7)为用户文件提供可靠的保护和保密措施。

文件系统的基本操作包括对文件的操作和对目录的操作。

对文件的操作主要包括开启文件、关闭文件、建立文件、撤消文件、复制文件、文件换名、文件列表、打印或显示文件等。

对目录的操作主要包括创立目录、删除目录、开启目录、关闭目录、读目录项、目录换

名、目录链接、删除目录项等。

3.文件按其用途和性质可分成几类,有何特点?答:一.按文件用途分类

(1)系统文件:由与操作系统本身相关的一些信息(程序或数据)所组成的文件。(2)库文件:由系统提供的可供用户调用的各种标准过程、函数和应用程序等。(3)用户文件:由用户的信息(程序或数据)所组成的文件。

二.按文件中数据分类

(1)源文件:从终端或其它输入设备输入的源程序和数据,以及作为处理结果的输出数据文件。

(2)相对地址目标文件:源程序文件通过各种语言编译程序编译后所输出的相对地址形式的目标程序文件。

(3)可执行程序文件:相对地址目标文件通过链接装配程序链接后所生成的可执行程序文件。

三.按文件保护方式分类

(1)只读文件:仅允许对其进行读操作的文件。

(2)读写文件:有控制地允许不同用户对其进行读或写操作的文件。(3)不保护文件:没有任何存取限制的文件。

四.按文件保存时间分类

(1)临时文件:批处理中从作业开始运行到作业终止,或是在分时处理中从会话开始到会话终止期间所保存的临时性文件。一旦这些作业终止,其相应的临时文件也被系统自动撤消。

(2)永久文件:在用户没有发出撤消该文件的命令前,一直需要在系统中保存的文件。

4.有些文件系统要求文件名在整个文件系统中是唯一的,有些系统只有要求文件名在其用户的范围内是唯一的,请指出这两种方法在实现和应用这两方面有何优缺点?

答:文件系统目录组织可以分为一级目录、二级目录和多级目录。在单用户系统中,文件系统可以采用一级目录。在这种状况下,只有一级目录,所以文件名在整个文件系统中必需是唯一的,不能出现重名。在多用户系统中,可采用二级目录,第一级目录作为根目录,每个用户的文件目录作为二级目录。由于每个用户的文件都分别保存在各自的目录中,所以不同用户可使用一致的文件名。多级目录文件系统与二级目录文件系统类似,只不过目录层次更多更繁杂而已。现代操作系统大多采用多级目录文件系统。前者实现起来简单,由于只需要单级目录,后者应用起来更加便利。

5.什么是文件的规律组织?什么是文件的物理组织?文件的规律组织有几种形式?答:从用户的观点出发,需要文件系统提供一种规律结构明了、使用便利的规律文件结构,这种规律文件结构称为文件的规律组织。从系统实现的观点出发,需要为文件系统设计一种在外存储器上存放有效的、实际的物理文件结构,这种物理文件结构称为文件的物理组织。

常见的文件规律组织有以下三种形式:(1)顺序结构的定长记录。

(2)顺序结构的变长记录。

(3)按关键字存取记录。

6.文件的物理组织常见的有几种?它们与文件的存取方式有什么关系?为什么?答:常见的文件物理组织有以下形式:

(1)顺序文件结构:顺序文件结构是计算机中最早使用的一种文件结构。顺序文件是根据记录中某一公共的属性,把一个由规律上连续的记录分派到连续的物理块中,即用物理上的顺序存储来实现文件的规律次序。在这种状况下,物理顺序和规律顺序是一致的。(2)随机文件结构:在随机结构中,文件存放在直接存取型存储设备上,例如磁盘。磁盘文件由若干个不一定连续的磁盘扇区组成。随机文件在数据记录的关键字与其地址之间建立了某种对应关系。随机文件的记录就是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论