苏州大学操作系统原理期中考试试题.docx
《苏州大学操作系统原理期中考试试题.docx》由会员分享,可在线阅读,更多相关《苏州大学操作系统原理期中考试试题.docx(5页珍藏版)》请在冰豆网上搜索。
苏州大学操作系统原理期中考试试题
苏州大学 操作系统原理 期中考试试卷共6页
学院 专业 成绩
年级 学号 姓名 日期
考试形式:
闭卷时间:
120分钟
一、填空题(10分,每空1分)
1、在有m个进程的系统中出现死锁时,死锁进程的个数k应该满足的条件是
2<=k<=m。
2、操作系统的结构有多种,其中采用微内核结构的有MACH等;采用模块化结构有linux等。
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、分布式系统又被称为 B 。
(A)紧耦合系统(B)松耦合系统
(C)对等系统(D)网络操作系统
8、进程在就绪队列中等待调度的时间片总和称为 B 。
(A)运行时间(B)等待时间(C)响应时间(D)周转时间
9、银行家算法是一种 B 算法。
(A)死锁解除(B)死锁避免
(C)死锁预防(D)死锁检测
10、分时系统中,当用户数目为100时,为保证响应不超过1秒;此时的时间片最大应为A
11、。
(A)10ms(B)20ms(C)50ms(D)100ms
三、(10分)CPU调度可发生在哪些情况下?
哪些情况是可抢占式调度?
哪些是非抢占式调度?
在有中断时或是时间片用完时
可剥夺式(可抢占式preemptive):
就绪队列中一旦有优先级高于当前执行进程优先级的进程存在时,便立即发生进程调度,转让处理机。
不可剥夺式(不可抢占式non_preemptive):
即使在就绪队列存在有优先级高于当前执行进程时,当前进程仍将占用处理机直到该进程自己因调用原语操作或等待I/O而进入阻塞、睡眠状态,或时间片用完时才重新发生调度让出处理机。
四、(10分)什么是用户态线程和核心态线程?
它们之间的映射关系有哪些?
用户线程指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系统核心,应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。
内核线程:
由操作系统内核创建和撤销。
内核维护进程及线程的上下文信息以及线程切换。
一个内核线程由于I/O操作而阻塞,不会影响其它线程的运行。
五、(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.是安全状态
安全序列
2.可以
执行到P4时R1R2R3
1389
(13,8,9)>(1,2,1)
七、(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个进程间的同步。
其中S1,S2两列分别先执行各自的P操作缓冲区也进行P操作缓冲区得到S1,S2的消息然后分别对应R1、R2进行V操作
R1,R2两列则进行各自的P操作然后从缓冲区接收消息对缓冲区进行V操作最后各自对应S1,S2进行V操作
八、(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
P5
2
4
10
(1)请画出5个进程执行的甘特图。
(2)根据以上的调度算法,分别计算出每个进程的周转时间和响应时间。