名校操作系统历年考研试题(含解答) 联系客服

发布时间 : 星期二 文章名校操作系统历年考研试题(含解答)更新完毕开始阅读9a50b72651e79b89680226e0

? 170 第一级 第二级 第三级 物理块

(b)三级索引 图2.3

二级索引文件最大长度:[512/3]×[512/3]=170×170=28900(块〉

三级索引文件最大长度:[512/3]×[512/3]×[512/3]=170×170×170=491300(块) (六)综合题(7分) (1)可能会发生死锁

例如:进程P1、P2和P3分别获得资源S3、S1和S2后再继续申请资源时都要等待,这是循环等待。

(或答进程在等待新源时均不释放已占资源。) (2)可有几种答案: A.采用静态分配

由于执行前己获得所需的全部资源,故不会出现占有资源又等待别的资源的现象(或不l会出现循环等待资源现象)。 或B.采用按序分配

不会出现循环等待资源现象。 或C.采用银行家算法

因为在分配时,保证了系统处于安全状态。

? 10.7 西北工业大学1999年考研操作系统试题

(一)选择题

1.在采用SPOOLING技术的系统中,用户的打印数据首先被送到________。 A.磁盘固定区域 B.内存固定区域 C.终端 D.打印机 2.当CPU执行操作系统代码时,称CPU处于________。

A.执行态 B.目态 C.管态 D.就绪态 3.如果I/O所花费的时间比CPU的处理时间短得多,则缓冲区________。 A.最有效 B.几乎无效 C.均衡 D.以上都不是 4.操作系统提供给程序员的接口是________。

A.进程 B.系统调用 C.库函数 D.B和C 5.在下列性质中,不是分时系统的特征。

A.多路性 B.交互性 C.独占性 D.成批性 6.在UNIX操作系统中,文件的索引结构存放在________中。 A.超级块 B.I节点 C.目录项 D.空闲块

7.若信号S的初值为2,当前值为-1,则表示有_________等待进程。 A.0个 B.1个 C.2个 D.3个 8.UNIX操作系统的进程控制块中常驻内存的是________。 A.proc结构 B.proc结构和核心梭 C.proc区 D.proc结构和user结构

9.当________时,进程从执行状态转变为就绪状态。 A.进程被调度程序选中 B.时间片到

C.等待某一事件 D.等待的事件发生 10.文件系统的主要目的是________。

A.实现对文件的按名存取 B.实现虚拟存储 C.提高外存的读写速度 D.用于存储系统文件 (二)简答题

1.进程和线程的主要区别是什么?

2.一般从哪些方面对操作系统进行性能评价? 3.什么是文件的物理结构和逻辑结构? 4.何为纯代码,它有什么用途?

(三)试论述磁盘调度的电梯算法的基本思想和算法。

(四)产生死锁的必要条件是什么? UNIX操作系统在其管道通信中是如何避免死锁的? (五)UNIX操作系统是如何在其打开文件结构中实现文件共享的? (六)计算题:

有一矩阵Var A:array[1..100,1..100] of integer: 以行为先进行存储。有一个虚存系统,物理内存共有三页,其中一页用来存放程序,其余两页用于存放数据。假设程序已在内存中占一页,其余两页空闲。 程序A:

for i:=1 to 100 do

for j:=1 to 100 do

A[i,j]:=0;

程序B:

for j:=1 to 100 do

for i:=1 to 100 do

A[i,j]:=0;

若每页可存放200个整数,程序A和程序B的执行过程各会发生多少次缺页? 试问: 若每页只能存放100个整数呢? 以上说明了什么问题?

2.假设某系统中有五个进程,每个进程的执行时间(单位:ms)和优先数如下(优先数越小,其优先级越高):

进程 P1 P2 执行时间 10 1 优先数 3 1 P3 P4 P5 2 1 5 5 4 2 如果在0时刻,各进程按P1,P2,P3,P4,P5的顺序同时到达,试说明:当系统分别采用先来先服务的调度算法、可剥夺的优先级调度算法、时间片轮转法(时间片为1ms)时,各进程在系统中的执行情况,并计算在上述每种情况下进程的平均周转时间。

西北工业大学1999年考研操作系统试题解答

(一)选择题

1.A 2.C 3.B 4.B 5.D 6.B 7.B 8.A 9.B l0.A (二)简答题

1.进程和线程是构造操作系统的两个基本元素,两者之间的主要区别是: (1)调度方面: 线程作为调度分派的基本单位。 (2)并发性方面: 进程之间可以并发执行。

(3)拥有资源方面: 进程是拥有资源的基本单位,线程除少量必不可少的资源外,基本上不拥有资源,但它可以访问其隶属进程的资源。

(4)系统开销: 进程间切换时要涉及到进程环境的切换,开销比较大:而线程间切换只需保存和设置少量的寄存器内容,因此进程间切换的系统开销远大于线程间切换的系统开销。 2.一般从下列四个方面对操作系统进行性能评价: (1)系统效率。体现系统效率方面的指标是系统处理能力(吞吐量)、资源的利用率以及响应时间等。系统效率是评价操作系统的一个重要性能指标。

(2)系统的可靠性、可用性和可维护性。系统的可靠性@、可用性(A)和可维护性(S)用系统的平均故障时间(M四日和平均故障修复时间(MTTR)来衡量,其公式如下:

R=MTBF S=MTTR

A=MIBF/(MTBF+MTTR)=R/(R+S)

(3)方便性。方便性即指操作系统是否操作简单,容易掌握。 (4)可移植性。可移植性是指操作系统能很好地适应不同机器系列,即在硬件发生变化时,操作系统只需做少量的改变,就能在新的机器上运行。

3.文件的逻辑结构,是指文件在用户\思维\中的结构,是从用户的观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构。它的目标是为用户提供一种结构清晰、使用方便的逻辑文件形式,用户按照这种组织形式可以去存取、检索和加工有关文件信息。文件的逻辑结构主要有两种:有结构的记录式文件和无结构的流式文件。

文件的物理结构是指文件在存储设备上的存储组织形式,又称为文件的存储结构。其主要目标是工作性能良好、设备利用率高,系统按照这种形式去和外部设备打交道,控制信息的传输。常用的文件物理结构有:连续结构、链接结构、索引结构和hash结构。

4.纯代码(Pure Cord)也就是可再入码(Reentry Cord),是指进程执行时不可修改的、为多个进程所共享的那部分程序代码。纯代码的主要用途是能被多个进程同时共享执行。

(三)电梯调度算法同时考虑两个条件作为优先的准则:既考虑申请者要求磁头移动的方向,又考虑要求磁头移动的距离,而且首先是方向一致,其次才是距离最短。该算法所选择的下一个访问对象应是其欲访问的磁道在当前磁道之外,又是距离最近的。这样由里向外地访问,直至再无当前磁道之外的磁道需要访问,才将磁头臂换向,由外向里访问。这时,选择在当前磁道之内、距离最近的磁道访问,磁头逐步向里移动,直至再无当前磁道之内的磁道需要访问,从而避免了饥饿现象。该算法中磁头的移动规律与电梯类似,故称为电梯算法。

(四)产生死锁有四个必要条件:

(1)互斥控制。进程对所要求的资源进行排它控制,在一段时间内一个资源仅能被一个进程使用。

(2)不可剥夺控制。进程所获得的资源在未释放前,不能被其它进程剥夺。即使该进程处于阻塞态,它所占资源也不能被其它进程使用,只有等待占有该资源的进程释放后才能给别的进程使用。

(3)请求和保持。为了提高资源利用率,进程在运行过程中可随时提出对各种资源的请求,当进程因请求资源而阻塞时,对已获得的资源保持不放。 (4)环路等待条件。在发生死锁时,进程的资源状态图必构成环路,即前一进程保存着后一进程所要求的资源。

UNIX操作系统在其管道通信中避免死锁的方法是:当发生读/写等待时,在等待前先检查对方是否已关闭。如果发现对方己关闭,则读/写进程不必等待而直接返回。另外,进程在关闭管道文件时,也要检查对方是否正在等待。如果发现对方正在等待,则应先唤醒等待进程。 (五)UNIX操作系统的文件共享包括两个方面,即磁盘文件的共享和打开文件的共享。UNIX操作系统实现磁盘文件共享非常方便,不同目录中的文件指向同一个i节点,就可以实现共享。文件在目录结构中的共享是一种静态的共享。而当多个用户同时打开某一文件对其访问时,将在内存中建立打开文件结构,这时的共享称为打开文件结构中的共享,这是一种动态的共享。

UNDIX的文件系统中打开文件结构由三部分组成: (1)进程打开文件表。每个进程都有一个进程打开文件表,其中每一项是一个指针,指向系统打开文件表。

(2)系统打开文件表。系统打开文件表也叫打开文件控制块。一个进程每打开一个文件都有一个系统打开文件表,其中主要包含:

f-count 指向该系统打开文件表的进程数 f-inode 指向一个打开文件的内存I节点 (3)内存I节点。其中主要包括:

i-addr[ ] 文件在盘上的物理位置信息

i-count 与此内存I节点相连的系统打开文件表的个数

不同用户对打开文件的共享只需将系统打开文件表中的指针f-inode指向同一个内存I节点即可。在这种共享方式中,共享文件的各个进程拥有各自独立的文件读、写指针。但子进程共享父进程的文件却是同一个读写指针。 (六)计算题

1.考虑本题所给条件: 每个主存块的大小为可以存放200个数组元素,有两个内存块可以用来存放数组信息,数组中的元素按行编址。 对于程序A,数组访问顺序是:

A[1,1],A[1,2],A[1,3],??,A[1,100] A[2,1],A[2,2],A[2,3],??,A[2,100]

A[100,1],A[100,2],A[100,3],??,A[100,100]

显然,数组的存储顺序与访问顺序一致,每访问两行数组遇到一次缺页中断。如果采用LRU页面调度算法,会产生50次缺页中断。

对于程序B,数组访问顺序是:

A[1,1],A[2,1],A[3,1],??,A[100,1] A[1,2],A[2,2],A[3,2],??,A{100,2]

A[1,100],A[2,100],A[3,100],??,A[100,100]