文档详情

操作系统第2章教程.pptx

发布:2017-04-24约1.79万字共199页下载文档
文本预览下载声明
第2章 进程的描述与控制;第2章 进程的描述与控制;前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。 图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序(Partial Order)或前趋关系(Precedence Relation)“→”。 →={(Pi, Pj)|Pi must complete before Pj may start}, 如果(Pi, Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。 在前趋图中,把没有前趋的结点称为初始结点(Initial Node),把没有后继的结点称为终止结点(Final Node)。; 前趋图中每个结点还具有一个重量(Weight),权重 用于表示该结点所含有的程序量或结点的执行时间。 ;注意:前趋图中必须不存在循环,但在下图中却有着下述的前趋关系:这种前趋关系是不能满足的。 S2→S3, S3→S2 ;单道批处理系统中进行计算时,先运行输入程序I,用于输入用户的程序和数据;然后运行计算程序C,对所输入的数据进行计算;最后才是运行打印程序P,打印计算结果。 三个程序段的前趋关系:Ii → Ci →Pi;单道批处理系统中,一个程序段执行时,也存在执行顺序问题: S1: a∶=x+y; S2: b∶=a-5; S3: c∶=b+1;;程序 指令或语句序列,体现了某种算法,所有程序是顺序的。 顺序环境 在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。;程序顺序执行时的特征 顺序性:处理机严格地按照程序所规定的顺序执行,即每一操作必须在下一个操作开始之前结束。 (2) 封闭性:独占资源,执行过程中不受外界影响 (3) 可再现性:只要程序执行时的环境和初始条件相同,当程序重复执行时,不论它是从头到尾不停顿地执行,还是“停停走走”地执行,都可获得相同的结果,即程序执行结果的确定性。;2015/10/9;2015/10/9;2015/10/9;2015/10/9;程序并发执行时的特征;2.2.1 进程的定于与特征 1.与时间有关的错误;例2:某展示厅设置一个自动计数系统,以计数器count表示在场的人数,可见count是动态变化的,若有一个人进展厅,进程pin对计数器count加1,当有一个人退出展厅时,进程pout实现计数器减1。;若某一时刻展厅的人数为n,即计数器count=n,此刻有一个人要进入,同时另一人要退出,那么进程pin和pout都要执行,以便实现正确计数。若执行过程中pin被中断,pin和pout的执行顺序如下,则:;;与时间有关的错误:在并发执行的进程中,因为缺乏对进程执行的顺序的控制,从而造成并发执行结果的错误,这种错误称为与时间有关的错误。;2015/10/9;2015/10/9;2015/10/9;2015/10/9;2015/10/9;2015/10/9;3. 进程的五种状态 ;2015/10/9;2.进程状态的转换 活动就绪→静止就绪。 (2) 活动阻塞→静止阻塞。 (3) 静止就绪→活动就绪。 (4) 静止阻塞→活动阻塞。 ;29;2015/10/9;2015/10/9;2015/10/9;3. 进程控制块中的信息 ;2015/10/9;2015/10/9;2015/10/9;4. 进程控制块的组织方式 为对数量庞大的进程进行有效的管理,应用适当的方式将这些PCB组织起来。目前常用的组织方式有以下三种: ;2) 链接方式 把具有相同状态进程的PCB分别通过PCB中的链接字链接成一个队列。 对就绪队列而言,往往按进程的优先级将PCB从高到低进行排列,将优先级高的进程PCB排在队列的前面。 把处于阻塞状态进程的PCB根据其阻塞原因的不同,排成多个阻塞队列,如等待I/O操作完成的队列和等待分配内存的队列等。 ;2015/10/9;为达到多进程高效率并发执行和协调、实现资源共享的目的 进程控制是进程管理中最基本的功能,主要包括 创建新进程 终止已完成的进程 完成进程各状态间之间的转换 进程控制一般是由OS的内核中的原语来实现的;原语:为了对进程进行有效的管理和控制,操作系统要提供若干基本的操作,并且为了保证执行时的绝对正确,要求这些基本操作以一个整体出现,不可分割。也就是说,一旦启动了它们的程序,就要保证做完,中间不能插入其他程序的执行序列。在操作系统中,把具有这种特性的程序被称为“原语”。 利用屏蔽中断的方法来保证原语操作的不可分割性。;;3、OS内核两大功能 支撑功能
显示全部
相似文档