linux进程调度采用的是有条件可剥夺吗,Linux+的进程调度

第22卷第l期

计算机应用

VoI.22.No.1

2002年1月

cor“PuterApplica【ions

Jan.2002

文章编号:1001—9081(2002)1—0042一03

Linux的进程调度

钟小玲,袁宏春

(电子科技大学计算机学院,四川成都610054)

摘要:描述了Ljnux进程调度的过程。L抽ux采用时间片轮转和可剥夺调度优先级相结合的调度策略,它把进程分成两类:实时进程和非实时进程。实时进程总是在非实时进程之前运行。

关键词:调度时机;调度策略;进程调度;优先级;时间片

中图分类号:7I粥12文献标识码:A

进程蠲度是操作系统的核心,调度算法的优劣直接关系TAsL辄)PPED:暂停状态,通过其它进程的信号才能被

到系统的运行效率。~个好的调度算法应该考虑很多方面:唤醒。

公平、有欢、响应时间、周转时间、吞吐量等等,但是这些因素TAskZ()BIE:僵死状态,大部分资源已经释放,进程终IL

之间又是相互矛盾的,最终的取台根据系统要达到的目标而前的一个过渡状态。,

定。本文以Linux操作系统为例,详细描述其进程嗣度策略,所有就绪进程处于同一个可运行队列中,即“nux只有以期对进程调度过程有更为感性的认识。

一个可运行队列,不存在多级调度队列。这是一个烈向循环1

Knux迸程调度时机

链表,0进程位于队首.并且。进程和当前运行进程始终在可运行队列中。

介绍进程词度策略之前,先了解“nux中何时引起进程

进程PcB中涉及进程调度的域:

倜度,即调度时机,有助于把握调度过程的发生。ur雌调度㈣dtask_目n℃t『

时机分两种情况。

主动调度:主动调度指显式调用sc}】edule()函数明确释放

v山mc

long“e止嘲ch。d

c硎,引起新一轮进程调度。一般发生在当前进程状态改变,

10ng

c邮mer;

例如:进程终止、进程睡眠等;进程对某些信号处理过程中等10ngm钟:等,

unsi印d

l∞g州1cy;

被动调度:被动调度指不显式调用删ule()函数,只是

u肼蝉甜10ngrL_州(Jn“;

将进程PcB中调度标志neeL鹏ej】ed置1,而每当中断处理和

系统调用返回时,核心都会主动查询r札豫dd的状态:如

);

NeeLrescl州域是进程调度标志.该域置位将引起新的果置位,则主动诃甩schedllle()函数。一般发生在新的进程产进程调度。c。叫er域是当前进程剩余的时间片值,随着进程

生时、某个进程优先级改变时、某个进程等待的资源可用被唤的执行,时间片逐渐减小,时间片用完引起进程调度。它是进醒时、当前进程时间片用完等等。

程的动态优先级,保证当前进程不会一直占有cPU,给其它进2

Ijnux进程调度策略

程披调度的机会。如果进程尚未终止,核心继续向该进程分配时间片,但是,是否立即重新分配时问片,即向(=0un【er域赋Lir呲采用时间片轮转和可剥夺诃度优先级相结台的调

值,则根据P曲cv域值不同而不同。时间片初值根据时钟频度簟略,每个进程都分配一定的时间片和优先级,凹u上始终

率}Iz的不同而采用不同的计算形式。当}亿=100时,时间是优先级最高的进程在运行。片初值等于((20一(Ni(:e))/4+1)。N妇域被称为调度量子,2】与进程调度相关的数据结构

它的取值范围是一20.J9。改变Mce域值,进程的动态优先u眦进程有以下几种状态:

级随之改变:当其取负值时进程优先级增加;取正值则降低优TAsK—m朋fN矾G:进程正在运行处于运行状态或者将要先级。

运行处于就绪状态。

un啦把进程分为实时(Red—time)进程和非实时

TAsK一肌邛RL庄哪LE:可中断睡眠,可以通过资源有效

(NonRd一血m)进程来处理。进程类型不同,调度策略也不

或信号唤醒。

TAslLL『NINl砷l册LE:不可中断睡眠.只能通过资源

同。蹦jcv域决定调度策略,它可以选择scHEn一呷瑾R、

sc}ⅡjⅡF伍D或Sc|ⅢnRR中的任一个值。特别是Poucy域

有效唤醒一

还可以加s(m功Y衄D.它不是一种漏度策略.而是表示进

收稿日期:200l一07—18

作者简介:钟小玲(】97】一),女,河南安珀市^,碗士研究阜,主要研究冉向:网络及其多媒体技术与应用i袁宏奉(1940J.男,湖北武汉

』、,教授,主要研究方向:网络驶其多媒体技术与应用.

方数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值