关于时间片的几个疑问

发布于 2022-10-15 10:12:22 字数 312 浏览 32 评论 0

有几个概念性问题没搞明白,向大家请教下

1,时间片没用完不能被抢占? (LKD3有原话the timeslice is the numeric value that represents how long a task can run until it is preempted.)
2,交互进程有更高的优先权,所以应该有更低的nice值,那么就有更长的时间片。那在他时间片没用完前不能被抢占这岂不是浪费cpu。
3,如果交互进程是在执行完以后主动出让处理器,因为其时间片没用完,而普通进程的时间片早用完了,那么在O1算法中交换数组的时间不是因为这个延期而使普通进程被饿了吗

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寄意 2022-10-22 10:12:22

1,时间片没用完不能被抢占? (LKD3有原话the timeslice is the numeric value that represents how long a task can run until it is preempted.)
   现在2.6版本的内核是可preenpt的(抢占式内核),及时间片没有用完,如果来了其他更高优先级的进程(为什么这里要说来了更高优先级,因为如果本来就有一个进程的优先级比他跟高,那么调度肯定轮不上他,来了一个跟高优先级的进程:举个例子,硬件设备中断以后,需要一个进程or kernel thread马上去处理他,就可以在这是手动提高他的优先级),并且当前可以被抢占(没有占用锁资源)就会被抢占。
2,交互进程有更高的优先权,所以应该有更低的nice值,那么就有更长的时间片。那在他时间片没用完前不能被抢占这岂不是浪费cpu。
   他没有用完时并且不需要等待任何资源,OK,他就一直运行。可是当他等待资源时(像scanf 等待按键时),他就会显示的调度,即使自己的时间篇没用完,也会去sleep,知道资源来了,被唤醒,才会就绪。
3,如果交互进程是在执行完以后主动出让处理器,因为其时间片没用完,而普通进程的时间片早用完了,那么在O1算法中交换数组的时间不是因为这个延期而使普通进程被饿了吗
   如果进程退出后,他的状态就是就绪了,调度就轮不上他了

み青杉依旧 2022-10-22 10:12:22

多谢ls详细的分析

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文