进程调度
以前的时候,系统中只有一个cpu(现在的很多机器也是这样),却要同时完成很多的任务,你既要用qq聊天,又要用飞信聊天,怎样让cpu井井有条完成多个任务,不把你qq聊天的内容发到飞信上,就需要合理的进程调度. UNIX系统中使用的调度程序被成为多级反馈循环调度,多级的意思就是UNIX系统中,进程有不同的优先级,反馈循环则是这样一种情况:系统中,内核对每个进程分配一个cpu时间片,当一个进程的cpu时间片用完时,它就释放cpu,让别的进程执行,这个进程还没执行完,当它的下一个时间片到来是,它就重新抢占cpu,继续执行. 系统中的进程优先级分为两种,用户优先级和系统优先级,这两类优先级的分界线是一个优先级阈值.进程调度算法的核心是从"就绪"和"被抢先"状态中的进程中,选取优先权最高的进程分配cpu执行. 进程的用户级优先级是动态的,系统中的时钟处理程序每隔一个时间段就会重新计算所有用户级进程的优先级,所有的进程都有执行的机会.用户优先级是基于cpu的函数: 系统不允许具有用户级优先级的进程跨越阈值获得系统级优先级,进程获得系统级优先级一般是这种情况:进程进行系统调用,进入睡眠状态,从而获得系统级优先级. 有时候还会出现这种情况,系统对进程进行分组,然后让某一组的优先级高于另一组.这种情况下,系统采用了一种"公平共享调度"策略:对每一组分配一个组时间片参数,加入到上面提到的优先级计算公式中,如果当前执行的进程属于该组,那么最内的其他进程就共享执行进程的cpu时间,这意味着当进程执行完该时间片后,组内其他进程的优先权降低了,这样cpu就可能被其他组的进程抢占过去,从而实现优先权高的组的进程的频繁执行. 本文出自 “莫等老去,空怀念梦想” 博客,谢绝转载! |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |