进程的描述及处理器调度.ppt_第1页
进程的描述及处理器调度.ppt_第2页
进程的描述及处理器调度.ppt_第3页
进程的描述及处理器调度.ppt_第4页
进程的描述及处理器调度.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 二 讲 进 程 的 描 述 处 理 器 调 度 教 学 目 标 了解进程的基本概念 熟悉进程的几种状态及转换原因 掌握处理器调度的各种算法 2.1 进程 2.1.1 前趋图和程序执行 1.前趋图 有向无循环图 每个结点表示一条语句、一段程序或一个进程 结点间的有向边表示两结点的前趋关系,即进 程执行的先后顺序 1为初始结点,4为终止结点 例:1表示输入进程,2、3分别表示乘法、 加法运算,4表示输出进程 1 2 3 4 并发程序设计/顺序程序设计 使一个程序分成若干个可同时执行的程序模块的 程序设计方法称为并发程序设计;相应,串行运 行程序方法称为顺序程序设计。 特点 间断性:共享资源导致程序“执行暂停执 行” 失去封闭性:并发执行以及共享资源可能导致结 果变化 不可再现性:不同次执行结果可能不一致 程序并发执行的条件 两段程序间无共享变量或对共享变量仅有读 操作 2.1.2 进程的描述与特点 1.进程的定义 一个具有一定独立功能的程序在一个数据集 上的一次执行 一段程序和它执行时处理的数据 可与其它程序并发执行的程序的一次执行 例如,某一算题为将一千个字符输入到缓冲区,处理后 输出到磁带,按并发程序设计思路将该算题分成 : 模块1:循环执行:读入1000个字符到输入缓冲区; 模块2:循环执行:处理输入缓冲区中1000个字符, 然后将1000个字符送输出缓冲区; 模块3:循环执行:取出输出缓冲区中1000个字符写 到磁带。让这三个模块同时并发进行。 2.进程的形成 例如:P为一编译程序,同时为甲、乙两程序服 务,假定编译程序P从a点开始工作,现在正在编 译源程序甲,当工作到b点时程序P等待磁盘传输 信息;这时利用处理器让编译程序P为源程序乙进 行编译,编译程序仍从a点开始。 虽然编译程序P只有一个,但是加工对象有甲、 乙两个源程序。如果把编译程序P与服务对象联 系起来,则程序P为甲服务就说构成了进程P甲 ,程序P为乙服务就说构成了进程P乙 程 序 甲 程 序 乙 编译程序 a b 3.进程的属性 结构: 同一程序运行在不同数据集上时,构成不同的进 程。它包含了数据集和运行在其上的程序及进程控 制块(PCB); 并发性: 多个进程可以并发执行,交替执行,走走停停, 即一个进程已开始工作但尚未结束之前,另一个进 程可以开始工作; 交往性: 若干个进程间可以相互交往制约,表现为内部 逻辑上协调关系及共享资源的间接关系; 动态性: 进程是动态的,有个生命期,由创建而产 生,由调度而执行,由撤销而消亡。 异步性: 各进程按独立,未知的速度发展,导致不可再 现性。 同一程序运行在不同数据集上时,构成不同 的进程。 4.进程的基本状态 在单处理器系统中,并发进程轮流占用处 理器, 由于发生事件引起状态变化。 进程的三种基本状态: 等待/阻塞态:因某事件发生而暂停,等待该事 件完成。 就绪态:所需资源均已备齐,等待系统分配中 央处理器,以便运行。 运行态:占有中央处理器正在运行。 进程的状态变化 l 运行态等待态 l 等待态就绪态 l 就绪态运行态 注意:只有处于就绪态的进程,才有可能转换为运行态; 处于等待态的进程在等待结束后只能进入就绪态, 不能直接进入运行态; 处于就绪态的进程只能转 换为运行态,而不能再进入等待态。 2.1.3 进程控制块PCB 每一个进程都设置一个“进程控制块”。操作系统通 过进程控制块来描述各进程的运行情况,并以此为 依据决定如何管理和控制进程运行。 进程控制块是一个进程存在的唯一标志。最基本的 进程控制块如图所示。 PCB的组织方式 链接方式 不同状态PCB组成相应队列,若链接字为0,表示 链接结束, 就绪队列按进程优先权大小排列,等 待进程,还可按原因再一次分成小队列 进程号 下一个链接的进程号 PCB1 4 PCB2 PCB8 PCB7 PCB6 PCB5 PCB4 PCB3 3 0 1 0 9 7 8 PCB9 运行态队列 等待态队列 就绪态队列 空闲队列 索引方式 各种状态建立独自的索引表,每个表目记录相 应PCB在PCB表中地址 PCB1 PCB8 PCB7 PCB6 PCB5 PCB4 PCB3 PCB2 运行指针 就绪指针 等待指针 就绪索引表 等待索引表 2.1.4 进程的控制 进程的创建 每一个进程都有生命期,即从创建到消亡。 当一个程序模块获得一个数据块和一个进程控 制块后就说创建了一个进程。 进程的创建过程 申请PCB 为新进程分配内存 初始化PCB 将新进程插入就绪队列 进程的终止 当一个进程完成了特定的工作后,收回 它所占的数据块和一个进程控制块,即 撤销了一个进程。 终止过程 选择新进程占用处理机 将子孙进程终止 将所有占用资源归还给父进程或系统 将该进程从所在队列移出 等待过程 从运行态转为等待态,加入等待队列 唤醒过程 使用唤醒原语从等待队列中移出,将PCB 中状态改为就绪,插入就绪队列 进程的挂起与激活 进程的挂起 将进程静止,运行态进程暂停,就绪态进程暂不 接收调度,阻塞态不急转成就绪态 例如:阻塞态进程调至外存 系统负荷过重,将一些进程挂起 操作系统或父进程挂起(子)进程,检查 资源使用或修改协调子进程 终端用户挂起进程对程序进行修改 进程的激活 从静止阻塞态变为活动阻塞态,等待转 为就绪态; 从静止就绪态转为活动就绪态,等待 CPU调度选中 运行 态 活动就 绪 活动阻塞 静止 就绪 静止阻塞 挂 起 激 活 激 活 挂 起 释放 释放 挂起 进程状态转换图 3.1 处理机调度的基本概念 3.1.1 调度类型 一、高级调度 即作业调度或长程调度、接纳调度,从外存调度 选中若干个作业进入内存,并建立进程,插入到 就绪队列中 分时系统与实时系统无需作业调度 所做工作包括: 根据多道程度确定选中作业的道数 根据调度算法确定选中哪些作业 二、低级调度 即进程调度或短程调度、处理器调度 调度方式有: 抢占方式 抢占原则有 非抢占方式 时间片原则 短作业优先 优先权原则 三、中级调度 又称中程调度,即存储管理中的对换 将暂时不运行的进程先调至外存置为挂 起,等内存空闲再把它们从外存调入改 为就绪态 3.1.2 选择调度方式与调度算法的若干准则 一、面向用户准则 1、周转时间 带权周转时间W =周转时间T /系统服务时间Ts 2、响应时间 3、截止时间(最迟开始时间) 4、优先权 二、面向系统的准则 1、系统吞吐量 2、处理机利用率 3、各类资源的平衡利用 3.2 调度算法 一、先来先服务法(FCFS) 按照进程进入就绪队列的先后次序来选择进程 从后备队列选中作业进入内存 利于CPU繁忙的作业 对长作业进程有利,对短作业不利 周转时间完成时间到达时间 带权周转时间周转时间/服务时间 二、 时间片轮转法: 规定一个时间片(如10毫秒),每个进程轮流地 运行一个这样的时间片。当这个时间片结束时 ,就强迫当前运行的进程退出处理器,让其他 进程运行。实现方法是使用内部间隔时钟 保证所有进程均能获得时间片 时间片的确定 系统对时间的要求 就绪进程的数目 系统处理能力 三、最高优先权法 每一个进程给出一个优先数,处理器调度每 次选择就绪进程中优先数最小者,让它占用 处理器运行。 该调度算法又分两种: 非抢占式 适用于批处理系统或要求不严的实时系统 抢占式 适合紧迫作业需求及要求较高的实时、分时系统 优先权的确定 静态优先数法 进程创建时确定,在运行期间不变 例如:系统进程、运行时间短或内存需求小的 进程优先权高 通常优先数越高优先权越低 动态优先法 创建时的优先数可随进程运行发生变化 四、短作业(进程)优先法 用于作业调度

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论