请问一个考虑可变优先级+时间片+等待时间的调度算法中,倘若一个进程在某一时间片里优先级最高,但是没有资源,这一时间片里是哪一个进程占用CPU?

可变优先级是指每当一个时间片到来时,优先级最大的进程占用CPU,其余进程的优先级加一;当一个进程被悬挂的时候,其恢复其原本的优先级。资源是不可共享的资源。

推荐  (0) | 2人关注关注
1个答案
0 0

我觉得这要看进程调度算法具体是怎样的,如果是银行家算法(但实际上没有人彻底使用银行家算法)那进程行为就很容易预测到,但问题是现在操作系统都主要倾向于“宁可失败一千,不可死锁一个”的原则来设计调度算法,因此一般来说优先级高的进程如果没有资源那就会果断失败了。
而这种失败又分情况,首先是进程自己发现,资源没有,失败,这种情况好说。
还有就是程序写的烂,系统调用都失败了还不退出,这时候系统会很耐心的等,因为对系统来说这个进程没问题,然后就看系统接下来的处理了,一般是等时间片耗尽然后挂起或者切换到其他进程,但是牛逼的系统会立刻发现这进程有问题,立刻挂起。
由于题目问的太粗略,所以也可能有第三种可能,就是连创建进程所必需的系统资源都不足,比如句柄用完了,这种情况下连进程都建不起来,当然不可能运行这个进程了。
其实这问题真的不好回答,因为条件太粗略,不同的系统不同的环境带来不同的结果,如果是针对具体的系统,那完全可以在系统上实测。如果是在问操作系统设计,那只能说不同的思路带来不同的考虑,你怎么设计都是对的,没有一个标准答案。
不过要强调一下,虽然不同的设计都可以,但最终符合实际需求的设计是不多的。

查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2018] 6282-492号    新出发京零字第朝200003号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区