处理机调度与死锁

处理机调度与死锁

ID:26673603

大小:1.58 MB

页数:171页

时间:2018-11-28

处理机调度与死锁_第1页
处理机调度与死锁_第2页
处理机调度与死锁_第3页
处理机调度与死锁_第4页
处理机调度与死锁_第5页
资源描述:

《处理机调度与死锁》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章 处理机调度与死锁3.1处理机调度的层次3.2调度队列模型和调度准则3.3调度算法3.4实时调度3.5产生死锁的原因和必要条件3.6预防死锁的方法3.7死锁的检测与解除处理机调度与死锁(SchedulingandDeadlock)教学目的:在多道程序系统中,一个作业从提交到执行完成,要经历多级调度,调度的好坏要影响系统的运行性能,因此调度是多道系统的关键。为了改善系统资源的利用率和提高系统处理能力,多道程序系统中采用多个进程的并发执行,但它也可能发生死锁的危险,研究死锁的原因和产生条件,采用预防死锁

2、、避免死锁、检测死锁和解除死锁等多种方法防止死锁是多道程序系统重要的研究课题。教学要求:熟悉处理机三级调度概念和处理机调度模型,掌握作业的状态和作业调度的功能。掌握进程调度的方式和功能,熟悉调度方式和算法的选择准则,掌握各种调度算法及适合范围。掌握死锁的定义和产生死锁的原因,掌握死锁的四个必要条件;熟悉预防死锁的方法,熟练掌握银行家算法及其在死锁避免中的应用;掌握资源分配图的简化及其死锁定理,熟悉解除死锁的方法。3.1处理机调度的层次3.1.1高级调度1.作业和作业步(1)作业(Job)。作业是一个比程序

3、更为广泛的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明书,系统根据该说明书来对程序的运行进行控制。在批处理系统中,是以作业为基本单位从外存调入内存的。(2)作业步(JobStep)。通常,在作业运行期间,每个作业都必须经过若干个相对独立,又相互关联的顺序加工步骤才能得到结果,我们把其中的每一个加工步骤称为一个作业步,各作业步之间存在着相互联系,往往是把上一个作业步的输出作为下一个作业步的输入。例如,一个典型的作业可分成三个作业步:①“编译”作业步,通过执行编译程序对源程序进行编译,产生若干

4、个目标程序段;②“连结装配”作业步,将“编译”作业步所产生的若干个目标程序段装配成可执行的目标程序;③“运行”作业步,将可执行的目标程序读入内存并控制其运行。(3)作业流。若干个作业进入系统后,被依次存放在外存上,这便形成了输入的作业流;在操作系统的控制下,逐个作业进行处理,于是便形成了处理作业流。作业调度作业运行状态外存外存(盘)交换区作业后备状态作业提交状态作业完成状态终止作业就绪态阻塞态主存进程调度运行态就绪态阻塞态调出调进作业的状态:作业从进入到运行结束,一般需要经历“提交”、“后备”、“运行”和

5、“完成”四个阶段。提交状态一个作业被提交给机房后正在通过SPOOLing系统进行输入或用户通过终端向计算机中键入其作业时所处于的状态为提交状态。后备状态作业已经过SPOOLing系统输入到磁盘输入井,等待调入内存运行,此时作业处于后备状态。为了管理和调度作业,为每个作业设置一个作业控制块(JCB)。作业控制块记录了作业类型和资源要求等有关信息。作业控制块按作业类型组成一个或多个后备作业队列。运行状态一个在后备作业队列的作业被作业调度程序选中后,分配必要的资源,建立一组相应的进程后,调入内存,该作业就进入运

6、行状态。进程各状态(进程运行态、内存进程就绪态、内存阻塞态、外存进程就绪态、外存进程阻塞态等)都对应作业运行状态。完成状态当进程正常运行结束或因发生错误而终止时,作业进入完成状态。终止作业程序将负责善后处理。作业状态的转换:作业调度作业调度程序按一定算法从后备作业队列中选一个满足资源要求的作业,分配它所要求的资源,建立一组相应的进程,设置该进程状态为就绪态,并将该进程插入内存就绪队列,参加CPU争夺。终止作业当进程正常运行结束或因发生错误终止时,调用终止作业程序,它负责将输出文件缓冲输出到输出井,并调用S

7、POOLing系统输出进程将作业输出文件在打印机输出。同时回收作业所使用内、外存、I/O设备等各种资源,最后调用记帐程序结清作业费用。2.作业控制块JCB(JobControlBlock)为了管理和调度作业,在多道批处理系统中为每个作业设置了一个作业控制块,如同进程控制块是进程在系统中存在的标志一样,它是作业在系统中存在的标志,其中保存了系统对作业进行管理和调度所需的全部信息。在JCB中所包含的内容因系统而异,通常应包含的内容有:作业标识、用户名称、用户帐户、作业类型(CPU繁忙型、I/O繁忙型、批量型、

8、终端型)、作业状态、调度信息(优先级、作业已运行时间)、资源需求(预计运行时间、要求内存大小、要求I/O设备的类型和数量等)、进入系统时间、开始处理时间、作业完成时间、作业退出时间、资源使用情况等。每当作业进入系统时,系统便为每个作业建立一个JCB,根据作业类型将它插入相应的后备队列中。作业调度程序依据一定的调度算法来调度它们,被调度到的作业将会装入内存。在作业运行期间,系统就按照JCB中的信息对作业进行控制。当一个作业执行结

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。