6.动态策略7.缓冲区技术8.中断和通道9.软件实现10.剥夺式优先级
(三)问答题(每小题15分,共30分)
1.(见西安交大2000年考题中第五题的解答)
2.
(1)在作业装入内存运行前,应将各个目标程序定位后装入作业的地址空间,形成可执行程
序的链接,称为静态链接。
静态链接常常因为目标程序个数多而花费大量的CPU寸间,而实际
运行时又常常只用到其中的部分模块,因而也造成了存储空间的浪费。
动态链接是作业运行时先装入主程序,运行过程中需要某模块寸,再将该模块的目标程序调入内存并进行链接,它克服了静态链接的不足。
(2)分段存储管理就是最典型的动态链接。
分段管理允许用户将作业按逻辑关系进行自然分段各段的大小可以不同。
逻辑段内的地址是由两部分组成的(s:
段号,d:
段内位移量),即分段
地址空间是用户定义的二维空间。
内存分配以段为单位,段可以在作业运行过程中根据请求而动态链接和装入。
(四)(共10分)利用"文件控制块分解法"加快文件目录的检索速度,其原理是减少因查找文件内部号而产生的访问磁盘次数。
因为在进行查找文件内部号的过程中不需要把文件控制块的所用内容都读入内存,所以在查找过程中减少所需读入的存储块就有可自色减少访问磁盘的次数。
但是,采用这种方法访问文件,当找到匹配的文件控制块后,还需要访问一次磁盘,才能读出全部的文件控制块信息。
这就是为何采用这种方法在一定条件下并不能减少访问磁盘的次数的原因。
(1)采用分解法前,查找该目录文件的某一个文件控制块的平均访问磁盘次数为:
64X(254/2)/512=16
采用分解法后,查找该目录文件的某一个文件控制块的平均访问磁盘次数为:
10X(254/2)/512+1=4
⑵访问磁盘次数减少的条件为64X(x/2)/512>10X(x/2)/512+1,解不等式得x>=19时访
问磁盘的次数减少。
(五)(共10分)
1TO时刻是安全状态,因为可以找到一个安全的序列(P4,P5,Pl,P2,P3)。
2不能分配。
因为所剩余的资源数量不够。
3可以分配。
当分配完成后,系统剩余的资源向量为(0,3,2),这时仍可找到一个安全的序列队
(P4,P5,Pl,P2,P3)。
4不能分配。
若分配完成后,系统剩余的资源向量为(0,3,匀,这时无法找到一个安全的序列。
(六)(共10分)在本题中,为了保证系统的控制流程,增加了Monitor进程,用于控制学生的进入和计算机分配。
从题目本身来看,虽然没有明确写出这一进程,但实际上这一进程是存在的。
因此,在解决这类问题时,需要对题目加以认真分析,找出其隐蔽的控制机制。
上机实习过程可描述如下:
BEGIN
student,computer,enter,finish,check:
semaaphore;
studen:
=0;computer:
=2m;mter:
=0;finish:
=O;check:
=0;
COBEGIN
ProcessProcedureStudent:
begin
V(student);{P(computer);{P(enter);{
DOitwithpartner;V(finish);{
P(check);{V(computer);{end
ProcessProcedureTeacher:
begin
L1:
P(finished);{
P(finished);{
checkthework;V(check);{
V(check);{
gotoL1;
end
ProcessProcedureMonitorbegin
L2:
P(student);{
{{{
表示有学生到达}获取一台计算机}等待允许进入}
表示实习完成}
等待教师检查}释放计算机资源}
等待学生实习完成}等待另一学生实习完成}
表示检查完成}
表示检查完成}
P(student);
V(enter);
V(enter);
end
等待学生到达}等待另一学生到达}允许学生进入}允许学生进入}
Coend
END
10.2西安交通大学
1999年考研操作系统试题
(一)名词解释(30分,每小题5分)
1.多道程序设计2.工作目录
3.线程与进程4.地址空间与存储空间
5.通道6.系统调用
(二)判断、选择与填空题(每题1分,共15分)
1.程序的并发执行是指同一时刻有两个以上的程序,它们的指令在同一处理器上执行。
()
2.对于请求分页式存储管理系统,若把页面的大小增加一倍,则缺页中断次数会减少一半。
()
3.三个用户在同一系统上同时对他们的C语言源程序进行编译,此时系统应分别为各用户创建一个C编译进程及保留一份C编译程序副本。
()
4.可顺序存取的文件不一定能随机存取,但是,凡可随机存取的文件都可以顺序存取。
()
5.缓冲技术是借用外存储器的一部分区域作为缓冲池。
()
6.在操作系统中,P、V操作是一种。
(A)机器指令(B)系统调用命令
(C)作业控制命令(D)低级进程通讯原语
7.最佳适应算法的空白区是。
(A)按大小递减顺序排列的(B)按大小递增顺序排列的
(C)按地址由小到大排列的(D)按地址由大到小排列的
8.把作业地址空间中使用的逻辑地址变成内存中的物理地址称为。
(A)加载(B)
重定位(C)
物理化
(D)
逻辑化
9.文件系统用_
__组织文件。
(A)堆核(B)
指针(C)
(D)
路径
10.磁盘是设备
磁带是设备,显示器是_
设备。
(A)输入(B)输出(C)输入输出(D)虚拟
11.并发进程中涉及相同变量的程序段叫做,对这些程序段要执行。
12.分区存储管理方案不能实现虚拟的原因是。
13.目前认为逻辑文件有两种类型,即式文件与式文件。
14.进程调度算法采用等时间片轮转法,时间片过大,就会使轮转法转化为调度算法。
15.采用交换技术获得的好处是以牺牲为代价的。
(三)简答题(每题10分,共50分)
1.试述分时系统与实时系统,并比较它们的区别。
2.何谓虚拟存储器?
举一例说明操作系统是如何实现虚拟内存的。
3•什么是P、V操作?
试用P、V操作描述读者一写者问题。
要求允许儿个阅读者可以同时读
该数据集,而一个写者不能与其他进程(不管是写者还是读者)同时访问该数据集。
4.磁盘请求的柱面按10,22,20,2,40,6,38的次序到达磁盘的驱动器,寻道时每个柱面移动需要6ms。
计算按以下算法调度时的寻道时间:
(1)先来先服务;
(2)下一个最邻近的柱面;(3)电梯算法。
以上所有情况磁头臂均起始于柱面20。
5.对3种不同的保护机制,即权限,存取控制表以及UNIX操作系统的RW)位,简述下面的情况分别适用于哪些机制。
(1)甲用户希望除他的同事以外,任何人都能读取他的文件;
(2)乙用户和丙用户希望共享某些秘密文件;
(3)丁用户希望公开他的一些文件。
西安交通大学1999年考研操作系统试题解答
(一)名词解释(每小题5分,共30分)
1.多道程序设计是指在主存中同时存放多道用户作业,它们都处于执行的开始点和结束点之
间。
多道程序设计的特点如下:
(1)多道。
主存中有多道程序,它们在任一时刻必须处于就绪、运行、阻塞三种状态之一。
(2)宏观上并行。
从宏观上看,它们在同时执行。
(3)微观上串行。
从微观上看,它们在交替、穿插地执行。
采用多道程序设计后,减少了CPU时间的浪费。
尤其对计算题的作业,由于I/O操作较少,CPIJ浪费的时间很少。
2.文件系统如果采用多级树型目录,那么使用完整的路径名来查找文件会感到很不方便,因此引入了"工作目录"。
考虑到通常一个进程在一段时间内所访问的文件具有局部性,即在某一范围之内,所以可在这一段时间内指定某一目录为工作目录或值班目录。
以后的操作一般都是针对以工作目录(也称为当前目录)为根的子目录树进行的。
3.所谓线程(thread),从操作系统的管理角度看,就是指"进程的一个可调度实体",是处理机调度的基本单位:
从编程逻辑看,线程是指"程序内部的一个单一的顺序控制流"。
线程是进程的一个组成部分,每个进程在创建时通常只有一个线程,由这个线程再创建其它进程。
通常一个进程都有若干个线程,至少会有一个线程。
进程和线程是构造操作系统的两个基本元素,两者之间的主要区别是:
(1)调度方面:
线程作为调度分派的基本单位。
(2)并发性方面:
进程之间可以并发执行。
(3)拥有资源方面:
进程是拥有资源的基本单位,线程除少量必不可少的资源外,基本上不拥有资源,但它可以访问其隶属进程的资源。
(4)系统开销:
进程间切换时要涉及到进程环境的切换,开销比较大。
而线程间的切换只需保存和设置少量的寄存器内容。
因此进程问切换的系统开销远大于线程问切换的系统开销。
4.程序经编译和连接以后转变为相对地址编址形式,它是以0为基址的。
相对地址也叫逻辑地址或虚地址。
地址空间是逻辑地址的集合。
计算机系统实际的内存地址是绝对地址。
绝对地址又叫物理地址或实地址。
存储空间是物理地址的集合。
5.通道又称I/O处理机,它使主机摆脱了管理I/O的工作,彻底实现了主机和外设的并行操作。
具有通道结构的计算机系统,主存、通道、控制器和设备之间采用四级连接,实施三级控制。
这样,1/0系统就由通道、控制器、设备三级构成。
一个CPU可以连接多个通道,一个通道可
以连接多个控制器,一个控制器可以连接同类型的多台设各。
另一方面,也允许将一台设备连接到几个控制器上,或一个控制器连接到几个通道上。
按信息交换方式和连接的设备类型不同可以将通道分为三种类型:
(1)字节多路通道;
(2)选择通道;(3)数组多路通道
6.系统调用是用户在程序中能用"访管指令"调用的由操作系统提供的子功能的集合。
每一个子功能称为一条系统调用命令〈或广义指令〉。
系统调用是操作系统在程序级给用户提供的接口。
(2)判断、选择与填空题(每题1分,共15分)
1.错2.错3.错4.对5.错6.(D)
7.(B)8.(B)9.(C)1O.(C)和(D),(C),(B)
11.临界区互斥
12.作业的地址空间不能超过存储空间
13.有结构的记录无结构的流
14.先来先服务(FCFS)
15.CPU时间
(3)简答题(每题10分,共50分)
1.所谓分时系统,就是在一台计算机上,连接多个终端,用户通过各自的终端和终端命令把作业送入计算机,计算机又通过终端向各用户报告其作业的运行情况,这种计算机能分时轮流地为各终端用户服务并能及时对用户服务请求予以响应,这就构成了分时系统。
分时系统设计的主要目标是使用户能与系统交互作用,对用户的请求及时响应,并在可能的条件下尽量提高系统资源的利用率。
实时系统是为了能对特定输入做出及时响应,并在规定的时间内完成对该事件的处理而引入的。
实时系统分为两大类z实时控制系统和实时信息处理系统。
(1)实时控制系统:
在这类应用中要求计算机系统实时采集测量系统的数据,对被测量的数据及时进行加工处理及输出。
它主要用于军事和生产过程中的自动控制领域。
(2)实时信息处理系统:
在这类应用中要求计算机系统能对用户的服务请求及时作出回答,并能及时修改、处理系统中的数据。
它主要用于像飞机票的预定、银行储蓄的财务管理等大量数据处理的实时系统中。
实时系统与分时系统的主要区别如下:
1系统的设计目标不同。
分时系统的设计目标是提供一种随时可供多个用户使用的通用性很
强的系统:
而实时系统则大多数都是具有某种特殊用途的专用系统。
2响应时间的长短不同。
分时系统的响应时间通常为秒级:
而实时系统的响应时间通常为毫秒级甚至是微秒级。
3交互性的强弱不同。
分时系统的交互性强,而实时系统的交互性相对较弱。
2.在操作系统中,通过一些硬件和软件的措施为用户提供了一个其容量比实际主存大得多的存储器,称为虚拟存储器。
操作系统要实现虚拟内存,必须把主存和辅存统一管理起来,即大作业程序在执行时,有一部分地址空间在主存,另一部分在辅存,当访问的信息不在主存时,由操作系统将其调入主存并实现自动覆盖功能,使用户在编写程序时不再受主存容量的限制。
例如在请求分页存储管理系统中,用户作业的所有页面并不一定都在实存,在作业运行过
程中再请求调入所用的虚页。
为了实现从逻辑地址空间到物理地址空间的变换,在硬件上必须
提供一套地址变换机构,动态地址变换机构自动地将所有的逻辑地址划分为页号和页内地址两部分,并利用页表将页号代之以块号,把块号和页内地址拼接就得到了内存的物理地址,从而实现了虚拟存储器。
3.读者一写者问题是经常出现的一种同步问题。
计算机系统中的数据(文件、记录)常被多个
进程共享,但其中某些进程可能只要求读数据(称为Reader):
另一些进程则要求修改数据(称
为Writer)。
就共享数据而言,Reader和Writer是两种不同类型的进程。
一般地,两个或两个以上的Reader进程同时访问共享数据时不会产生副作用,但若某个Writer和其它进程
(Reader或Writer)同时访问共享数据时,则可能产生错误。
为了避免错误,同时尽可能地让读者进程和写者进程并发运行,只要保证任何一个写者进程能与其它进程互斥访问共享数据即可。
这个问题称为读者一写者问题。
下面使用信号量机构来描述这一问题。
P、V操作是定义在信号量s上的两条原语,它是解决进程同步与互斥的有效手段。
定义下列信号量:
互斥信号量rmutex,初值为1,用于使读者互斥地访问读者计数器,共享变量rcount:
互斥信号量wmutex,初值为1,用于实现写者之间以及写者与读者之间互斥地访问共享数据集。
则用信号量和P、V操作描述读者一写者问题如下:
Begin
rmutexwmutex:
semaphore;
rcount:
Integer;rmutex=wmutex=1;
rcount=0;
Cobegin
ProcessprocedureReader
begin
repeat
P(rmutex);rcount:
=rcount+1ifrcount=lthenP(rmutex);
V(rmutex);
perfonnreadoperations;
P(rmutex);
rcount:
=rcount-1;
ifrcount=OthenV(rmutex);
V(rmutex);
untilfa1se;
end
ProcessprocedureWriter
begin
repeat
P(wmutex);
performwriteoperations;
V(wmutex);
untilfalse;
end
Coend
End
4.
6ms,所以,
该题的解题方法是先计算出每种算法的柱面移动总量。
因为每个柱面移动需要寻道时间=柱面移动总量X6ms。
(1)先到先服务算法的调度顺序为:
10,22,20,2,40,6,38柱面移动总量为:
146寻道时间为:
146X6ms=876ms
(2)下一个最邻近柱面算法调度顺序为:
20,22,10,6,2,38,40柱面移动