1、操作系统复习总操作系统2018-2019学年第1学期考试试题(B)卷一、单项选择题(每小题2分,共20分)1在一个计算机系统中,特权指令( )下执行。A.只能在管态 B.只能在用户态 C.可在管态,也可在用户态 D.不能在管态,也不能在用户态2.实时操作系统必须在_内完成来自外部的事件。A.响应时间 B.周转时间 C.规定时间 D.调度时间3、最适合分时系统的进程调度算法是( ) 。 A.FCFS B.SSJF C.优先数法 D.轮转法4.进程从运行状态进入就绪状态的原因可能是_。A.被选中占有处理机 B.等待某一事件C.等待的事件已发生 D.时间片用完5.设有五个进程共享一个互斥段,在同一时
2、间最多允许一个进程进入互斥段,则所采用的互斥信号量初值应该是_。A.5 B.2 C.1 D.06.银行家算法在解决死锁问题中是用于的。A.预防死锁 B.避免死锁 C.检测死锁 D.解除死锁7.在下列存储管理方案中,不适应于多道程序设计的是_。A.单一连续分配 B.固定式分区分配C.可变式分区分配 D.段页式存储管理8.UNIX文件的目录结构采用_。A.简单目录 B.二级目录 C.系统目录 D.带交叉勾链的树型目录9.文件系统的主要目的是_。A.实现对文件的按名存取 B.实现虚拟存储C.提高外存的读写速度 D.用于存储系统文件10.下列算法中用于磁盘移臂调度的是。A时间片轮转法 B.LRU算法C
3、.最短寻找时间优先算法D.优先级高者优先算法二、判断题(每小题2分,共10分)1.采用多道程序设计的系统中,系统的程序道数越多,系统的效率就越高。2.作业的联机控制方式适用于终端作业。3.时间片越小,系统的响应时间就越小,系统的效率就越高。4.程序的并发执行是指同一时刻有两个以上的程序,它们的指令在同一处理器上执行。5.按最先适应算法分配的分区,一定与作业要求的容量大小最接近。三、填空题(每小题2分,共10分)1.为实现CPU与外部设备的并行工作,系统引入了_硬件机制。2.UNIX系统采用_结构存放文件物理块的地址。3.文件的符号名与物理地址的转换是通过_实现的。4.用户编程时使用_地址,处理
4、机执行程序时使用_地址。5.采用资源有序分配算法可以_死锁的发生。四、简答题(每小题5分,共20分) 1.请介绍在文件存储空间的管理中几种常用的技术。2.为什么要引入SPOOLing系统? SPOOLing系统可带来哪些好处?3.进程和线程的主要区别是什么?4产生死锁有四个必要条件?五、计算题(40分)1在一个飞机订票系统中,多个用户共享一个数据库。多用户同时查询是可以接收的,指但若一个用户要订票需更新数据库时,其余所有用户都不可以访问数据库。请画出用户查询与订票的逻辑框图。要求:当一个用户订票而需要更新数据库时,不能因不断有查询者的到来而使他长期等待。(15分)2在一个请求分页存储管理系统中
5、,一个程序的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,设分配给该程序的存储块数为4,试分别求出采用FCFS和LRU页面置换算法时,发生缺页中断的次数和缺页中断率(要求给出页面置换的过程)。 (15分)3磁盘请求的柱面按10,22,20,2,40,6,38的次序到达磁盘的驱动器,寻道时每个柱面移动需要6ms。计算按以下算法调度时的寻道时间:(1)先来先服务; (2)下一个最邻近的柱面; (3)电梯算法。假设以上所有情况磁头臂均起始于柱面20,并刚刚完成了19号柱面的请求。(10分)操作系统试卷2018-2019-1-B答案一、单项选择题(每空2分,共20分)12345678910
6、ACDDCBADAC二、判断题(5*2分)1.错2.对3.错4.错5.错三、填空题(5*2分)1.中断和通道2.索引3.文件目录4.逻辑 物理5.预防四、简答题(4*5分)1.由于文件存储设备是分成若干个大小相等的物理块,并以块为单位来交换信息的,因此,文件存储空间的管理实质上是空闲块的组织和管理问题,它包括空闲块的组织、空闲块的分配与回收等。下面是三种在文件存储空间的管理中常用的技术:(1)空闲文件目录。一个空闲文件是由文件存储器上连续的空闲块组成的。系统为所有的空闲文件建立一个单独的目录表。每个表目对应一个空闲文件,记录该空闲文件的起始块号和块数。空闲文件的分配与回收算法与内存管理中的可变
7、式分区管理的方法相似,同样可以采用最先适应算法、最佳适应算法、最坏适应算法等。(2)空闲块链。空闲块链把文件存储设备上的所有空闲块链接在一起。当申请者需要空闲块时,分配程序从链首取下所需的空闲块,然后调整链首指针。反之,当回收空闲块时,把释放的空闲块逐个插入空闲链上。这种方法的优点是分配和回收一个空闲块的过程都非常简单,缺点是空闲块链可能很长。改进的办法是采用空闲盘区链接法或成组链接法。(3)位示图。位示图利用一个二进制位来记载一个物理块的使用情况。系统为每个文件存储设备建立一张位示图,反映文件存储设备所有物理块的使用情况。每个物理块对应位示图上的一位,如果该位为0,则表示所对应的块是空闲的:
8、反之,则表示所对应的块已被分配。利用位图来进行空闲块分配时,只需查找图中为0的位,并将其置1;反之,回收时只需把相应的位由1改为0。由于位示图很小,可以将它保存在内存中。2.所有字符设备都是独享设备并属于慢速设备,本质上属于顺序存取设备。因此,一个进程在某台字符设各上进行数据交换时,往往要等待较长时间,并且在该数据交换完成之前,其他进程不能同时访问这台设备。而且动态分配也不能真正提高这类设备的利用率,当一个进程正在使用这类设备进行一次较大量的数据交换时,其他需要同时访问该设备的进程就要等待较长的时间,从而降低了整个系统的并发能力。SPOOLing技术正是针对上述问题提出的一种设备管理技术。SP
9、OOLing系统可带来的好处如下:(1)字符设备和各虚拟设备之间的数据交换由SPOOLing进程统一调度实施,而切这种数据交换以并行方式进行,系统呈现出高度的并行性:(2)用户使用的是虚拟设备,可以减少用户进程的等待时间。在多道程序系统中,用程序模拟脱机输入/输出时外围控制机的功能,这样便可在主机的直接控制下实现脱机输入/输出功能。此时的外围操作与CPU对数据的处理同时进行,这种在联机情况下实现的外围设备同时操作称为SPOOLing,也称伪脱机。SPOOLing系统的核心思想是利用一台可共享、高速、大容量的块设备(磁盘)来模拟独占设备的操作,使一台独占设备变成多台可并行使用的虚拟设备。SPOO
10、Ling系统主要由输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程三部分组成。它的好处是提高了I/O操作的速度,将独占设备改造为共享设备,实现了虚拟设备的功能。3.进程和线程是构造操作系统的两个基本元素,两者之间的主要区别是:(1)调度方面: 线程作为调度分派的基本单位。(2)并发性方面: 进程之间可以并发执行。(3)拥有资源方面: 进程是拥有资源的基本单位,线程除少量必不可少的资源外,基本上不拥有资源,但它可以访问其隶属进程的资源。(4)系统开销: 进程间切换时要涉及到进程环境的切换,开销比较大:而线程间切换只需保存和设置少量的寄存器内容,因此进程间切换的系统开销远大于线程间切换的
11、系统开销。4.(1)互斥控制。进程对所要求的资源进行排它控制,在一段时间内一个资源仅能被一个进程使用。(2)不可剥夺控制。进程所获得的资源在未释放前,不能被其它进程剥夺。即使该进程处于阻塞态,它所占资源也不能被其它进程使用,只有等待占有该资源的进程释放后才能给别的进程使用。(3)请求和保持。为了提高资源利用率,进程在运行过程中可随时提出对各种资源的请求,当进程因请求资源而阻塞时,对已获得的资源保持不放。(4)环路等待条件。在发生死锁时,进程的资源状态图必构成环路,即前一进程保存着后一进程所要求的资源。五、计算(40分)1.(15分)本题是典型的读者一写者问题。查询操作是读者,订票操作是写者,而
12、且要求写者优先。为了达到这一控制效果,可以引入一个变量rc,用于记录当前正在运行的读者进程数。每个读者进程进入系统后需对rc值加1。当rc值由O变为1时,说明是第一个读者进程进入,因此需要该读者进程对控制写者进程的信号量Srw进行P操作,以便与写者进程互斥运行:当rc值由非0值增加时,说明不是第一个读者进程,此时控制写者进程的信号量已经过P操作控制禁止写者进程进入,因此不需要再次对该信号量进行P操作。当读者进程退出时,需对rc做减1操作。如发现减1后m值变为0,说明是最后一个读者进程退出,因此需要该读者进程对控制写者进程的信号量Srw进行V操作,以便使写者进程能够进入。资源计数变量rc也是一个
13、临界资源,需要用信号量Src对它进行互斥访问控制。为了提高写者的优先级,我们还增加了一个信号量S,用以在写进程到达时封锁其后续的读者进程。用户查询与订票的逻辑框图如图所示。 查询者 定票者P(S)P(S)P(Srw)P(Src)rc=rc+1更新数据库中的数据rc=1? NV(Srw) YV(S)P(Srw)P(Src)P(S)在数据库中查询所需的信息P(Src)Rc=rc-1Rc=0? N YV(Srw)V(Src) 用户查询与订票的逻辑框图2(15分)(1)FCFS算法的页面置换如下:时刻123456789101112页面走向432143543215M=44+3+42+341+234123
14、41235+124+513+452+341+235+123标志+缺页次数F=10,缺页中断率 10/12=83%(2)LRU算法的页面置换如下:时刻123456789101112页面走向432143543215M=44+3+42+341+23441233415+341453134512+341+235+123标志+缺页次数F=8,缺页中断率8/12=67%3(10分)该题的解题方法是先计算出每种算法的柱面移动总量。因为每个柱面移动需要6ms,所以,寻道时间=柱面移动总量6ms。(1)先到先服务算法的调度顺序为:10,22,20,2,40,6,38柱面移动总量为:10+12+2+18+38+34
15、+32=146寻道时间为:1466ms=876ms(2)下一个最邻近柱面算法调度顺序为:20,22,10,6,2,38,40柱面移动总量为:0+2+12+4+4+36+2=60寻道时间为:606ms=360ms(3)电梯算法调度顺序为:20,22,38,40,10,6,2柱面移动总量为:0+2+16+2+30+4+4=58寻道时间为586ms=348ms一 判断题(正确划“”,错误划“”,10分)1 在分时系统中,由于采用了分时技术,用户可以独占计算机的资源。( )2 操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同。( )3计算机系统采用多道程序设计技术后,缩短了每个程序的执
16、行时间。( )4 操作系统用PCB管理进程,用户进程可以从PCB中读出与本身运行状态有关的信息。( )5存储管理中,固定分区比可变分区的存储器利用率高,因为它不产生碎片。( )二 填空题(10分)1、程序的 执行是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了 这一概念。2、进程存在的标志是 。3、如果系统中有n个进程,则在就绪队列中进程的个数最多为 。4、每执行一次P操作,信号量的数值S减1。若S30,则该进程 ;若S0,则该进程 。5、计算机系统一般都设计有两种运行状态, 和 。6、在段页式存储管理系统中,面向 的地址空间是段式划分,面向 的地址空间是页式划分。三 简答题(40
17、分)1简述操作系统的5个基本功能。2什么是特权指令?如果允许用户进程执行特权指令,会带来什么结果?3 指出如下的每一个进程状态间的转换是否可能发生。如果可能发生,试举一个可以引起这种转换的例子。(a)从运行态到就绪态(b)从运行态到阻塞态(c)从阻塞态到运行态(d)从运行态到终止态4 什么是临界区?5 并行与并发有哪些区别?6 进程通信有哪几种主要方式?7什么是原语?8你认为学习操作系统的意义何在?四 系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机。设每个用户程序对应一个进程。问:这三个进程间有什么样的制约关系?试用P,V操作写出这些进程使用打印机的算法。(20分)五 阅读下
18、列程序,写出运行结果并对结果进行分析。(20分)# include # include # include int pid1,pid2;main() int fd2; char outpipe100,inpipe100; pipe(fd); while (pid1=fork()=-1); if (pid1=0) lockf(fd1,1,0); sprintf(outpipe,child 1 process is sending message!); write(fd1,outpipe,50); sleep(5); lockf(fd1,0,0); exit(0); else while (pid2=fork()=-1); if (pid2=0) lockf(fd1,1,0); sprintf(outpipe,child 2 process is sending message!); write(fd1,outpipe,50); sleep(5); lockf(fd1,0,0); exit(0); else wait(0); read(fd0,inpipe,50); printf(%sn,inpipe); wait(0); read(fd0,inpipe,50); printf(%sn,inpipe); exit(0);