操作系统2018秋考前复习题(共9页).docx
精选优质文档-倾情为你奉上2018年 秋季学期操作系统考前复习题第一部分 必考题一、 单项选择题 1. 引入多道程序操作系统的主要目的是( A )。 A) 提高CPU和其他设备的利用率B)使不同程序都可以使用各种资源C) 操作更为方便D)使串行程序执行时间缩短 2. 中断是指( D )。A) 操作者要求计算机停止B) 操作系统停止了某个进程的运行C) 操作系统停止了计算机的运行D) CPU对系统中发生的异步事件的响应3. 用信号量机制来控制打印机的共享使用。如果系统中共有2台打印机,这时,信号量的初值应该是 ( C ).A) 0B) 1C) 2 D) -24. 在I/O系统层次模型中处于最高的一个层次,负责所有设备I/O工作中均要用到的共同的功能的模块是( D )。 A) 设备驱动程序B) 设备驱动程序接口C)系统服务接口D) I/O子系统 5. 一个作业的进程处于阻塞状态,这时该作业处于(C )。A) 提交状态B)后备状态)运行状态)完成状态 6. 关于进程的概念,下面的说法( A )是不对的。 A) 一个程序对应一个进程B) 进程是动态的C) 进程是程序的一次执行D) 进程有生命周期 7. 进程中对互斥变量进行操作的代码段,我们称之为( D )。A) 内存共享B) 并行性C) 同步D) 临界段 8. 采用简单分页系统的内存管理,页面的大小是8K字节。现有一个逻辑地址A2280h,该进程的页表为 0,5/1,/2,1/3,0.,则该逻辑地址对应的物理地址A' ( A )。A) D280hB) 0280hC)8280hD) 7280h 9. 计算机数据总线的宽度,一般对应于计算机的( A )。 A) 位B) 块C) 字长D) 字节10. 不支持记录等结构的文件类型是( D )。A)哈希文件B) 索引顺序文件C) 索引文件D) 顺序文件 二、 多项选择题 11. 操作系统具有哪些基本功能( ACD )A资源管理B病毒查杀C人机接口D网络连接 12. 下面的软件,属于操作系统的是( ABCD ). A) AndroidB) Windows XPC) DOSD) Linux 13. 操作系统中,对目录的设计主要包括( CD )。A文件名规则B扇区分配C目录内容D目录结构14. 通常我们通过破坏哪些条件来预防死锁的发生( AD )。A资源独占B不可抢夺C部分分配D循环等待15. 关于重定位,下面的描述哪些是正确的( ACD )。A)重定位技术有静态重定位和动态重定位两种。B)重定位是把程序中的相对地址变换为绝对地址。C) 在程序运行时进行重定位是静态重定位。D) 对应用软件的重定位是由操作系统实现的。三、 判断题16. 线程仅能由操作系统所创建。BA)正确 B) 错误17. 通过二级页表的地址映射访问主存,存取数据需要两次访问主存。BA)正确 B) 错误18. 一个进程被挂起后,它将不再参与对CPU的竞争。AA)正确 B) 错误19. 银行家算法是用来检测当前系统中是否有死锁的发生。AA)正确 B) 错误20. 一个被汇编、编译或连接装配后的目标程序所限定的地址的集合是逻辑地址空间。AA)正确 B) 错误.四、 简答题1. 试述现代操作系统的主要特点.1、微内核结构2、多线程机制3、对称多处理器机制SMP4、分布式操作系统5、面向对象的技术。2. 什么是进程?进程与程序的区别是什么?答:进程是具有一定独立功能的程序在一组特定的数据集上的一次运行活动。1、进程是动态的,程序是静态的;2、进程有自己的生命周期,具有建立、运行、停止、结束等不同的运行阶段和状态;3、进程除了和程序相关以外,还和数据相关;4、进程可以包含多个程序;5、程序可以对应多个进程,程序没执行一次,就是一个进程。五、 .画图题 1. 图示基本的进程状态的变化图第二部分 练习题1. 引入了多线程机制,进程的概念还存在么?如果存在,进程的作用是什么?线程是进程内部一个调度的实体,进程的主要功能是完成对资源的控制。2. 请问是否是在任何情况下,多线程都比多进程效率高么?在什么情况下多线程机制可以发挥出其高效的优势?不是。只有当这些任务使用相同的资源,或者需要通过共享文件来进行通信时,多线程机制才能较好的发挥出优势3. 图示作业直至线程的层次关系4. 已知读写磁头位于53号磁道,现有磁盘请求序列为98,183,37,122,14,124,65,67。此时磁头正由外向里移动。要求图示采用循环扫描策略磁盘调度算法实现上述请求的过程。并计算完成上述过程磁头移动的总道数。5. 请简述计算机和网络的四项安全要求.1、机密性2、完整性3、可用性;4、可靠性6. 试述死锁的必要条件死锁可以定义为:一组竞争系统资源或者相互通信的进程,它们之间相互“永远阻塞”的状态称之为死锁。三个必要条件:1、资源的互斥使用;2、资源的不可抢占;3、资源你的分次分配机制;一个充分条件:循环请求等待状态。7. 试述信号量的三个要素及其使用方法。答:三个要素:整形变量(数字灯)、wait操作(申请资源按钮)、signal操作(释放资源按钮)整型变量,我们称之为信号量。它的值表示的是当前可用资源的数目。当其值大于“0”时,表示有资源可以被任何进程使用。当其值为“0”时,对最后一个申请资源的进程,表示已经得到了最后一个资源,所以是“绿色”;对于刚刚释放资源的进程来说,加上自己释放的资源,可用资源数还是“0”,表示有其他进程在等待这个资源,这时应该是“红色”。如果它的数值小于“0”,表示不仅没有资源可用,而且还有进程在等待该资源,这时它数值的绝对值表示的是等待的进程的数量。所以这时应该是“红色”。如果这时的值是“-1”,表示的状态是一个进程正在使用该资源,一个进程在等待。Wait操作:当一个进程需要使用资源时,wait操作相当于一个申请资源的按钮。Wait操作的首先把信号量的值“减1”,表示该进程要求占用一个资源。对信号量的值更改后,进程再去判断是否得到了资源。这时根据信号量的值就可以判断:如果“减1”后其值大于等于“0”,则该进程得到了资源的使用权,所以我们在上面的示例中用“绿色”表示。这时进程就直接完成对资源的访问。如果“减1”后其值小于“0”,则表示正有其他进程在使用该资源,本进程无法立即使用该进程。这时,通常要采用“阻塞等待”的方式,就是本进程变为“阻塞状Signal操作:当一个进程要退出对资源的使用时,Signal操作相当于一个释放资源的按钮。作为Wait操作对应的逆过程,Signal操作首先要对信号量的值执行“加1”操作,使可用的资源数目增加,同时放弃自己对该资源的使用。由于采用“阻塞等待”方式,释放资源的进程还有义务来唤醒正在等待资源的进程。为了完成这个步骤,释放资源的进程首先要检查是否有进程在等待这个资源,当信号量的值小于等于“0”时,表示有进程等待资源,这时,它要通知操作系统,操作系统通过阻塞在该资源上的进程控制块的队列,找出需要唤醒的进程进行调度。如果信号量的值大于“0”,表示没有进程在等待该资源,本进程就可以直接向前执行,对该资源的使用控制过程宣告结束。8. 下面是利用信号量机制来管理接收/打印机制中字符和缓冲区的伪代码程序。A) 请根据程序上下文关系,来补全中括号位置的语句内容。B) 如果缓冲区大小变为10,这时伪语言源代码需要如何改变?Program producer-consumer /*程序:生产者-消费者*/*定义缓冲区B,信号量Sp、Se 其中Sp、控制字符资源同步,Se控制空间资源同步*/Int B;Semaphore_1_Sp=0_,_2_Se=1_; /*初始时系统内字符数为0,缓冲区空间为1*/Void Producer() /*定义生产者进程(接收进程)*/While (ture)/*永远循环*/receive(C); /*接收字符并放在变量C中*/_3_Wait(Se)_;/*申请缓冲区空间,有就向下执行,无就阻塞等待*/B=:C;/*赋值语句,将收到的字符放入缓冲区B中*/_4_Signal(Sp)_;/*释放出一个字符。并检查是否有进程等待该字符*/*生产者进程结束*/Void consumer() /*定义消费者进程(打印进程)*/While (ture)/*永远循环*/_5_Wait(Sp)_;/*申请字符打印,有就向下执行,无就阻塞等待*/Print(B);/*打印缓冲区B中字符*/_6_Signal(Se)_;/*释放出一个空间资源。并检查是否有进程等待空间*/*消费者进程结束*/Void main()/*主程序*/Parbegin ( Producer(), Consumer();/*并行启动进程,使其由操作系统进行自由调度*/9. 某系统中有三类资源M1,M2,M3,其资源总数分别为10,5,8。系统中有四个进程P1,P2,P3,p4,它们分别已得到的资源数如下表A, 它们还需要的资源数如下表B。试问, 按银行家算法能否安全分配?并说明分配过程。M1M2M3M1M2M3P1210P1241P2302P2123P3102P3312P4122P4415表A:资源分配情况表B:各进程还需要的资源数能安全分配,可以找到安全序列p3,p1,p2,p4,让4个进程执行完毕。过程如图。(10,5,8)-(7,3,6)=(3,2,2)(资源总量-已分资源量=可用资源量)。10. 下面是利用信号量机制来管理接收/打印机制中字符和缓冲区的伪代码程序. 请根据程序上下文关系,来补全相关语句的说明行.批改标准:每条备注价值3分。其中第一条Wait语句和第一条signal语句的注解价值4分。Program producer-consumer /*程序:生产者-消费者*/Int B;Semaphore Sp、=0, Se=1; /* (1)初始时系统内字符数为0, 缓冲区空间为1 */Void Producer() /*定义生产者进程(接收进程)*/While (ture)/*永远循环*/receive(C); /*接收字符并放在变量C中*/Wait(Se);/* (2)申请缓冲区空间,有就向下执行,无就阻塞等待 */B=:C;/*赋值语句,将收到的字符放入缓冲区B中*/Signal(Sp);/* (3)向系统中释放出一个字符,并检查是否有进程等待字符 */*生产者进程结束*/Void consumer() /*定义消费者进程(打印进程)*/While (ture)/*永远循环*/Wait(Sp);/* (4)申请字符打印,有就向下执行,无就阻塞等待 */Print(B);/*打印缓冲区B中字符*/Signal(Se);/* (5)释放出一个空间资源,并坚持是否有进程等待空间 */*消费者进程结束*/Void main()/*主程序*/Parbegin ( Producer(), Consumer();/* (6)并行启动进程,使其由操作系统进行自由调度 */11. 现在有一个作业,分配到3个页架,运行时依此访问的页号为7,0,1,2,0,3,0,4,2,3。要求采用最近未使用的页面调度方法,图示调度过程,并说明产生了几次缺页中断(页架空闲初次装入时,不计入缺页次数)进程的请求序列7 0 1 2 0 3 0 4 2 3 最新使用的页 7 01 2230423701123042最老使用的页70012304缺页标志 + + + +12. 假定有三个进程R、W1、W2共享一个缓冲器B,B中每次只能存放一个数。进程R每次启动输入设备读一个数且把它存放到缓冲器B中。若存放到缓冲器中的是奇数,则由进程W1将其取出打印;若存放到缓冲器中的是偶数,则由进程W2将其取出打印。同时规定进程R仅当缓冲器中无数或缓冲器中的数已被取出打印后才能再存放一个数;进程W1和W2对存入缓冲器的不能重复打印,也不能从空的缓冲器中取数。要求使用同步机制管理这三个并发进程,使它们能正确地同步工作。beginB:integer;S,SO,SE:(1) ;S:=(2);SO:=0;SE:=0;cobegin PROCESS R x:integer; begin L1:|从输入设备读一个数|; x:=读入的数; (3) ; B:=x; if B=奇数 then Signal(SO); else (4) ; goto L1 end; PROCESS W1 y:integer; begin L2:Wait(SO); y:=B; (5) ; |打印y中的数|; goto L2 end; PROCESS W2 z:integer; begin L3:(6) ; z:=B; Signal(S); |打印y中的数|; goto L3 end;coend;end;请补充上适当的内容:(1) semaphore ;(2) 1 ; (3) Wait(S) ;(4) Signal(SE) ;(5) Signal(S) ;(6) Wait(SE) ;并且请分别说明三个信号量 S、SO和SE的作用。答:S为互斥信号量,用来对缓冲器的互斥使用;SO和SE为资源信号量,SO表示是否允许进程W1打印;SE标识是否允许W2打印;专心-专注-专业