操作系统基础 进程调度算法

1.先来先服务调度算法

  近乎单线程/单进程

2.时间片轮转算法

  周期性地进行进程切换。

  改善短程序的响应时间,但系统的响应时间依赖于时间片的选择。

  进程切换需要一定的时间和空间成本。

  进程多的时候,时间片就要短一点,否则交互体验会很差;

  进程数量少,时间片就可以适量长一点。

3.短任务优先算法

  短任务的优先级比长任务的高,我们总是安排优先级高的程序先运行。

  非抢占式:让已经在CPU上运行的程序执行到结束或阻塞,然后再执行下一个。

  抢占式:每新增加一个进程就要对所有进程(包括正在运行的)进行检查,谁的时间短,就执行谁。

  优点:在所有非抢占调度算法中,非抢占短任务优先算法响应时间最优,在所有抢占调度算法中,抢占短任务优先算法响应时间也最优。

  缺点:可能造成长程序无法得到CPU时间二导致“饥饿”。需要估算程序运转的时间(启发式估算:1.根据程序大小推测程序所需CPU时间。2.将每个程序先运行一遍,记录其所用的CPU时间)。

4.优先级调度算法

  给每个进程赋予一个优先级(短任务优先算法也是优先级调度算法)。

  缺点:低优先级的进程可能会“饥饿”。

  (解决:只要动态地调节优先级即可,如:一个进程执行特定CPU时间后将其优先级降低一个级别;一个进程等待了长时间,可以将优先级持续提升而超过其他进程)

5.混合调度算法

  之前介绍的所有算法都存在缺点,我们自然想设计一个算法合并他们的优点,摒弃他们的缺点。这就是所谓的混合调度算法。

  将所有进程分为不同的大类,每个大类为一个优先级。如果两个进程处于不同的大类,则处于高优先级的大类的进程优先执行;如果两个进程处于同一个大类,则采用时间片轮转来执行。


6.其他调度算法

除了上面介绍的各种算法外,有的操作系统还实现了一些其他算法,它们包括:保证调度、彩票调度、用户公平调度。

  保证调度算法的目标是保证每个进程占用CPU的时间完全一样,如果一个系统共有n个进程,则每个进程占用CPU的时间为1/n。保障就是肯定运转1/n的时间,不多不少。保障调度不一定要轮转,每次给的时间片不一定要一样。

  彩票调度算法是一种概率算法。给每个进程发一定数量的彩票,而调度器则从所有的彩票中随机抽取一张彩票,而持有该彩票的进程就获得CPU。优点:灵活,可以用于模拟其他调度算法。

  用户公平调度算法按照每个用户而不是每个进程来进行公平分配。如果一个用户进程多,则其进程获得的CPU时间将短,反之则多。

7.实时调度算法

  实时系统是一种必须提供时序可预测性的系统,应用范围广和特性不同于一般计算机,因此调度算法也别出一格。前面的算法只要考虑的是平均响应时间和系统吞吐率的问题,而实时系统则必须考虑每个具体的任务响应时间必须符合要求,即每个任务必须要在什么时间之前完成,而无需考虑如何降低整个系统响应时间或吞吐率。 

  EDF调度算法:就是最早截止的任务先做(early deadline first?),是抢占式的。(实时调度里面最优的算法)如果一组任务可以被调度的话,那EDF可以满足;如果一批任务不能全部满足,那么EDF能满足的任务最多。

  缺点:这是一种动态调度算法。意思是该算法动态地计算每个任务的截止时间并动态调节优先级,但是动态计算截止时间和动态抢占要占用CPU资源

  RMS调度算法:在进行调度之前就计算出所有任务的优先级,然后按照计算出来的优先级,然后按照计算出来的优先级进行调度,任务执行期间既不接收新进程,也不进行优先级的调整或者CPU抢占。因此这种算法的优点是系统消耗小,是静态最优算法,缺点是不灵活。(如果CPU利用率在ln2(0.693147)以下,所有任务都能在截止时间前满足)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容