计算机操作系统 第四版 汤小丹 课件 第2章_第1页
计算机操作系统 第四版 汤小丹 课件 第2章_第2页
计算机操作系统 第四版 汤小丹 课件 第2章_第3页
计算机操作系统 第四版 汤小丹 课件 第2章_第4页
计算机操作系统 第四版 汤小丹 课件 第2章_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章进程的记述和控制、2.1前进图和程序执行2.2进程的记述2.3进程控制2.4进程同步2.5古典进程同步问题2.6进程通讯2.7线程(Threads )的基本概念2.8线程的实现问题、 2.1前向图和计程仪程序执行是在OS未早期配置的系统和单程批处理系统中,程序计程仪程序的执行方式是顺序执行,在内存中只装载一个用户程序计程仪程序,独占系统内的所有资源,只有在一个用户程序计程仪执行完成后,才执行另一个程序由此可知,该方式存在资源浪费、系统运行效率低等缺点。 2.1.1前瞻性图介绍描述程序计程仪执行优先级的前瞻性图,以便更好地描述程序的顺序和云同步执行情况。 正向格拉夫(Precedence

2、Graph )是用于描述过程之间的执行优先级的定向非循环格拉夫,其被称作Dag (直接循环图)。 图中的每个节点可以用来表示一个进程或段、或语句,其中节点之间的有向边表示存在于两个节点之间的粒子顺序或正向关系。 进程(或项目群)之间的前置关系可以用“”表示,如果进程Pi和Pj具有前置关系,则可以表示为(Pi,Pj ),也可以表示为PiPj,表示Pi必须在Pj开始执行之前完成。 此时,将Pi称为Pj的直接向前,将Pj称为Pi的直接后继。 在现有格拉夫中,将非先前的节点称为初始节点,将非后续节点称为终止节点。 每个节点还具有一个重量(Weight ),表示该节点包含的计程仪项目数和项目计程仪项目的

3、执行时间。 在图2 a所示的前进图中,存在P1P2、P1P3、P1P4、P2P5、P3P5、P4P6、P4P7、P5P8和P6P8。 P4)、(P2,P5)、(P3,P5)、(P4,P6)、(P4,P7)、(P5,P8)、(P6,P8)在如图2-1(b )所示的先行关系中存在循环。 这需要S2在S3开始执行之前完成,而S3必须在S2开始执行之前完成。 很明显,这种关系是不能实现的。 S2S3,S3S2,图2-1向前图, 2.1.2按计程仪柱的顺序执行1 .按计程仪柱的顺序执行通常,一个应用程序由多个计程仪柱段组成,每个柱段执行特定的功能,它们必须在执行时按某种优先级执行,例如,进行纠正操作请先

4、运行用于输入用户的计程仪程序和数据的输入计程仪程序,然后运行修正程序计程仪程序,修正输入的数据。最后运行打印程序计程仪程序,打印修正结果。 各段的操作用节点(Node )表示(图21中用圆圈表示),I是输入操作,c是修正计算操作,p是打印操作,用箭头表示操作的优先顺序。 这样,在上述3个子摇滾乐之间存在IiCiPi,其执行顺序可以在前向图2-2(a )中记述。 即使是一个段,也可能存在执行顺序的问题,如下表示包含三个句子的段: S1: a :=x y; S2: b :=a-5。 S3: c :=b 1。 在这里,语句S2必须在语句S1 (即,替换a之后)之后执行,且语句S3也只在b替换之后执行

5、。因此,在三个语句中存在着S1S2S3按图2 b所示的顺序执行的先行关系。、图2-2的程序执行的先行图、2 .计程仪程序执行时的特征以上可知,在执行程序计程仪时,处理器严格按照程序计程仪程序中规定的程序执行, 即各操作在下一个操作开始前必须结束的封闭性:在关闭的环境下执行项目计程仪程序,即在执行项目计程仪程序时独占所有机器资源,资源的状态(初始状态除外)只有本项目计程仪程序能够改变它,当开始执行项目计程仪程序时, 其执行结果不受外在因素影响的再现性是指,如果计程仪程序执行时的环境和初始条件相同,则在反复执行程序计程仪程序时,无论是不停止从头至尾而执行,还是“亚麻跌走道儿”执行,都得到相同的结果

6、。 执行计程仪程序时的这种特性为程序设计师检测、修正程序中的错误提供了很大的便利。 2.1.3执行计程仪程序云同步1 .执行计程仪程序的云同步通过常见的例子说明执行计程仪程序的顺序和执行云同步。 在图2-2的输入计程仪程序、修正运算计程仪程序和打印计程仪程序三者之间存在IiCiPi那样的先行关系,一个作业的输入、修正运算和打印这三个程序段必须被顺序执行。 在处理一批工作时,每个工作的输入、校正和打印工作摇滾乐的执行状况如图2-3所示。 使云同步执行图2-3的项目群时的向前图从图2-3可知,存在向前关系IiCi、IiIi 1、CiPi、CiCi 1、PiPi 1,Ii 1、Ci和Pi-1重合,即

7、为pi 我知道S3必须在分配了a和b之后才能执行,S4必须在S3之后执行,但是S1和S2彼此无关,所以可以在云同步上执行。 图24的四个句子的先行关系,2 .引入了方案间的云同步执行功能后,系统的吞吐量和资源利用率提高了,但它们共享系统资源,为了实现相同的塔斯克,在这些个的同时执行程序之间形成了相互制约的关系,从而(2)失去封闭性。 (3)不可再现性。2.2进程的描述2.2.1进程的定义和特征1 .进程的定义在多个进程环境下,进程的执行属于云同步执行,那时它们失去了封闭性,具有断断续续的及其执行结果的重现性的特征。 据此,决定了通常的程序计程仪不参与云同步执行,否则程序计程仪程序的执行也失去了

8、意义。 引入了“进程”概念,以允许云同步执行计程仪程序,描述和控制云同步执行的程序计程仪程序。 对于过程的定义,可以从不同的角度进行不同的定义。 其中,典型的定义是: (1)进程是计程仪定程序的一次执行。 (2)进程是当在处理器上顺序执行节目计程仪节目和数据时发生的活动。 (3)过程是在一个数据定径套上执行具有独立功能的计程仪项目的过程,是系统进行资源分配和调度的独立的单位。 2 .工艺特点进程和方案计程仪是两个完全不同的概念,进程具有方案计程仪方案中没有的PCB结构,此外,(1)具有动态性。 (2)并发性。 (3)独立性。 (4)非同步性。 此外,2.2.2基本状态和转变1.2进程基本状态的

9、三个进程可能在其生命周期中具有多个状态,因为多个进程共享云同步运行时的系统资源,以指示执行中的间断执行规则。 一般情况下,每个进程必须至少处于(1)就绪(Ready )状态的三个基本状态之一。 (2)执行(Running )状态。 (3)封摇滾乐状态。 2 .三个基本状态的转变过程在执行过程中经常发生状态转变。例如,由于在调度器分配了处理器之后能够执行处于准备完成状态的过程,所以该状态从准备完成状态迁移到执行状态的执行中的过程(当前的过程),在由于所分配的考勤卡完成而中断了处理器的执行的情况下, 如果出现一个从运行到就绪的上通告,并且当前进程的运行受到阻碍(例如,进程网站数据库到极限资源,而该

10、资源由另一个进程网站数据库),则进程的状态从运行变为摇滾乐。 图2-5显示了过程的三个基本状态及其状态之间的转换关系。图2-5过程的三个基本状态及其转变,3 .创建状态和结束状态1 )创建状态如前所述,该过程通过创建而产生。 创建进程是一个复杂的进程,通常需要几个步骤,如进程申请空白的PCB,在PCB中填写用于控制和管理进程的信息,然后将运行时所需的资源分配给进程。最后,将此进程置于就绪状态然而,如果进程所需的资源不满足,例如,系统没有一盏茶内存不能加载进程,则将放置在此时的进程状态称为创建状态,这是因为创建工作还没有完成,并且进程不能被调度并执行。 2 )终止状态过程也经历两个步骤:首先等待

11、OS进行善后处理,最后将PCB清零,并将PCB空间返回系统。 一个进程到达自然终点、发生无法克服的错误、由执行操作系统终止、或由其他有终止权的进程终止时,将成为终止状态。 进入退出状态的进程以后无法运行,但执行操作系统上仍有存储状态塔斯科和时间节点修订,其他进程可收集的查询密码。 当另一过程完成提取信息时,执行操作系统将该过程(即PCB )清零,并将空PCB返回给系统。 图2-6图示了用于添加状态和退出状态的过程的五种状态和转变函数系谱图。图2-6进程的5个基本状态和转变、2.2.3挂起操作和进程状态的转变1 .挂起操作的引入挂起操作的原因是,(1)基于最终用户的需要。 (2)父进程要求。 (

12、3)负荷调节的必要性。 (四)执行操作系统需求。 2 .在引入挂起基元操作之后的三个进程状态的转变导致引入挂起基元Suspend并且激活基元Active之后,由于它们的作用,进程可能发生以下状态的转变: (1)活动就绪静止状态(2)活动堵塞、静止堵塞。 (3)静止准备活动做好了。 (4)静止堵车、活动堵车。 3 .引入挂起操作后的5个进程状态的转变图2-8显示具有添加创建状态和终止状态的挂起状态的进程状态和转变图。 如图2-8所示,在引入创建结束状态之后,当进行进程状态转变时,与图2-7所示的进程5状态转变相比,(1)空创建: (2)创建活动准备: (3)创建静止准备: (4 2.2.4过程管

13、理中的用于数据结构1 .执行操作系统中的管理控制的数据我们称为资源信息表或进程信息表,包含资源或过程的识别、说明、状态等信息和一系列指针。 利用这些个指针,可以将同类资源、进程信息表或同一进程占用的资源信息表分类到不同的队列中进行网络链接,从而使执行操作系统的检索变得容易。 另外,如图2-9所示,OS所管理的这些个的数据结构一般被分类为存储器表、数据表、文件表、用于过程管理的工艺表这4种,通常工艺表也称作工艺联合特罗尔摇滾乐PCB。、图2-9执行操作系统控制表的一般构成、2 .过程控制子摇滾乐PCB的作用(1)设为独立运行基本单位的标志。 (2)能够实现断续的运行方式。 (三)为过程管理提供必

14、要的信息。 (四)向调度过程提供必要的信息。 (5)实现与其他进程的同步和通讯。 3 .进程控件堆特罗尔摇滾乐中的信息进程控件特罗尔定摇滾乐主要包括四个方面的信息: 1 )进程标识用于唯一地标识进程标识进程。 进程通常有两个标识符: (1)外部标识符。 (2)内部识别符。 (2)处理器状态处理器状态信息有时也称为处理器的上下文,主要由处理器的各种暂存器的内容组成。 3 )当调度过程信息OS进行调度时,需要知道有关进程状态和调度过程的信息。 这些个的信息显示了进程状态、进程的当前状态,是与调度过程交换的依据。 进程优先级是用于描述进程所使用的处理器优先级的整数。高优先级进程是调度过程需要优先获得

15、处理器的其他信息。 与调度过程算法(进程等待电脑CPU的时间的修订、进程执行的时间的修订等)相关。 上通告是等待进程从执行状态迁移到块摇滾乐状态的上通告,即块摇滾乐原因。 4 )过程控制特罗尔信息是指过程控制特罗尔所需的信息,包括过程和数据的地址、过程实体内的程序计程仪和数据的存储器或外部(开头)地址,在该过程执行时能够从PCB中发现该程序计程仪和数据的进程同步实现进程同步和进程通讯所需的反应历程(消息队列指针、信号量等),这些个的全部或一部分可能位于PCB上。 列出执行进程时所需的所有资源(电脑CPU除外)以及分配给该进程的资源的资源清单。 网络链接指针,指示该进程(PCB )所驻留的队列中

16、的下一个进程的PCB的起始地址。 4 .过程特罗尔子摇滾乐的组织方案可以在一个系统中通常可以具有几十个、几百个、甚至几千个PCB。 应该以适当的方式组织这些个的PCB以便有效地管理这些个。 现在普遍使用的组织方式有以下3种。 (1)线性方式、即将系统内的所有PCB组织成一个线性表,并将该表的地址存储在存储器的一个专用区域中。 该方式实现简单,开销小,但每次检索都需要扫描整个表,因此适用于进程数少的系统。 图210表示线性表的PCB组织方式。图2-10 PCB线性表示示意图,(2)网络链接方式将具有相同状态的过程的PCB分别以PCB中的网络链接字在一个队列中网络链接。 相应地,可以形成就绪队列、

17、多个阻塞队列、空闲队列等。 对于准备完成队列,大多按照进程的优先顺序将PCB以高的顺序排列,将优先顺序高的进程PCB排列在队列的开头。 同样,也可以将处于拥挤状态的进程的PCB,根据其拥挤原因,排列成等待I/O操作完成的队列或等待分配内存的队列等多个拥挤队列。图2-11显示了网络链接队列的组织方法。图2-11 PCB网络链接队列图像、(3)目录索引方式、即系统根据所有进程的状态,生成多个目录索引表,例如准备完成的目录索引表、布摇滾乐目录索引表等,并将各目录索引表记录在存储器的开头地址。 每个目录索引表的条目都记录PCB的PCB表中具有相应状态的地址。 图2-12表示目录索引方式的PCB组织。以图2-12目录索引方式组织PCB,2.3过程控

温馨提示

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

最新文档

评论

0/150

提交评论