关于时间片的几个疑问
有几个概念性问题没搞明白,向大家请教下
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
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算法中交换数组的时间不是因为这个延期而使普通进程被饿了吗
如果进程退出后,他的状态就是就绪了,调度就轮不上他了
多谢ls详细的分析