当前位置:文档之家› 106010-13-南大计算机系-软件学院本科历年考题及参考答案-6-操作系统试题_数学系(199

106010-13-南大计算机系-软件学院本科历年考题及参考答案-6-操作系统试题_数学系(199

南京大学数学系操作系统试卷参考答案学号姓名专业年级日期得分一、单项选择题1、通常把操作系统看作是一种(1) 软件。

(1) 系统(2) 支援(3) 维护(4) 应用2、对出现的中断事件是由(1) 进行处理的。

(1) 操作系统(2) 硬件(3) 用户程序(4) 解释程序3.. (2) 中断事件是不应该屏蔽的。

(1) 程序(2) 访管(3) 时钟(4) 输入输出4、分页式存储管理中,地址转换工作是由(1) 完成的。

(1) 操作系统(2) 硬件(3) 编译程序(4) 应用程序5、采用固定分区方式管理主存时,每个分区的大小是(3) 。

(1) 一致的(2) 随作业个数而变化(3) 可以不同但预先固定(4) 可以不同但根据作业长度固定6、采用多道程序设计能(3) 。

(1) 缩短每道程序的执行时间(2) 增加平均周转时间(3) 提高并发挥并行能力(4) 降低对处理机调度的要求7、一个作业一般可以分成几个必须顺序处理的工作步骤,而这些工作步骤是由(4) 。

(1) 操作系统规定(2) 编译系统规定(3) 装入程序规定(4) 用户指定8、磁盘是共享设备,因此,每一时刻(4) 进程与它交换信息。

(1) 可有任意多个(2) 限定几个(3) 可以不同(4) 最多有1个9、采用树形目录结构后,不同用户对同一个文件定义的文件名(3) 。

(1) 应该相同(2) 不能相同(3) 可以不同(4) 应该不同10、若用户总是要求用随机存取方式查找文件记录时,则采用索引结构比采用链接结构(2) 。

(1) 困难(2) 方便(3) 一样(4) 有时方便有时困难11、进程的并发(并行)执行是由(1) 引起的。

(1) 多道程序设计(2) 进程状态变化(3) 资源不足(4) 调度策略12、一个等待分配处理机的进程,它的状态应该是(2) 。

(1) 等待(2) 就绪(3) 运行(4) 任意13、使用PV操作后(1) 系统死锁。

(1) 仍可能出现(2) 不会出现(3) 能检测(4) 能解除14、不同的进程它们所包含的程序(2) 。

(1) 必定不同(2) 可以相同(3) 应该相同(4) 应该不同15、分时系统对响应时间性要求比实时系统(1) 。

(1) 低(2) 高(3) 严格(4) 一样二、填空题1、由于硬件采用了中断技术和通道技术使得中央处理机(CPU)与各种外设具有了并行工作的能力。

2、一个用高级语言编写的用户作业,在计算机上运行时一般要分成三个作业步,第一步先进行编译,第二步进行连接装配,第三步进行执行后就产生作业执行结果。

3、操作系统是用PCB 标识进程的存在和记录进程的有关信息。

4、系统中存在多个进程时,这些进程对资源的使用存在着不同的相互制约关系,制约关系可归结为两种,一种是互斥(竞争) 关系,另一种是同步(协作) 关系。

5、如果要保证任何时刻都是最高优先级进程在处理机上运行,那么,应该采用优先权调度算法进行进程调度。

6、采用动态重定位可变分区管理技术,硬件一定要提供地址重定位和保护作为支持。

7、为了管理系统中的外围设备,往往对每一台设备事先确定一个编号,以识别各台设备,这些编号称为设备的物理号;而用户在请求使用设备时,由用户给出的编号称设备的逻辑号。

8、当用户已经读取了磁盘上的某个文件信息后,认为该文件不必再保存了。

那么,他可以先调用关闭文件操作,然后再调用撤销文件操作。

这时,系统会将该文件撤消。

三、简答题1、操作系统中为什么要引入“进程”概念?在多道程序环境下,程序可以并发执行,一个程序的任意两条指令之间都可能发生随机事件而引发程序切换。

因而,每个程序的执行都可能不是连续的。

此外,程序的并发执行又引起了资源共享和竞争的问题,造成了各并发执行的程序间可能存在制约关系,程序和计算不再一一对应。

系统需要一个既能描述程序动态执行过程,又能用来共享资源的一个单位,操作系统引入的这个单位就是进程。

2、什么叫文件的存储结构?用户组织的逻辑上的文件以不同方式保存到物理存储设备的存储介质上去,所以,文件的物理存储结构是指逻辑文件在物理存储空间中的存放方法和组织关系。

有两类方法可用来构造文件的物理存储结构。

第一类称计算法,如直接寻址文件、计算寻址文件,顺序文件等。

第二类称指针法,如索引文件、索引顺序文件、连接文件、倒排文件等。

3、叙述记录的成组和分解操作。

文件的若干个逻辑记录合并成一组,写入到磁盘上的一个物理块中叫记录成组,成组操作一般先在输出缓冲区内进行,凑满一块后才将缓冲区内的信息写到存储介质上。

反之,当存储介质上的一个物理记录读进输入缓冲区后,把文件的逻辑记录从块中分离出来的操作叫记录的分解。

记录的成组和分解操作不仅节省存储空间,还能减少输入输出操作次数,从而,提高系统效率。

4、文件目录的表目中应包含哪些基本内容?文件目录的表目又称文件控制块FCB(File Control Block),一般应该包括以下内容:●有关文件存取控制的信息:如文件名、用户名、文件主存取权限、授权者存取权限:文件类型和文件属性,如读写文件、执行文件、只读文件等。

●有关文件结构的信息:文件的逻辑结构,如记录类型、记录个数、记录长度、成组因子数等。

文件的物理结构,如文件所在设备名,文件物理结构类型,记录存放在外存的相对位置或文件第一块的物理块号,也可指出文件索引的所在位置等。

●有关文件使用的信息:已打开该文件的进程数,文件被修改的情况,文件最大和当前大小等。

有关文件管理的信息:如文件建立日期、文件最近修改日期、文件访问日期、文件保留期限、记帐信息等。

有了文件目录后,就可方便地实现文件的“按名存取”。

5、在进行作业调度时,经常会采用短作业优先调度算法和最高响应比优先调度算法,指出这两种算法各自的优点。

短作业优先SJF算法是以进入系统的作业所要求的CPU时间长短为标准,总是选取估计计算时间最短的作业投入运行。

SJF的平均作业周转时间比FCFS要小,故它的调度性能比FCFS 好。

响应比最高者优先算法既考虑作业等待时间,又考虑作业的运行时间,这样既照顾了短作业又不使长作业的等待时间过长,改进了调度性能,使作业”饥饿”现象不会发生。

6、组成操作系统的构件有哪些?简单说明之。

通常把组成操作系统程序的基本单位称作操作系统的构件。

构成操作系统的基本单位除内核之外,主要有进程、线程和管程。

内核不是进程,它对硬件处理器及有关资源进行首次改造,是为进程运行提供基本功能和基本操作支持的一组程序模块,有了内核的支撑,进程运行环境得到改善,安全性得到保证,系统效率就能提高。

进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。

是操作系统进行资源分配和多道程序管理的基本单位。

由于它既能描述程序动态执行过程,又能解决系统资源的共享性问题。

所以,操作系统很早就引入多进程的概念。

线程是在进程内部划分的更小的执行和调度单元,这些单元共享进程资源以便于通信和切换,降低系统的时空开销。

管程是管理共享资源的一种同步机制,它使得原来分散在进程中的临界区集中了起来统一控制和管理,方便了对共享资源的使用,对管程的调用表示对共享资源的请求与释放。

由于管程的引入,使并发进程之间的相互作用更为清晰,更容易编写出正确的并发程序。

四、应用题假定在某移动臂磁盘上,刚刚处理了访问75号柱面的请求,目前正在80号柱面读信息,(2) 最短寻找时间优先算法分别列出实际处理上述请求的次序。

答:(1)电梯调度算法查找次序为:80、90、102、160、188、190、58、40、32,查找总柱面数为:268。

(2)最短查找优先查找次序为:80、90、102、58、40、32、160、188、190,查找总柱面数为:250。

五、进程同步1、用PV操作为工具,正确解决五个哲学家吃通心面问题。

var fork i :array[0..4] of semaphore;fork i := 1;cobeginprocess Pi // i=0,1,2,3beginL1:思考;P(fork[i]); //i=4 P(fork[0])P(fork[i+1] mod 5); P(fork[4])吃通心面;V(fork[i]);V(fork[i+1] mod 5);goto L1;end;coend.2、假定有三个进程R、W1、W2共享一个缓冲器B,而B中每次只能存放一个数,当缓冲器中无数时,进程R可以把从输入设备上读入的数存放在缓冲器B中,若存放到缓冲器中的是奇数,则允许进程W1将其取出打印;若存放到缓冲器中的是偶数,则允许进程W2将其取出打印。

同时规定:进程R必须等缓冲器中的数被取出后才能再存入一个数;进程W1或W2对每次存入缓冲器的数只能打印一次;W1和W2都不能从空的缓冲器中取数。

请用管程实现正确管理。

解:TYPE R-W1-W2=MONITORVAR buf:integer;SW1,SW2,SR:codition;int SW1_count,SW2_count,SR_count;turn:{p,q,r};DEFINE RPUT,W1GET,W2GUT;USE wait,signal,check,release;procedure RPUT(var data:integer;);begincheck(IM);if turn !=p then wait(SR, SR_count ,IM);buf:=data;if data/2=1 then turn:=q;signal(SW1, SW1_count,IM);else turn:=r; signal(SW2,IM);release(IM);endprocedure W1GET(var data:integer;);begincheck(IM);if turn !=q tnen wait(SW1, SW1_count,IM)data:=buf;turn:=p;signal(SR, SR_count ,IM)release(IM);endprocedure W2GET(var data:integer;);begincheck(IM);if turn !=r tnen wait(SW2, SW2_count,IM);data:=bufturn:=p;signal(SR, SR_count ,IM);release(IM);endbeginSR:=0;SW1:=0;SW2:=0;turn:=p;endmain(){ cobeginprocess Rx:=integer;beginLP:从文件读入一个数据到x;PPUT(x);goto LP;endprocess W1x:=integer;beginLQ:W1GET(x);打印奇数x;goto LQ;endprocess W2x:=integer;beginLR:RGET(x);打印偶数x;goto LR;end}coend。

相关主题