进程调度发生的原因有哪些?
进程调度发生的时机与引起进程调度的原因以及进程调度的方式有关。
正在执行的进程执行完毕。这时,如果不选择新的就绪进程执行,将浪费处理机资源。 执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等状态。 执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用了v原语操作激活了等待资源的进程队列。 执行中进程提出I/O请求后被阻塞。 在分时系统中时间片已经用完。 在执行完系统调用等系统程序后返回用户进程时,这时可看作系统进程执行完毕,从而可调度选择一新的用户进程执行。 就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度。 以上都是在可剥夺方式下的引起进程调度的原因。在CPU执行方式是可剥夺时,还有进程调度的调度方法包括非剥夺式的调度和可剥夺式的调度,在可剥夺式调度中有时间片轮转方法、优先级调度方法、彩票调度、多级队列调度方法。如两种占用CPU的方式: 非剥夺方式,分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生。不可剥夺式即不可抢占式non_preemptive,即使在就绪队列存在有优先级高于当前执行进程时,当前进程仍将占用处理机直到该进程自己因调用原语操作或等待I/O而进入阻塞、睡眠状态,或时间片用完时才重新发生调度让出处理机。 剥夺方式,当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程优先原则、时间片原则。可剥夺式即可抢占式preemptive,就绪队列中一旦有优先级高于当前执行进程优先级的进程存在时,便立即发生进程调度,转让处理机。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请您通过400-62-96871或关注我们的公众号与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!







请先 登录后发表评论 ~