苏州大学操作系统原理期中考试试卷2012软工(含答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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个进程的到达时间、执行时间回答下面的问题。(时间以秒为单位)

相关文档
最新文档