西 电 汤 子 瀛
操 作 系 统 答案 董智勇 2015/6/6
目 录
第一章os引论 ................................................................................................................................... 1
一、单选题 ................................................................................................................................ 1
单选题答案......................................................................................................................... 2 二、简答题 ................................................................................................................................ 3
1 设计现代OS的主要目标是什么? ............................................................................ 3 2 OS的作用可表现为哪几个方面? ............................................................................. 3 3 试说明推动多道批处理系统形成和发展的主要动力是什么? ............................... 3 4 何谓脱机I/O和联机I/O? ......................................................................................... 3 5 试说明推动分时系统形成和发展的主要动力是什么? ........................................... 4 6 试说明实时任务的类型和实时系统的类型. ............................................................ 4 7 实现多道程序应解决哪些问题? ............................................................................... 4 8 试比较单道与多道批处理系统的特点及优缺点. .................................................... 4 9 实现分时系统的关键问题是什么?应如何解决? ..................................................... 5 10 为什么要引入实时操作系统? ........................................................................... 5 11 OS具有哪几大特征?它的最基本特征是什么? ....................................................... 5 12 内存管理有哪些主要功能?它们的主要任务是什么? ..................................... 5 13 处理机管理具有哪些功能?它们的主要任务是什么? ..................................... 6 14 设备管理有哪些主要功能?其主要任务是什么? ............................................. 6 15 文件管理有哪些主要功能?其主要任务是什么? ............................................. 6 16 试在交互性,及时性和可靠性方面,将分时系统与实时系统进行比较. .... 6 17 是什么原因使操作系统具有异步性特征? ....................................................... 7 18 试说明在MS-DOS 3.X以前的版本中,其局限性表现在哪几个方面? ....... 7 19 MS-DOS由哪几部分组成?每部分的主要功能是什么? ................................. 7 20 为什么Microsoft在开发OS/2时,选中了80286芯片? ............................... 7 21 OS/2的主要功能是什么? .................................................................................. 7 22 多处理机OS有哪几种模式?各有何优缺点? .................................................. 8 23 试说明网络OS的主要功能. ............................................................................. 8 24 试比较网络OS和分布式OS. ........................................................................... 8 25 操作系统的定义是什么?它的五大主要功能是什么? ................................. 9 26 解释以下术语:硬件、软件、多道程序设计、并发、吞吐量。 ................. 9 27 操作的有哪些基本特征? ................................................................................. 9
第二章 进程管理............................................................................................................................. 10
一、 单项选择题 ............................................................................................................... 10
二、
判断题(正确的划?,错误的划?并改正) ......................................................... 15
三、 填空题....................................................................................................................... 15 四、 简答题....................................................................................................................... 17
1、 试画出下面条语句的前趋图: .......................................................................... 17 2、 已知一个求值公式(A+3B) / (B+5A),若A、B已赋值,试画出该公式求值过程的前趋图。 ............................................................................................................... 17 3、 图2.7给出了四个进程合作完成某一任务的前趋图,试说明这四个进程间的同步关系,并用P、V操作描述它。 ........................................................................ 19 4、 某系统的进程状态转换图如图2.8所示,请说明: .................................... 20
I
5、 在单处理机的分时系统中,分配给进程P的时间片用完后,系统进行切换,结果调度到的仍然是进程P。可能出现上述情形吗?如果可能请说明理由。 ........ 21 6、 试利用Bernstein条件证明S2和S3语句是可以并发执行的,而S3和S4语句是不能并发执行的? ................................................................................................. 22 7、 如图一所示的进程状态,图中标出的数字分别表示一种形式的状态变迁。现设分别有进程处于执行态、就绪态和等待态,试判别下列诸条件式是否成立?为什么? 22 8、 程序并发执行为什么会产生间断性? ............................................................. 23 9、 程序并发执行为何会失去封闭性和可再现性? ............................................. 23 10、 在操作系统中为什么要引入进程概念?它会产生什么样的影响? ................ 23 11、 试从动态性,并发性和独立性上比较进程和程序? ..................................... 23 12、 试说明PCB的作用?为什么说PCB是进程存在的唯一标志? .................... 24 13、 试说明进程在三个基本状态之间转换的典型原因. ...................................... 24 14、 为什么要引入挂起状态?该状态具有哪些性质? ........................................... 24 15、 在进行进程切换时,所要保存的处理机状态信息主要有哪些? ................. 25 16、 试说明引起进程创建的主要事件. .................................................................. 25 17、 试说明引起进程撤消的主要事件. .................................................................. 25 18、 在创建一个进程时,需完成的主要工作是什么? ......................................... 25 19、 在撤消一个进程时,需完成的主要工作是什么? ......................................... 25 20、 试说明引起进程阻塞或被唤醒的主要事件是什么? ..................................... 26 21、 试从调度性,并发性,拥有资源及系统开销几个方面,对进程和线程进行比较. 26 22、 什么是用户级线程和内核级线程?并对它们进行比较. ................................ 26 23、 在Solaris OS中,设置了哪几种线程?轻型线程的作用是什么? ................ 27 24、 什么是临界资源和临界区? ............................................................................. 27 25、 为什么进程在进入临界区之前,应先执行\进入区\代码,在退出临界区后又执行\退出区\代码? ...................................................................................................... 27 26、 同步机构应遵循哪些基本准则?为什么? ....................................................... 28 27、 试从物理概念上来说明记录型信号量和wait和signal操作? ..................... 28 28、 你认为整型信号量机制和记录型信号量机制,是否完全遵循了同步机构的四条准则? ......................................................................................................................... 28 29、 在生产者-消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果会有何影响? ............................................................................................................. 29 30、 在生产者-消费者问题中,如果将两个wait操作即wait(full)和wait(mutex)互换位置;或者是将signal(mutex)与signal(full)互换位置结果会如何? ................... 30 31、 我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时,表示锁已打开.试写出开锁原语和关锁原语,并利用它们去实现互斥. ................................. 32 32、 试修改下面生产者-消费者问题解法中的错误: .......................................... 32 33、 在测量控制系统中的数据采集任务,把所采集的数据送n个缓冲区组成的缓冲池中的某个空缓冲区;计算任务从该缓冲池中的某一个满缓冲区取出数据进行计算.试写出利用信号量机制实现两者共享缓冲区的同步算法. ................................. 33 34、 画图说明管程由哪几部分组成?为什么要引入条件变量?............................ 36 35、 如何利用管程来解决生产者-消费者问题? ................................................. 36 36、 什么是AND信号量?试利用AND信号量写出生产者-消费者问题的解法.
II
36 37、 哲学家进餐问题是描述有五个哲学家,他们的生活方式是交替地进行思考和进餐。哲学家们共用一张圆桌,分别坐在周围的五把椅子上。在圆桌上有五个碗和五支筷子,平时哲学家进行思考,饥饿时便试图取用其左、右最靠近他的筷子,只有在他拿到两支筷子时才能进餐,进餐完毕,放下筷子又继续思考。假定用一个信号量表示一支筷子,由这五个信号量构成信号量组:int stick[5];所有信号量初值为1,第i个哲学家的活动描述如图3.1所示,试问这五个哲学家的进餐活动是否会发生死锁?....................................................................................................................... 38 38、 (上海交通大学1996年试题)哲学家甲请哲学家乙、丙、丁到某处讨论问题,约定全体到齐后开始讨论;在讨论的间隙四位哲学家进餐,每人进餐时都需使用刀、叉各一把,餐桌上的布置如图2.9所示。请用信号量及P、V操作说明这四位哲学家的同步、互斥过程。此过程不会死锁。 ....................................................... 41 39、 某数据库有一个写进程,多个读进程,它们之间读、写操作的互斥要求是:写进程正在写该数据库时不能有其他进程读该数据库,也不能有其他进程写该数据库;读进程之间不互斥,可以同时读该数据库。请用信号量P、V操作描述这一组进程的工作过程。 ........................................................................................................... 43 40、 (华中理工大学1999年试题)设公共汽车上,司机和售票员的活动分别是: 44 41、 在生产者-消费者问题中,如果对调生产者进程中的两个P操作和两个V操作,则可能发生什么情况? ....................................................................................... 45 42、 在单处理机环境下,进程间有哪几种通信方式? ......................................... 47 43、 试比较进程间的低级通信工具与高级通信工具. .......................................... 47 44、 消息队列通信机制应有哪几方面功能? ......................................................... 47 45、 试比较消息队列与管道通信机制. .................................................................. 47
第三章 处理机调度与死锁 ........................................................................................................... 48
一、 单项选择题 ............................................................................................................... 48 二、 填空题....................................................................................................................... 51 三、 问答题....................................................................................................................... 54
1、 为什么说采用有序资源分配法不会产生死锁? ........................................... 54 2、 高级调度与低级调度的主要任务是什么?为什么要引入中级调度? ............ 54 3、 在作业调度中需做出哪两个决定? ................................................................. 54 4、 在剥夺调度方式中,有哪些剥夺原则? ......................................................... 54 5、 选择调度方式和调度算法时,应遵循的准则是什么? ................................. 54 6、 为什么说多级反馈队列能较好地满足各种用户的需要? ............................. 54 7、 在按时间片轮转调度算法中,在确定时间片的大小时,应考虑哪些因素? 55 8、 为实现实时调度,对实时系统提出了哪些要求? ......................................... 55 9、 目前常用的调度方式和算法,能否应用到实时系统中? ............................. 55 10、 在多处理机系统中,比较有代表性的线程调度方式有哪几种? ................. 55 11、 试比较自调度和成组调度? ............................................................................. 55 12、 在OS/2中采用哪种调度方式和调度算法? ................................................... 56 13、 何谓死锁?产生死锁的原因和必要条件是什么? ........................................... 56 14、 在解决死锁问题的几个方法中,哪种方法最容易实现?哪种方法使资源的利用率最高? ......................................................................................................................... 56
III
15、 请详细说明可通过哪些途径预防死锁? ......................................................... 56
四、应用题 ...................................................................................................................................... 57
1、 8:30时,作业1运行完毕,释放了它所占用的磁带机和打印机,也释放了它所占用的内存空间。此时,系统中有1台磁带机和1台打印机空闲,还有一个大小为15K和一个大小为25K的空闲分区。与此同时,作业4到达,它与正在等待的作业2一起竞争内存和外设。因作业2所要求的内存空间量无法满足,因此作业2只好继续等待。作业4只申请20K内存空间并只要一台磁带机,它的资源申请可以得到满足,因此作业4可以进入内存并运行。这时的内存分配情况如图4.5所示,有一台打印机空闲。此时,作业3已运行了5分钟,它还需要运行15分钟,内存中有两道作业。 ................................................................................................................... 57 2、 今有三个批处理作业。第一个作业10:00到达,需要执行2小时;第二个作业在10:10到达,需要执行1小时;第三个作业在10:25到达,需要执行25分钟。分别采取如下三种作业调度算法: ................................................................... 58 3、 设有一组作业,它们的提交时间及运行时间如下所示。 ........................... 59 4、 若在后备作业队列中等待运行的同时有三个作业1, 2 ,3 已知他们各自的运行时间为a,b,c,且满足关系a〈b〈c ,试证明采用短作业优先调度算法能获得最小平均周转时间。 ................................................................................................... 60 5、 设有4道作业,他们的提交时间及执行时间如下 ....................................... 60 6、 N个进程共享某种资源R,该资源共有m个可分配单位,每个进程一次一个地申请或释放资源单位。假设每个进程对该资源的最大需求量均小于m,且各进程最大需求量之和小于m+n,试证明在这个系统中不可能发生死锁。 ................... 61 7、 在银行家算法中,若出现下述资源分配情况: ........................................... 61 8、 有相同类型的5个资源被4个进程所共享,且每个进程最多需要2个这样的资源就可以运行完毕。试问该系统是否会由于对这种资源的竞争而产生死锁。62 9、 已知某系统中的所有资源是相同的,系统中的进程严格按照一次一个的方式申请或释放资源。没有进程所需要的资源数量超过系统的资源总拥有数量,试对下面列出的各种情况说明是否会发生死锁。 ............................................................... 62 10、 考虑下列资源分配策略:对资源的申请和释放可以在任何时候进行。如果一个进程提出资源请求时得不到满足,如此时无 由于等待资源而被阻塞的进程,则自己就被阻塞;如此时已有等待资源而被阻塞的进程,则检查所有由于等待资源而被阻塞的进程。如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。 63 11、 一个操作系统有20个进程,竞争使用65个同类资源,申请方式是逐个进行的,一旦某进程获得它所需要的全部资源,则立即归还所有资源。每个进程最多使用3个资源。若仅考虑这一类资源,该系统有无可能产生死锁,为什么? ....... 64 12、 一台计算机有8台磁带机。它们由N个进程竞争使用,每个进程可能需要3台磁带机。请问N为多少时,系统没有死锁危险,并说明原因。 ....................... 64 13、 设系统中有3种类型的资源(A,B,C)和5个进程P1,P2,P3,P4,P5,A资源的数量为17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态见表3.5所示。系统采用银行家算法实施死锁避免策略。 ................................ 64 14、 (南开大学1994年试题)假定某计算机系统有R1和R2两类可再使用资源(其中R1有两个单位,R2有一个单位),它们被进程P1和P2所共享,且已知两个进程均以下列顺序使用两类资源: ....................................................................... 66 15、 试化简3.3中的进程-资源图,并利用死锁定理给出相应的结论。 ........ 67
IV