linux的进程调度

linux的进程调度

ID:34527304

大小:136.45 KB

页数:3页

时间:2019-03-07

linux的进程调度_第1页
linux的进程调度_第2页
linux的进程调度_第3页
资源描述:

《linux的进程调度》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第22卷第1期计算机应用Vol.22,No.12002年1月ComputerApplicationsJan.,2002文章编号:1001-9081(2002)1-0042-03Linux的进程调度钟小玲,袁宏春(电子科技大学计算机学院,四川成都610054)摘 要:描述了Linux进程调度的过程。Linux采用时间片轮转和可剥夺调度优先级相结合的调度策略,它把进程分成两类:实时进程和非实时进程。实时进程总是在非实时进程之前运行。关键词:调度时机;调度策略;进程调度;优先级;时间片中图分类号:TP312文献标识码:A  进程调度是操作系统的核心,调度算法的优劣直接关系TASK—STOPPED

2、:暂停状态,通过其它进程的信号才能被到系统的运行效率。一个好的调度算法应该考虑很多方面:唤醒。公平、有效、响应时间、周转时间、吞吐量等等,但是这些因素TASK—ZOBIE:僵死状态,大部分资源已经释放,进程终止之间又是相互矛盾的,最终的取舍根据系统要达到的目标而前的一个过渡状态。定。本文以Linux操作系统为例,详细描述其进程调度策略,所有就绪进程处于同一个可运行队列中,即Linux只有以期对进程调度过程有更为感性的认识。一个可运行队列,不存在多级调度队列。这是一个双向循环链表,0进程位于队首,并且0进程和当前运行进程始终在可1Linux进程调度时机运行队列中。介绍进程调度策略之前,先了解

3、Linux中何时引起进程进程PCB中涉及进程调度的域:调度,即调度时机,有助于把握调度过程的发生。Linux调度structtask—struct{时机分两种情况。*volatilelongneed—resched;主动调度:主动调度指显式调用schedule()函数明确释放longcounter;CPU,引起新一轮进程调度。一般发生在当前进程状态改变,longnice;例如:进程终止、进程睡眠等;进程对某些信号处理过程中等unsignedlongpolicy;等。unsignedlongrt—priority;被动调度:被动调度指不显式调用schedule()函数,只是*将进程PCB中调

4、度标志need—resched置1,而每当中断处理和};系统调用返回时,核心都会主动查询need—resched的状态:如Need—resched域是进程调度标志,该域置位将引起新的果置位,则主动调用schedule()函数。一般发生在新的进程产进程调度。Counter域是当前进程剩余的时间片值,随着进程生时、某个进程优先级改变时、某个进程等待的资源可用被唤的执行,时间片逐渐减小,时间片用完引起进程调度。它是进醒时、当前进程时间片用完等等。程的动态优先级,保证当前进程不会一直占有CPU,给其它进程被调度的机会。如果进程尚未终止,核心继续向该进程分2Linux进程调度策略配时间片,但是,是否

5、立即重新分配时间片,即向Counter域赋Linux采用时间片轮转和可剥夺调度优先级相结合的调值,则根据Policy域值不同而不同。时间片初值根据时钟频度策略,每个进程都分配一定的时间片和优先级,CPU上始终率HZ的不同而采用不同的计算形式。当HZ=100时,时间是优先级最高的进程在运行。片初值等于((20-(Nice))/4+1)。Nice域被称为调度量子,2.1 与进程调度相关的数据结构它的取值范围是-20~19。改变Nice域值,进程的动态优先Linux进程有以下几种状态:级随之改变:当其取负值时进程优先级增加;取正值则降低优TASK—RUNNING:进程正在运行处于运行状态或者将要

6、先级。运行处于就绪状态。Linux把进程分为实时(Real-time)进程和非实时TASK—INTERRUPTIBLE:可中断睡眠,可以通过资源有效(NonReal-time)进程来处理。进程类型不同,调度策略也不或信号唤醒。同。Policy域决定调度策略,它可以选择SCHED—OTHER、TASK—UNINTERRUPTIBLE:不可中断睡眠,只能通过资源SCHED—FIFO或SCHED—RR中的任一个值。特别是Policy域有效唤醒。还可以加SCHED—YIELD,它不是一种调度策略,而是表示进  收稿日期:2001-07-18  作者简介:钟小玲(1971-),女,河南安阳市人,硕士

7、研究生,主要研究方向:网络及其多媒体技术与应用; 袁宏春(1940-),男,湖北武汉人,教授,主要研究方向:网络及其多媒体技术与应用.©1995-2005TsinghuaTongfangOpticalDiscCo.,Ltd.Allrightsreserved.第1期钟小玲等:Linux的进程调度43程主动释放CPU。实时进程可以取值SCHED—FIFO或者switch(prev->state){SCHED—RR,非实时进

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。