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。
以上部分内容引自课件,如有侵权,请及时联系我删除!
本文解析了操作系统进程管理中的多个经典习题,包括线程调度、实时系统任务调度、进程调度算法及周转时间计算,以及银行家算法在资源分配中的应用。
1万+

被折叠的 条评论
为什么被折叠?



