苏州大学操作系统原理期中考试试卷2012软工(含答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
苏州大学操作系统原理期中考试试卷共6页
学院专业成绩
年级学号姓名日期
考试形式:闭卷时间: 120分钟
一、填空题(10分,每空1分)
1、在有m个进程的系统中出现死锁时,死锁进程的个数k应该满足的条件是
1 2、操作系统的结构有多种,其中采用微内核结构的有Windows XP Mach QNX 等;采用模块化结构有Solaris Linux Mac等。 3、操作系统的最基本的设计目标是使应用程序能够顺利运行,在此基础上,还需要考虑高效(面向系统)和易用(面向用户)。 4、互斥资源是多个进程不能同时使用的资源;共享资源则是多个进程可以同时使用的资源。 5、周转时间等于运行时间加等待时间。一般情况下响应时间不大于等待时间。 二、选择题(20分,每题2分) 1、以下不属于操作系统部件的是 B 。 (A)进程管理(B)数据库管理 (C)保护系统(D)命令解释器系统 2、当记录型信号量S的初值为C时,表示只允许一个进程访问临界资源,此时的信号量转化为互斥信号量。 (A)-1 (B)0 (C)1 (D)2 3、信箱通信是一种 B 通信方式。 (A)直接通信(B)间接通信(C)信号量(D)低级通信 4、在操作系统中,可运行的最小单位是 C 。 (A)作业(B)进程(C)线程(D)超线程 5、一个阻塞进程被唤醒意味着 D 。 (A)该进程重新占有了CPU (B)它的优先权变为最大 (C)其PCB移至等待队列队首 (D)进程变为就绪状态 6、对于给定的一组进程, C 算法可以获得最小的平均等待时间。(A)先到先服务调度(B)优先权调度 (C)最短作业优先调度(D)轮转法调度 7、分布式系统又被称为D。 (A)紧耦合系统(B)松耦合系统 (C)对等系统(D)网络操作系统 8、进程在就绪队列中等待调度的时间片总和称为 B 。 (A)运行时间(B)等待时间(C)响应时间(D)周转时间 9、银行家算法是一种 B 算法。 (A)死锁解除(B)死锁避免 (C)死锁预防(D)死锁检测 10、分时系统中,当用户数目为100时,为保证响应不超过1秒;此时的时间片最大应为A。 (A)10ms (B)20ms (C)50ms (D)100ms 三、(10分)CPU调度可发生在哪些情况下?哪些情况是可抢占式调度?哪些是非抢占式调度? (1)正在执行的进程执行完毕。 (2)执行中进程自己调用阻塞原语。 (3)执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用了V 原语操作激活了等待资源的进程队列。 (4)执行中进程提出I/O请求后被阻塞。 (5)在分时系统中时间片已经用完。 (6)在执行完系统调用,在系统程序返回用户进程时,可认为系统进程执行完毕,从而可调度选择一新的用户进程执行。 (7)就绪队列中的某进程的优先级变的高于当前执行进程的优先级,从而也将引发进程调度。 可抢占式调度:(7) 非抢占式调度:(1)、(2)、(3)、(4)、(5)、(6) 四、(10分)什么是用户态线程和核心态线程?它们之间的映射关系有哪些? 用户态线程:用户态线程的管理过程全部由用户程序完成,操作系统内核只对进程进行管理。 核心态线程:核心态线程由操作系统内核进行管理。操作系统内核给应用程序提供相应的系统调用和应用程序接口API ,以使用户程序可以创建、执行、撤销进程。 用户态线程与和心态线程之间的映射关系有1对1、多对1、多对多。 五、(10分)请从资源共享、进程创建和进程结束三个方面谈谈父进程和子进程的关系。 资源共享方面:父进程创建子进程时,子进程可能从操作系统那里直接获得资源,也可以从父进程那里获得。父进程可能必须在子进程之间共享资源。 进程创建方面:子进程被父进程创建时,除了得到各种物理和逻辑资源外,初始化数据(或输入)由父进程传递给子进程。 进程结束方面:子进程使用了超过它所分配的资源,或者分配给子进程的任务已不再需要,父进程将终止子进程。父进程退出,如果父进程终止,那么操作系统(处特殊的操作系统)不允许子进程继续。 六、(10分)假设系统中共有3种资源,并且同时有5个进程在执行,T0时刻 Available R 1 R 2 R 3 2 2 2 (1) (2) 如果P 5对资源的请求量是Requests(1,2,1),这个请求可以被满足吗?为 什么? (1) 是安全状态。安全序列 P2 P3 P4 P5 P1。 (2) 可以。按照上面的安全序列,在执行到P4时available 中的资源数为12,6,8, P5的请求时1,2,1,小于available 中的资源数,可以满足。 七、(15分)有四个进程S1、S2、R1和R2,其中S1、S2向缓冲区BUFF 发送消息,R1和R2从缓冲区中接收消息。发送和接收的规则如下: (1)缓冲区BUFF任何时候只能存放2个消息; (2)R1、R2每次同时取S1和S2存放在缓冲区中的消息; (3)每个存放在缓冲区中的消息必须被R1和R2均接收后才能清除; (4)缓冲区BUFF不能同时存放2个S1的消息或2个S2的消息。 请用信号量机制来实现这4个进程间的同步。 EmptyS1R1=EmptyS1R2=EmptyS2R1=EmptyS2R2=1; FullS1RI=FullS1R2=FullS2R1=FullS2R2=0; Process(S1): Process(R1): { { While(1) while(1) { { P(EmptyS1R1); P(FullS1R1); P(EmptyS1R2); P(FullS2R1); 发送消息;接受消息; V(FullS1R1); V(EmptyS1R1) V(FullS1R2); V(EmptyS2R1); } } } } Process(S2): Process(R2): { { While(1) while(1) { { P(EmptyS2R1); P(FullS1R2); P(EmptyS2R2); P(FullS2R2); 发送消息;接受消息; V(FullS2R1); V(EmptyS1R2); V(FullS2R2); V(EmptyS2R2); } } } } 八、(15分)考虑以下的一个基于优先级(优先数高优先级低)的调度算法,此算法采用根据等待时间和运行时间对优先数进行动态老化算法,具体算法如下: (1)处于等待队列中的进程的优先数p根据等待时间t(单位秒)进行变 化,p=p-t,当p=0时不再变化; (2)处于运行状态的进程的优先数p根据运行时间t(单位秒)进行变化, p=p+t,当p=0时不再变化; (3)优先数p每隔1秒重新计算; (4)采用抢占式调度策略。 根据下表给出的5个进程的到达时间、执行时间回答下面的问题。(时间以秒为单位)