1.存储程序式计算机的主要特点是什么?
答:主要特点是以顺序计算为基础,根据程序规定的顺序依
次执行每一个操作,控制部件根据程序对整个计算机的活动实行
集中过程控制,即为集中顺序过程控制。这类计算是过程性的,
实际上这种计算机是模拟人们的手工计算的产物。即首先取原始
数据,执行一个操作,将中间结果保存起来;再取一个数,和中
间结果一起又执行一个操作,如此计算下去。在遇到多个可能同
时执行的分支时,也是先执行完一个分支,然后再执行第二个分
支,直到计算完毕。
2.批处理系统和分时系统各具有什么特点?
答:批处理系统是在解决人一机矛盾以及高速度的中央处理
机和低速度的I/O设备这两对矛盾的过程中发展起来的。它的出
现改善了CPU和外设的使用情况,其特点是实现了作业的自动定
序、自动过渡,从而使整个计算机系统的处理能力得以提高。
在多道系统中,若采用了分时技术,就是分时操作系统,它
台计算机同时为多个任务服务。对用户都能保证足够快的响应时
间,并提供交互会话功能。它与批处理系统之间的主要差别在于,
3.实时系统的特点是什么?一个实时信息处理系统和一
个分时系统从外表看来很相似,它们有什么本质的区别呢?
领域,配置上实时监控系统,便组成各种各样的专用实时系统。
实时系统按其使用方式不同分为两类:实时控制系统和实时信息
处理系统。实时控制是指利用计算机对实时过程进行控制和提供
监督环境。实时信息处理系统是指利用计算机对实时数据进行处
理的系统。实时系统大部分是为特殊的实时任务设计的,这类任
务对系统的可靠性和安全性要求很高。
与分时系统相比,实时系统没有那样强的交互会话功能,通
常不允许用户通过实时终端设备去编写新的程序或修改已有的
程序。实时终端设备通常只是作为执行装置或询问装置,属专用
系统。
4.什么是多道程序设计技术?试述多道程序运行的特
征。
答:多道程序设计技术是在计算机内存中同时存放几道相互
独立的程序,使它们在管理程序控制下,相互穿插地运行。
多道程序运行的特征如下:
(1)多道:计算机内存中同时存放几道相互独立的程序。
(2)宏观上并行:同时进入系统的几道程序都处于运行过
程中,即它们先后开始了各自的运行,但都未运行完毕。
(3)微观上串行:从微观上看,内存中的多道程序轮流地
或分时地占有处理机,交替执行(单处理机情况)。
5.什么是操作系统?从资源管理的角度去分析操作系
统,它的主要功能是什么?
答:操作系统是一个大型的程序系统,它负责计算机的全部
软、硬件资源的分配与回收,控制与协调等并发活动,实现信息
的存取和保护。它提供用户接口,使用户获得良好的工作环境,
为用户扩展新的系统功能提供软件平台,操作系统使整个计算机
系统实现了高效率和高度自动化。
操作系统的主要功能是管理系统的软、硬件资源,它们可归
为四类:处理机管理、存储管理、设备管理和文件管理等。
6.操作系统的主要特征是什么?为什么会具有这样的特
征?
答:操作系统的特征有:并发性,共享性,不确定性,虚拟
性。
其中并发性和共享性是其主要特征。由于操作系统建立并控
制着多个并发执行的进程,完成着同时进行的几项任务,进程之
间相互制约,并且共享着系统的某些资源,进程的这些活动便形
成了操作系统的主要特征。并且许多事件的产生是随机的,而且
事件产生的先后顺序又有许多可能组合,但操作系统必须能处理
任何一种可能的事件序列。所以,操作系统又具有不确定性。另
外,操作系统中还广泛使用了虚拟技术,使得配备了操作系统之
后的系统在资源的使用上更加自由和灵活,不受物理设备数量的
限制。
7.设一计算机系统有输入机一台、打印机两台,现有二
道程序同时投入运行,且程序A先开始运行,程序B后运行。
程序A的运行轨迹为:计算50nls,打印信息100ms,再计算50ms,
打印信息100ms,结束。程序B运行的轨迹为:计算50ms,输
入数据80ms,再计算100ms,结束。要求:
(1)用图画出这二道程序并发执行时的工作情况。
(2)说明在二道程序运行时,CPU有无空闲等待?若有,
(3)程序A、B运行时有无等待现象?在什么时候会发生
等待现象?
答:
(1)工作情况如图。
5100ms5100ms
计打计打
程序A
5582100ms
甯il输等计
051015182030
b
工作情况的另一种描述形式如下:
程--------------------
程------------------------------
输入-----------------
打--------------------
15,20
------------------------1U---------------------------------------------------------------------t
进程管理习题
1现代操作系统中为什么要引入“进程”概念?它与程序有什么
区别?
答:之所以要引入进程的概念,是因为在一些可以并发
的程序段之间,存在着某种相互制约的关系,每个程序段的执行
不仅要受到其它程序执行的制约,而且还要动态地依赖系统资源
的分配情况,因此每个可以并发执行的程序段就会因外界条件的
限制而不能运行,被迫处于阻塞状态。仅用程序的概念无法表示
程序的走走停停以及程序运行过程中对资源的竞争现象,因此需
要采用一种动态的概念描述并发程序这种走走停停的现象,这就
产生了进程的概念。
进程和程序的区别:
(1)进程是程序的执行过程,是动态的过程,属
于一种动态概念。程序是一组有序静态指令和数据的集
合,用来指示处理机的操作,是一种静态概念。
(2)从结构上看,每个进程实体是由程序段和相
应的数据段两部分构成,并且进程结构中还要包含PCB,
即进程控制块。
(3)一个进程可以涉及到一个或几个程序的执
行;反之,同一程序可以对应多个进程,即同一个程序
段可以在不同数据集合上运行,可以构成不同的进程。
(4)进程能真实地描述并发执行的过程,而程序
仅仅是静态指令堆积的序列。
(5)进程有可创建其他进程的功能,而一般的程
序不具有创建其它程序的功能。
(6)每一个程序都是在一个进程现场中运行的。
2叙述进程的并发性和制约性。
答:并发性是进程的重要特征。即多道程序中多个进程同时
向前推进的过程,没个进程总是与其它进程并发地执行的。进程
的制约性是指一个进程的运行受到另一进程的制约。比如有的进
程可能正在等待另一进程的计算结果而无法运行,或者进程所需
的资源被别的进程占有而无法运行。
3进程的含义是什么?如何构造和描述进程?
答:进程是程序的一次执行。进程由“进程控制块+程序+
数据”构成,用进程控制块描述进程。
4有三个并发进程,R负责从输入设备读入信息并传送给M,M将
信息加工并传送给P,P将打印输出,写出下列条件下的并发程
序。
(1)双缓冲区,每个区大小为K。
(2)单缓冲区,其大小为K。
(1)双缓冲区,每个区大小为K,信号量初值
如下:
mutexR=mutexP=l;
emptyR=emptyP=k;
fullR=fullP=O;
变量的初值如下:
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;
procedureR
begin
whiletruedo
输入数据datal;
P(emptyR);
P(mutexR);
bufferR(inR):=datal;
inR:=(inR+1)mod(k);
V(mutexR);
V(fullR);
end
end;
procedureM
P(fullR);
data2:=bufferR(outR);
outR:=(outR+1)mod(k);
V(emptyR);
对data2进行加工;
P(emptyP);
P(mutexP);
bufferP(inP):=data2;
inP:=(inP+l)mod(k);
V(mutexP);
V(fullP);
procedureP:
P(fullP);
P(mutexP)
data3:=bufferP(outP);
outP:=(outP+1)mod(k);
V(emptyP);
打印data3;
seminitinal(mutexR.v,1;mutexP.v,1;empty
R.v,k;fullR.v,0;emptyP.v,k;fullP.v,0);
inR:=0;outR:=0;
inP:=0;outP:=0;
cobegin
R;
M;
P;
coend
end.
(2)单缓冲区,大小为k
empty,full,ok,mutex:semaphere;
procedureR:
P(empty);
P(mutex);
buffer(inR):=datal;
V(mutex);
V(full)
procedureM:
whileturedo
P(full);
data2:"buffer(outR);
对data2加工;
buffer(inP):=data2;
inP:=(inP+1)mod(k);
V(ok);
proedureP:
P(ok);
data3:=buffer(outP);
outP:=(outP+l)mod(k);
V(empty);
seminitial(empty,v,k;full.v,0;ok.v,0;mutex,v,1);
P;
5在生产者与消费者问题的算法中,交换两个V操作的次序
会有什么结果?交换两P操作的次序呢?说明理由。
答:交换两P操作的次序有可能造成死锁。例如,当无空缓
冲区时,如果此时生产者先做互斥操作,即:P(mutex),然后才
做同步操作P(empty),由于此时empty=-l造成生产者被阻塞。
当消费者执行到互斥操作P(mutex)Ht,由于生产者已执行过
P(mutex)并未作释放,所以此时mutex=-l,造成消费者也被阻
塞,生产者等消费者释放空缓冲区,而消费者则等待生产者释放
临界资源的使用权,所以两个进程都无法向前推进而造成死锁。
交换两个V操作的次序不会发生死锁。
6设有三个进程A、B、C,其中A与B构成一对生产者与消费
者(A为生产者,B为消费者),共享一个由n个缓冲块组成的缓
冲池;B与C也构成一对生产者与消费者(此时B为生产者,C
为消费者),共享另一个由m个缓冲块组成的缓冲池。用P、V操
作描述它们之间的同步关系。
mutexA,emptyA,fullA,mutexC,emptyC,fullC:
i,j,a,b:integer;
bufferA:array0..n-1ofitem
bufferC:array0..m-1ofitem;
procedureproduceA:生产者进程A
Producenextproduct;
P(emptyA);
P(mutexA);
bufferA(i):=products;
i:=(i+l)mod(n);
V(mutexA);
V(fullA)
procedureconsumer_procedurerB:消费者和生产者进
程B
P(fullA);
Goods:=buffer(j);
j:=(j+l)mod(n);
V(emptyA);
ConsumegoodsandProducenextproductC;
P(emptyC);
P(mutexC);
BufferC(a):=productC;
a:=(a+1)mod(m);
V(mutexC);
V(fullC)
procedureconsumerC;消费者C进程
P(fullC);
Goods:=bufferC(b);
b:=(b+l)mod(m);
V(emptyC);
Consumeproduct;
Seminitsal(mutexA.v,1;mutexC.v,1;
emptyA.v,n;emptyC.v,m;fullA.V,OjfullC.V,0);
i:=0;j:=0;a:=0;b:=0;
produceA
consumer_procedurerB;
consumerC
7有一阅览室,共有100个座位。读者进入时必须先在一张
登记表上登记,该表为每一座位列一表目,包括座号和读者姓名。
读者离开时要消掉登记内容。试用P、V操作描述读者进程的同
步结构。
mutex:semaphere;信号量,用于互斥
full:semaphere;信号量,用于同步
table:array0..n-1ofitem;登记表
procedurereader;读
者进程
Register_name(table);
Reading;
Deletname(table);
seminitsal(mutex,v,1;full,v,100);
初始化
reader;
8.引入线程的目的是什么?
答:引入线程的目的是提高程序执行的并行度。
9引入管程的目的是什么?
答:引入管程的目的把分散的临界区集中起来管理,为每个
可共享的资源设立一个专门的机构来统一管理各进程对该共享
资源的访问。这样使互斥操作更安全,既便于系统管理共享资源,
又能保证互斥访问。
10用管程实现读者与写者关系。
管程部分描述如下:
monitorrw;
conditionwrt;
varreadcount:integer;
procedureentryread_start();
readcount:=readcount+l;
procedureentryreadfinish();
readcount:=readcount-l;
ifreadcount=0thensingal(wrt)
procedureentrywrite();
ifreadcount>0thenwait(wrt);
performwriting;
readcount:=0
主程序部分:
procedurewritter:
repeat
rw.write();
untilfalse;
procedurereader:
rw.read_start();
performreading;
rw.read_finish();
writter;
coend.
11何谓进程通信?
答:进程通信是指进程之间的信息交换。
12消息通信机制中应设置哪些基本通信原语?
答:应设置send(A)(发送消息)原语,A是原语的参数,
表示发送区的起始地址。
receive(B)(接受消息)原语,B是接受进程提
供的接收区起始地址。
13何谓死锁?举例说明之。
答:两个以上的进程相互等待一个永远不可能发生的条件而
无法向前推进,这种僵局称为死锁。例如:如图所示的单行道上
的交通阻塞。
存储管理习题
1.何谓名字空间?何谓地址空间?何谓存储空间?
答:名字空间:程序中符号名的集合。
地址空间:在目标模块中的地址的集合。
存储空间:实际内存地址的集合。
址重定位
连接
名字空间地址空间
存储空间
2.在分区分配方案能用于实现虚拟内存吗?
答:不能,因为虚拟存储最重要的特点就是离散性,而分区分
配方案只适用于连续分配方式,即全部程序都放在内存,而不允
许程序运行时一部分在内存、一部分在外存。所以,无法提供内
存的逻辑扩充功能。
3.为什么要引入动态重定位?如何实现
答:动态重定位便于程序浮动。由于在目标模块装入内存
100
某程序的地址空
动态重定位示意图
口寸无需对其进行任何修改,因而装入之后再搬迁也不会影响其正
确执行。
实现时,需要采用动态重定位硬件机构:重定位寄存器和加
法器。如图所示。
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的利用率大大提高且能支持多道程序
部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
4.何谓中断?何谓中断处理?何谓中断响应?
答:中断是指计算机在执行期间,系统内发生任何非寻常的
或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程
序而转去执行相应的事件处理程序,待处理完毕后,又返回原来
被中断处继续执行的过程。
CPU转去执行相应的事件处理程序的过程称为中断处理。
CPU收到中断请求后转到相应的事件处理程序称为中
断响应。
5.何谓开中断?何谓关中断?何谓中断屏蔽?
答:尽管产生了中断源和发出了中断请求,但CPU内部
的处理机状态字PSW的中断允许位已被清除,从而不允许CPU响
应中断。这种情况称为禁止中断,也称为关中断。CPU禁止中断
后只有等到PSW的中断允许位被重新设置后才能接收中断,PSW
的中断允许位的设置被称为开中断。
中断屏蔽是指在中断请求产生之后,系统用软件方式有选择
地封锁部分中断而允许其余部分的中断仍能得到响应。
6.何谓陷入?何谓软中断?试述中断、陷入和软中断之间
异同。
答:陷入是指中断指令造成中断;而由程序运算引起的各
种错误,如地址非法等称为异常。软中断是通信进程之间用来模
拟硬中断的一种信号通信方式,它的处理过程类似于中断过程,
但不需要通过硬件来产生中断请求。中断则是指外部设备发出的
中断;
中断与陷入除在优先级设置方面有区别之外,还有如下区
别:
(1)陷入通常由处理机正在执行的现行指令引起,而
中断则是由与现行指令无关的中断源引起的。也即:对处理机来
说,陷入是主动的,而中断是被动的。
(2)陷入处理程序提供的服务为当前进程所用,而中
断处理程序提供的服务则不是为了当前进程的。
(3)CPU在执行完一条指令之后,下一条指令开始之
前响应中断,而在一条指令执行中响应陷入。
中断与陷入都可以看作是硬中断,而软中断则不然,它是
通信进程之间用来模拟硬中断的一种信号通信方式。
软中断和硬中断相同的地方是:其中断源发中断请求或软中
断信号后,由接收进程在适当的时机自动进行中断处理或完成软
中断信号所对应的功能。
7.描述中断控制方式时的CPU动作过程。
答:
8.何谓缓冲区?为什么要引入缓冲?
答:缓冲即是使用专用硬件缓冲器或在内存中划出一个区域
用来暂时存放输入输出数
据的地方.
引入缓冲是为了匹配外设和CPU之间的处理速度,减少中
断次数和CPU的中断处理
9.在对缓冲队列em(空缓冲区),in(输入缓冲区)和out
(输出缓冲区)进行管理时,采用最近最少使用算法存取缓冲区,
即在把一个缓冲区分配给进程之后,只要不是所有其它的缓冲区
描述过程take_buf(type,number)^!Iadd_buf(type,number)0
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(ponull)
if(number.access_time>p.access_time)
return*p;
else
p=p.next_element;
)
returnnumber;
add_buf(type,number);
p.next_element=number;
}
10.用于设备分配的数据结构有哪些?它们之间的关系是什
么?
答:用于设备分配的数据结构有:设备控制表DCT、系统设
备表SDT、控制器表C0CT和通道控制表CHCTo
SDT整个系统一张,每个设备有一张DCT,每个控制器有一
张C0CT,每个通道有一张CHCToSDT中有一个DCT指针,DCT中
有一个C0CT指针,C0CT中有一个CHCT指针。
11.设计一个设备分配的安全检查程序,以保证把某台设备
分配给某进程是不会出现死锁。
答:参见任爱华主编的“计算机操作系统”,由科学出版
社出版的教材4.5.2节设备分配策略和4.5.3节图4.16o
12.何谓I/O控制?它的主要任务是什么?
答:I/O控制是指从用户进程提出输入/输出请求开始,到
为用户进程分配设备和启动有关设备进行I/O操作,并在I/O操
作完成之后响应中断,直至善后处理为止的整个系统控制过程。
主要任务就是完成进程提出的I/O请求,实现对外设的分配和控
制。
13.DO控制可用哪几种方式实现?各有什么优缺点?
答: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.文件按其用途和性质可分成几类,有何特点?
答:一.按文件用途分类
数据)所组成的文件。
(2)库文件:由系统提供的可供用户调用的各种标准过程、
函数和应用程序等。
(3)用户文件:由用户的信息(程序或数据)所组成的文件。
二.按文件中数据分类
(1)源文件:从终端或其它输入设备输入的源程序和数据,
以及作为处理结果的输出数据文件。
(2)相对地址目标文件:源程序文件通过各种语言编译程序
编译后所输出的相对地址形式的目标程序文件。
(3)可执行程序文件:相对地址目标文件通过链接装配程序
链接后所生成的可执行程序文件。
三.按文件保护方式分类
(1)只读文件:仅允许对其进行读操作的文件。
(2)读写文件:有控制地允许不同用户对其进行读或写操作
的文件。
(3)不保护文件:没有任何存取限制的文件。
(1)临时文件:批处理中从作业开始运行到作业结束,或是
在分时处理中从会话开始到会话终止期间所保存的临时性文件。
一旦这些作业终止,其相应的临时文件也被系统自动撤消。
(2)永久文件:在用户没有发出撤消该文件的命令前,一直
需要在系统中保存的文件。
4.有些文件系统要求文件名在整个文件系统中是唯一的,有
些系统只有要求文件名在其用户的范围内是唯一的,请指出这两
种方法在实现和应用这两方面有何优缺点?
答:文件系统目录组织可以分为一级目录、二级目录和多
级目录。在单用户系统中,文件系统可以采用一级目录。在这种
情况下,只有一级目录,所以文件名在整个文件系统中必须是唯
的,不能出现重名。在多用户系统中,可采用二级目录,第一
级目录作为根目录,每个用户的文件目录作为二级目录。由于每
个用户的文件都分别保存在各自的目录中,所以不同用户可使用
相同的文件名。多级目录文件系统与二级目录文件系统类似,只
不过目录层次更多更复杂而已。现代操作系统大多采用多级目录
文件系统。前者实现起来简单,因为只需要单级目录,后者应用
起来更加方便。
5.什么是文件的逻辑组织?什么是文件的物理组织?文件
的逻辑组织有几种形式?
答:从用户的观点出发,需要文件系统提供一种逻辑结构
清晰、使用方便的逻辑文件结构,这种逻辑文件结构称为文件的
逻辑组织。从系统实现的观点出发,需要为文件系统设计一种在
外存储器上存放有效的、实际的物理文件结构,这种物理文件结
构称为文件的物理组织。
常见的文件逻辑组织有以下三种形式:
(1)顺序结构的定长记录。
(2)顺序结构的变长记录。
(3)按关键字存取记录。
6.文件的物理组织常见的有几种?它们与文件的存取方式
有什么关系?为什么?
答:常见的文件物理组织有以下形式:
(1)顺序文件结构:顺序文件结构是计算机中最早使用的一
种文件结构。顺序文件是根据记录中某一公共的属性,把一个由
逻辑上连续的记录分配到连续的物理块中,即用物理上的顺序存