操作系统调度设计

0.调度算法的目标

所有系统

  • 公平-给每个进程公平的CPU份额
  • 策略强制执行-看到所宣布的策略执行
  • 平衡-保持系统的所有部分都忙碌

批处理系统

  • 吞吐量-每小时最大作业数
  • 周转时间-从提交到终止间的最小时间
  • CPU利用率-保持CPU始终忙碌

交互式系统

  • 响应时间-快速响应请求
  • 均衡性-满足用户的期望

实时系统

  • 满足截止时间-避免丢失数据
  • 可预测性-在多媒体系统中避免品质降低

一.批处理系统中的调度

1.先来先服务

先到来的服务,系统先对其进行服务 FIFO

2.短作业优先

评估当前作业中,运行时间最短的作业优先服务

  • 能够提前掌握作业的运行时间
  • 只有所有作业是同时运行时调度才是最优的

3.最短剩余时间优先

当一个作业到达时,评估当前系统中作业的剩余时间和该作业所需时间,选择剩余时间最小的进行调度

  • 能够提前掌握作业的运行时间

二.交互式系统中的调度

1.轮转调度

每个进程被分配一个时间片,如果时间片内没做完则强制切换,提前做完提前切换

  • 进程切换(上下文切换)需要cpu时间
  • 时间片太短,频繁切换影响效率;时间片太长,可能使短交互请求响应时间变长
  • 时间片长度相同

2.优先级调度

每个进程拥有不同的优先级,优先调度优先级高的进程,同优先级的进程采用轮转调度。

  • 时间片长度相同

3.多级队列

调度系统拥有不同优先级的队列,每个队列的时间片长度不同,进程依情况加入不同的队列中,调度中的进程可能由于时间片用完导致转移到较低级别队列

  • 目的是最大可能的减少切换,同时又不影响高优先级的响应时间

注:伯克利XDS940分4个优先级 中断、I/O,短时间片,长时间片

4.最短进程优先

从当前可用进程中找出最短的一个进程进行调度
评估算法为 $T_0=aT_0+(1-a)T_1$
$a$:权值
$T_0$:当前估计时间
$T_1$:测量其下一次运行时间

  • 这种通过当前测量值和先前估计值进行加权平均而得到下一次估计值的技术称作老化
  • 权值($a$)越高老化的越慢,反之越快

5.保证调度

保证n个进程/用户获得CPU处理能力的$1 \over n$,选择$k$最低的进程进行调度,直到其值小于最近接该进程的竞争者
比率计算 $k= \frac {T_0} {T_1}$
$T_0$ :实际获得时间,进程自创建以来该进程实际获得时间
$T_1$ :应得时间,进程自创建以来过去的时间除以n

  • 在运行中动态的保证

6.彩票调度

每个进程拥有f份彩票,所有进程总彩票为m,则每个进程的被调度几率为$f\over m$

  • 在一些其他方法不易解决的问题中,此方法有易理解的优势
  • 例如:视频服务器的若干进程为客户提供服务,每个进程的帧数率为10、20、25帧,则给每个进程10 20 25份彩票,最终CPU划分将以10:20:25进行划分

7.公平分享调度

在进程调度前先判断进程的所有者是谁,以保证用户之间的调度公平

三.实时系统中的调度

可调度:满足$\sum_{i=1}^m \frac {C_i}{P_i} \leq1$
$m个周期事件,事件i以周期P_i发生需要C_i秒处理$

  • 硬实时:必须满足绝对截止时间
  • 软实时:偶尔可以容忍
  • 根据事件是否以规则时间间隔发生,将事件分为周期性和非周期性

四.策略与机制

为了使用户进程参与有关调度决策,可以将调度机制与调度策略分离,也就是将调度算法以某种形式参数化,而参数可以由用户进程填写

五.线程调度

线程调度的分类:分为用户级线程内核级线程

1.用户级线程

  • 调度系统(内核)决定哪个进程获得时间片
  • 进程中的线程调度程序决定具体线程运行
  • 同一时间片只会有该进程的线程运行
  • 不必修改内存映像,不清除高速缓存内容
  • 可使用自定制的线程调度
  • 某线程的I/O阻塞时,整个进程可能被挂起
  • 缺乏一个时钟对线程中断(例如某个线程相对运行过长)

2.内核级线程

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

推荐阅读更多精彩内容

  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 11,922评论 3 34
  • word直接复制来了,格式就不改了。至于这门课怎么复习,只要平时实验都认真完成、报告认真写,平时分都很高;考试的话...
    Jozhn阅读 4,545评论 0 8
  • 跟妈妈聊天,商量专业的事。但总感觉家里出事了,现在非常担心。好害怕啊。。。
    柚子溪阅读 119评论 0 0
  • 惯例先上主流网络版CCG对比图,一目了然 SW(Spellweaver简称)可谓是取了万智牌的精髓又不失特色的CC...
    泡狐龙保护协会阅读 1,260评论 2 1
  • 有一个人在自家的院中种了两棵树苗。他每天都为这两棵树苗浇水,呵护备至。几个月过去了,两棵树苗慢慢长高,但其中的一棵...
    海王星1984阅读 847评论 0 0