OS复习——进程管理习题
1. 一个线程是否会被时钟中断剥夺 CPU 使用权?请分线程实现类型讨论。
用户级线程不会直接被时钟中断剥夺CPU使用权,可能会剥夺其所属进程的CPU使用权,从而间接剥夺其所属进程的CPU使用权,从而间接剥夺用户级线程的CPU使用权;内核级线程可能被时钟中断剥夺CPU使用权。
2. 一个软实时系统中有 4 个周期性进程,其周期分别为:50、100、200、250,每次 CPU 运行时长分别为 35、20、10、x,求使得这些进程可调度的最大 x 取值。
实时系统任务集可调度的充分必要条件,这个本人也不了解…
35/50+20/100+10/200+x/250<=1,得x<=12.5
3. 有五个进程 P1、P2、P3、P4、P5,它们同时依次进入就绪队列,它们的优先数和需要的处理器时间如下表
进程 | 处理器时间 | 优先级(数小优先级高) |
---|---|---|
P1 | 10 | 3 |
P2 | 1 | 1 |
P3 | 2 | 3 |
P4 | 1 | 4 |
P5 | 5 | 2 |
忽略进行调度等所花费的时间,回答下列问题:
(1)写出采用“先来先服务”、“短作业(进程)优先”、“非抢占式的优先数”和“轮转法”等调度算法,进程执行的次序。(其中轮转法的时间片为 2)
(2)分别计算上述算法中各进程的周转时间和等待时间,以及平均周转时间。
本题主要考察进程调度算法,以及周转时间的概念。
短作业优先:
非抢占式的优先数:
轮转法:
4. 一个系统有4个进程和5个可分配资源,当前分配和最大需求如下:
已分配资源 | 最大需求量 | 可用资源 | |
---|---|---|---|
进程A | 10211 | 11213 | 00x12 |
进程B | 20110 | 22210 | |
进程C | 11010 | 21310 | |
进程D | 11110 | 11221 |
若保持该状态时安全状态,那么x的最小值是多少?
本题主要考察银行家算法。
需求矩阵如下:A—01002、B—02100、C—10300、D—00111。
如果x为0,我们会立刻死锁。如果x是1,进程D可以分配资源运行,当它结束时,可用资源向量为11222,这时候进程A可以分配资源执行,当A结束时,可用资源向量为21433。这时候进程C可以被满足,当C执行结束后,可用资源向量为32443。最后进程B运行完毕。所以x的最小值为1。
1433。这时候进程C可以被满足,当C执行结束后,可用资源向量为32443。最后进程B运行完毕。所以x的最小值为1。
以上部分内容引自课件,如有侵权,请及时联系我删除!