计算机操作系统——处理机调度与死锁

处理机调度与死锁

3.1处理机调度的层次和调度算法的目标

3.11 处理机调度的层次

1.高级调度

高级调度又称长程调度或作业调度,它的调度对象是作业。其主要功能是根据某种算法决定将外存上处于后备队列中的那几个作业调入内存,为他们创建进程、分配必要的资源,并将他们放入就绪队列。高级调度主要用于多道批处理系统中,而在分时系统中不设置高级调度。

2.低级调度

低级调度又称为进程调度或短程调度,其所调度的对象是进程或内核级线程。其主要功能是根据某种算法决定就绪队列中的那几个进程获得处理机,并由处理机分配给被选中的进程。进程调度是最基本的一种调度,在多道批处理、分时、实时多种类型的OS种都必须配置这级调度。

3.中级调度

中级调度又称为内存调度。引入中级调度的主要目标是提高内存利用率和系统吞吐量。

在上述三种调度中,进程调度的运行频率最高。

3.1.2 处理机调度算法的目标

一般而言在一个操作系统中,应如何选择调度方式和算法,在很大程度上取决于操作系统的类型及其设计目标。

1.处理机调度算法的共同目标

  1. 资源利用率
  2. 公平性
  3. 平衡性
  4. 策略强制执行

2.批处理系统的目标

  1. 平均周转时间短
  2. 系统吞吐量
  3. 处理机利用率高

3.分时系统的目标

  1. 响应时间块
  2. 均衡性

4.实时系统的目标

  1. 截止时间的保证
  2. 可预测性

3.2作业与作业调度

作业是用户提交给系统的一项相对独立的工作。

3.2.1 批处理系统中的作业

1.作业和作业步

  1. 作业。是一个比进程更为广泛的概念,不仅包含通常的程序和数据,且还应配有一份作业说明书,系统根据说明书来对程序的运行进行控制。在批处理系统中,是以作业为基本单位从外存调入内存的
  2. 作业步。在作业运行期间,每隔作业都必须经过若干个相对独立,相互关联的顺序加工步骤才能得到结果。将其中每一个加工步骤称为一个作业步。

2.作业控制块

为了管理和调度作业,在多道批处理系统中,为每个作业设置了一个作业控制块JCB,它是作业在系统中存在的标志,其中保存了系统对作业进行管理和调度所需的全部信息。常在JCB中包含的内容有: 作业标识、用户名称、用户账号、作业类型(CPU繁忙型、I/O繁忙型、批量型、终端型)、作业状态、调度信息(优先级、作业运行时间)资源需求(预计运行时间、要求内存大小等)、资源使用情况等。

每当一个作业进入系统时,便由“作业注册”程序为改作业建立一个作业控制块JCB。

3.作业运行的三个阶段和三种状态

作业从进入系统到运行结束,通常需要经历收容、运行和完成三个阶段。相应的作业也就有“后备状态”、“运行状态”、和“完成状态”

  • 收容阶段:操作员把用户提交的作业通过某种输入方式或SPOOLing系统输入到硬件,再为改作业建立JCB,并把它放入作业后备队列种。相应的,此时作业的状态为“后备状态”。
  • 运行阶段:当作也备作业调度选中后,便为它分配必要的资源和建进程,并将其放入就绪队列,一个作业从第一次进入就绪状态开始,直到它运行结束前,在此期间都称为运行状态。
  • 完成阶段:当作业完成、或发生异常情况而提前结束时,作业便进入完成阶段,相应的作业状态被称为“完成状态”。

3.2.2作业调度的任务

作业调度的主要内容是,根据JCB中的信息,检查系统中的资源能否满足作业对资源的需求,以及按照一定的调度算法,从外存的后备队列中选取某些作业调入内存并为他们创建进程、分配必要的资源。然后再将新创建的进程排在就绪队列上等待调度。因此也把作业调度称为接纳调度。在每次执行作业调度时,都需要做出两个决定:

  1. 接纳多少作业
  2. 接纳哪些作业

3.2.3作业调度算法

1.先来先服务(first-come first-service,FCFS)调度算法

FCFS是最简单的调度算法,该算法既可以用于作业调度,也可以用于进程调度

2.短作业优先(short job first,SJF)的调度算法

SJF是以作业的长短来计算优先级,作业越短,其优先级越高。

缺点:

  1. 必须预知作业的运行时间
  2. 对长作业非常不利
  3. 在采用SJF算法时,人——机无法实现交互
  4. 该调度算法完全未考虑作业的紧迫程度,故不能保证紧迫性作业能及时得到处理

3.优先级调度算法(priority-scheduling algorithm,PSA)

在优先级调度算法中则是基于作业的紧迫程度,由外部赋予作业相应的优先级,调度算法是根据优先级进行调度的。这样就可以保证紧迫性作业优先运行。

4.高响应比优先调度算法(Highest Response Ratio Next,HRRN)

高响应比优先调度算法即考虑作业的等待时间,又考虑了作业运行时间的调度算法,因此即兼顾队了短作业,又不致长作业的等待时间过长,从而改善了处理机调度的性能。

3.3 进程调度

3.3.1 进程调度的任务、机制和方式

1.进程的任务

  1. 保存处理机的现场信息
  2. 按某种算法选取进程
  3. 把处理器分配给进程。

2.进程调度机制

  • 排队器
    • 为了提高进程调度的效率,应事先将系统中的所有就绪进程按照一定的策略拍成一个或多个队列,以便调度程序能最快的找到它。以后每当有一个进程转变未就绪状态时,排队器便将它插入到相应的就绪队列
  • 分派器
    • 分派器依据进程调度程序所选定的进程,将其从就绪队列中取出,然后进行从分派器到新选出进程间的上下文切换,将处理机分配给新选出的进程。
  • 上下文切换器

3.进程调度方式

  1. 非抢占方式
  2. 抢占方式
    1. 优先权原则
    2. 短进程优先原则
    3. 时间片原则

3.3.2轮转调度算法

1.轮转法的基本原理

在轮转(RR)法中,系统根据FCFS策略,将所有的就绪进程排成一个就绪队列,设置每个一定时间间隔(如30毫秒)即产生一次中断,激活系统中的进程调度程序,完成一次调度,将CPU分配个新的的队首进程(或新到达的紧迫进程)。由此,可保证就绪队列中的进程在一个确定的时间段内都能获得一次CPU执行。

2.进程切换时机

  • 若一个时间片尚未用完,正在运行的进程便已经完成,就立即激活调度程序,将它从就绪队列中删除,再调度就绪队列中的队首进程运行,并启动一个新的时间片。
  • 在一个时间片用完后,计时器中断处理程序被激活。如果进程尚未运行完毕,调度程序将把他送进就绪队列的末尾。

3.时间片大小确定

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

推荐阅读更多精彩内容