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

更新时间:2023-11-05 06:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

苏州大学 操作系统原理 期中考试试卷 共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

1

(B)它的优先权变为最大 (C)其PCB移至等待队列队首 (D)进程变为就绪状态

6、对于给定的一组进程, C 算法可以获得最小的平均等待时间。 (A)先到先服务调度 (B)优先权调度 (C)最短作业优先调度 (D)轮转法调度

7、分布式系统又被称为 D 。 (A)紧耦合系统 (C)对等系统

(B)松耦合系统 (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分)什么是用户态线程和核心态线程?它们之间的映射关系有哪些?

2

用户态线程:用户态线程的管理过程全部由用户程序完成,操作系统内核只对进程进行管理。

核心态线程:核心态线程由操作系统内核进行管理。操作系统内核给应用程序提供相应的系统调用和应用程序接口API,以使用户程序可以创建、执行、撤销进程。

用户态线程与和心态线程之间的映射关系有1对1、多对1、多对多。 五、(10分)请从资源共享、进程创建和进程结束三个方面谈谈父进程和子进程的关系。

资源共享方面:父进程创建子进程时,子进程可能从操作系统那里直接获得资源,也可以从父进程那里获得。父进程可能必须在子进程之间共享资源。 进程创建方面:子进程被父进程创建时,除了得到各种物理和逻辑资源外,初始化数据(或输入)由父进程传递给子进程。

进程结束方面:子进程使用了超过它所分配的资源,或者分配给子进程的任务已不再需要,父进程将终止子进程。父进程退出,如果父进程终止,那么操作系统(处特殊的操作系统)不允许子进程继续。 六、(10分)假设系统中共有3种资源,并且同时有5个进程在执行,T0时刻的状态如下图,请问: Max Allocation Available R1 R2 R3 R1 R2 R3 R1 R2 R3 P1 8 6 4 1 2 1 2 2 2 P2 4 3 3 3 1 1 P3 9 2 3 4 1 3 P4 3 2 3 3 2 2 P5 5 4 6 1 1 3

(1) 当前状态是安全状态吗?如果是,请给出安全序列。 (2) 如果P5对资源的请求量是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从缓冲区中接收消息。发送和接收的规则如下:

3

(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个进程的到达时间、执行时间回答下面的问题。(时间以秒为单位)

进程 执行时间 达到时间 优先级p P1 5 0 8 P2 6 1 4 P3 3 2 6 P4 4 3 2

4

2 4 10 (1) 请画出5个进程执行的甘特图。 (2) 根据以上的调度算法,分别计算出每个进程的周转时间和响应时间。

P5 (1) 调度序列为

P1 P2 P2 P4 P4 P3 P2 P4 P1 P3 P2 P4 P1 P2 P1 P2 P1 P3 P5 P5 (2)周转时间:P1=17s-1s=16s;P2=16s-1s=15s;P3=18s-2s=16s;P4=12s-3s=9s; P5=20s-4s=16s;

响应时间:P1=0s;P2=0s;P3=5s-2s=3s;P4=0s;P5=18s-4s=14s;

5

本文来源:https://www.bwwdw.com/article/k6a2.html

Top