版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章过程管理,2.1过程的基本概念2.2过程控制2.3过程同步2.4经典过程的同步问题2.5过程通信2.6线程。本章的学习目标是程序不能在多程序环境中独立运行。作为资源配置和独立运作的基本单位,它是过程。操作系统的所有特性都是基于流程来体现的。因此,本章的学习目标是:理解过程的概念,掌握过程在系统中的表示方法,理解过程的产生及其状态变化,理解过程切换过程,理解过程调度的原因和调度切换的时机,理解过程同步的实现方法;掌握信号量机制以及如何使用它来解决进程同步问题。掌握进程通信机制(共享存储系统;信息传递系统;管道通信)了解线程的基本概念,了解线程控制方法和两种常见的线程类型,本章的重点和难点,
2、进程和程序的比较,进程和线程的比较, 以及进程的三个基本状态之间的因果关系的转换来判断临界区算法是否正确(综合应用问题)整数信号量和记录信号量的定义(综合应用问题)信号量的应用(综合应用问题),2.1进程的基本概念,2.1.1程序的顺序执行及其特征2.1.2趋势图2.1.3程序的并发执行及其特征2.1.4进程特征和状态2.1.5进程控制块, 2.1.1程序的顺序执行及其特点,由于各种软件的出现和复杂性的增加,程序设计的概念和方法有了很大的发展。程序顺序执行的图示。例如,在计算时,您总是需要先输入数据,然后计算,最后打印计算结果。如果I用于输入,C用于计算,P用于打印,箭头用于指示操作顺序。然后
3、输入数据,计算数据,打印计算结果,可以表示为:I1,C1,P1。当两个这样的程序表示为:I2,C2,P2,图2-1 (a),程序顺序执行图,对于程序段中的多个语句,S2: b=a-5;s : c=B1;S1,S2,S3,这些可以表示为:图2-1 (b),所有按顺序执行的程序都有以下特点:(1)顺序性。也就是说,每个操作都必须在最后一个操作完成后开始。(2)关闭。当程序运行时,它垄断了整个机器资源;资源的状态(初始状态除外)只能由该程序更改。一旦程序开始运行,其执行结果不受外部因素的影响。(3)再现性。只要执行环境和初始条件相同,无论是连续执行还是“走走停停”,程序都会得到相同的结果。2.1.2
4、前向图,定义:前向图是一个有向无环图,它被命名为DAG(有向无环图),用于描述进程执行前后的关系。图中的每个节点都可以用来描述一个程序段或过程,甚至一条语句;节点之间的有向边表示两个节点之间的偏序关系或正向关系。前向关系:=(pi,pj) | pi的定义必须在pj开始之前完成。写为Pi Pj。圆周率是Pj的直接前身,Pj是圆周率的直接继承者。没有先行词的被称为初始节点,没有后继词的被称为最终节点。I1、C1、P1、I2、C2、P2、图2-1 (a)具有偏序关系:iicipi、S1、S2、S3具有偏序关系:S1 S2 S3,图2-1 (b) (a)具有九个节点的前向图,其中存在以下前向关系:P1
5、P2、P1P3、P1P4、P2P5、P3P5、P4P6、P4P7、P5P8、P6P8、P7P9、P8P9,或表示为:p=P1、P2、P3(P1、P4)、(P2、P5)、(P3、P5)、(P4、P6)、(P4、P7)、(P5、P8)、(P6、P8)、(P7、P9)、(P8、P9),如图(B)所示不是前者,在远期趋势图中应该没有周期。、S1、S2、S3、由于: S2S3和S3 S2、2.1.3的先行关系程序的并发执行及其特点,无论是操作系统程序还是用户程序,总有一些相对独立的程序段可以并发执行。这些“并发程序”构成了一个“并发环境”。例如,在输入程序输入第一程序之后,可以通过输入程序输入第二程序,
6、同时计算程序计算程序,使得第一程序的计算操作可以与第二程序的输入操作同时执行。一般来说,当输入程序输入i-1程序时,计算程序可以正在计算I-1程序,而打印程序正在打印I-1程序的计算结果。i1,I2,i3,i4,C1,C2,C3,C4,P1,p2,P3,P4,在这种情况下,有以下转发关系:IiCi,IiIi 1,CiPi,CiCi 1,pii。在另一个例子中,有一个程序段:s1: A 3360=x2s : b 3360=y4s 3360 c 3360=A bs4: d 3360=CB,s1,s2,s3,s4,在这个例子中,有以下先行关系:S3必须在A和b中分配。S4必须在S3之后执行;但是S1
7、和S2可以同时被处决。程序并发执行的特点是间歇性的(异步):“执行被暂停”,程序可能中途停止并失去其原来的时序关系。因为这些程序共享系统资源并相互协作完成相同的任务,所以这些程序之间存在相互制约。i1,I2,i3,i4,C1,C2,C3,C4,P1,p2,P3,P4,在上图中,I,C和P是三个合作项目。当计算程序完成Ci-1的计算时,闭包的损失:共享资源,受其他程序控制逻辑的影响。例如,一个程序写入内存的数据可能会被另一个程序修改,从而失去其原有的不变特征。再现性损失:封闭性损失和再现性损失;外部环境在程序的两次执行过程中发生了变化,失去了原来的可重复特性。例如,有两个循环程序a和b,它们共享
8、一个变量n。程序b:打印(n)。N=0程序A和B以不同的速度运行,因此可能会出现以下三种情况(假设变量值在某个时间)。N3360=打印前N 1(N)和N=0,得到的N值分别为:N 1,N 1,0,N3360=打印后N 1(N)和N=0。N:=N 1在打印(N)和N=0之间,并且获得的N值是:N,N 1,0,失去再现性的示例2,飞机预订系统,两个终端,运行T1和T2过程T1 : T23360.读取(x);读取(x);如果x=1,则如果x=1,则x :=x-1;x :=x-1;写(x);写(x);2.1.3进程的特征和状态,进程是操作系统中最基本和最重要的概念,但目前还没有非常精确的定义。许多人从
9、不同的角度定义了过程。典型的过程定义如下:(1)过程是程序的执行。(2)进程是当程序及其数据在处理器上按顺序执行时发生的活动。(3)进程是程序在数据集上运行的过程,是资源分配和调度的独立单元。本教材将过程定义为:过程是过程实体的运行过程,是资源分配和调度的独立单位。过程和程序的区别在于过程是动态的,程序是静态的:程序是有序代码的集合;过程是程序的执行。通常,进程不能在计算机之间迁移;虽然程序通常与文件相对应,但它们是静态的,可以复制。这个过程是暂时的,程序是永久的:这个过程是一个状态改变的过程,程序可以保存很长时间。过程的构成不同于程序的构成:过程的构成包括程序、数据和过程控制块(即过程状态信
10、息)。进程与程序的对应关系:一个程序可以通过多次执行对应多个进程;通过调用关系,一个进程可以包含多个程序。过程的特征,结构特征是程序可以并发执行,并且应该为它配置一个过程控制块。过程实体由三部分组成:程序段、相关数据段和印刷电路板。创建过程实质上是在过程实体中创建印刷电路板,撤销过程实质上是撤销过程的印刷电路板。过程的特性,动态过程有一定的生命周期。动态性能如下:进程通过调度创建、执行,并通过撤销而终止。并发意味着多个进程实体在内存中共存,并且可以在一段时间内同时运行。独立性意味着在没有线程的传统操作系统中,一个进程是一个可以独立运行、独立分配资源和独立接受调度的基本单元。异步意味着进程以其独
11、立且不可预测的速度前进,或者进程实体异步运行。进程的三个基本状态和状态变化图,(1)就绪状态:进程已经分配了除了中央处理器以外的所有必要资源,只要它得到中央处理器就可以立即执行,此时的状态称为就绪状态。系统中有许多处于就绪状态的进程,它们通常排列在就绪队列中。(2)执行状态:进程已获得中央处理器,其程序正在执行。在单处理器系统中,只有一个进程在执行;在多处理器系统中,可以同时执行多个进程。(3)阻塞状态:当一个正在执行的进程由于一个事件暂时不能继续执行时,它放弃处理器,处于挂起状态,即进程的执行被阻塞。这种状态称为阻塞状态(等待状态或阻塞状态)。被阻塞的进程也可以排队。导致进程阻塞的事件有:请
12、求输入/输出、申请缓冲空间等。图一个进程的三个基本状态及其转换,就绪,执行,阻塞,时间片完成,进程调度,输入/输出请求,输入/输出完成,1。处于就绪线程状态的进程可以在分派器为其分配处理器之后被执行,并且相应地它从就绪状态改变到执行状态;2.如果进程的执行由于某个事件而被阻塞,使其无法继续执行,进程将从执行状态变为阻塞状态;3.如果当前正在执行的进程在分配给它的时间片结束后暂停,该进程将从执行状态返回到就绪状态。状态变化如下:(1)就绪状态变为运行状态。(2)运行状态变为就绪状态。(3)运行状态变为阻塞状态。(4)阻塞状态变为就绪状态。引入了挂起状态的进程状态转换,引入挂起状态的原因是:终端用
13、户的请求。当最终用户在其程序运行过程中发现可疑问题时,他希望暂时停止其程序。这种静态就是暂停状态。父进程请求父进程挂起其自己的子进程以供检查和修改;当实时系统负载较重时,系统会挂起一些不重要的进程;操作系统需要操作系统希望暂停一些进程,以便检查运行中的资源使用情况。引入悬浮后的过程状态转变,引入悬浮后增加从悬浮状态(也称为静态)到非悬浮状态(也称为活动状态)的转变;反之亦然。有以下几种情况:活动就绪静态就绪当一个进程处于未挂起的就绪状态时,它被称为活动就绪,表示为就绪。当使用挂起原语挂起进程时,该进程被转换为静态就绪状态,称为就绪,处于就绪状态的进程不再被调度执行。活动阻塞静态阻塞当一个进程处
14、于尚未挂起的阻塞状态时,它被称为活动阻塞状态,称为阻塞。当通过使用挂起原语将其挂起时,该进程被转换为静态阻塞,这被称为阻塞。在预期事件发生后,处于这种状态的进程将从静态阻塞变为静态就绪。静止就绪活动已为处于就绪状态的流程做好准备。如果它被激活原语激活,该过程将变为就绪状态。静态阻塞活动会阻塞处于阻塞状态的进程。如果被激活原语激活,进程将进入阻塞状态。进程转换图,包括挂起状态、执行、停顿就绪、停顿阻塞、活动就绪、活动阻塞、请求输入/输出、挂起、激活、挂起、激活、挂起、输入/输出完成、输入/输出完成、进程调度、时间片完成、创建状态和终止状态,1)其次,将进程转换为就绪状态并将其插入就绪队列。创建新
15、流程时,系统会分配印刷电路板并填写流程标识等信息。然而,由于必要的资源或进程的其他信息,如主内存资源尚未分配。此时,流程有自己的印刷电路板,但流程本身没有进入主内存,即创建工作尚未完成,流程无法安排运行。这个状态就是创建状态。过程的终止包括两个步骤:第一,等待操作系统处理后果,然后清除其印刷电路板,并将印刷电路板空间返回给系统。如果进程到达自然终点,或出现不可克服的错误,或被操作系统或其他具有终止权的进程终止,它将进入终止状态。虽然进入终止状态的进程不能再执行,但操作系统中仍保留有一条记录,其中保存有状态代码和一些定时统计数据,供其他进程收集。一旦其他进程提取完终止进程的信息,操作系统将删除该进程。图一个进程的五个基本状态及其转换:就绪、执行、阻塞、时间片完成、进程调度、输入/输出请求、输入/输出完成、创建、许可、终止、释放、执行、静态就绪、静态阻塞、活动阻塞、请求输入/输出、暂停和激活2.1进程的基本概念、2.1.1程序的顺序执行及其特征2.1.2转发图2.1.3程序的并发执行及其特征2.1.4进程的特征和状态2.1.5进程控制块,它是当系统或父进程创建一个进程时,它实际上是一个进程控制块。过程控制块不仅可以识别一个过程的存在,还可以刻画其动态特性。这是过程中唯一被系统真正感知的部分。就操作系统而言,所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度“安全生产事故隐患排查”知识竞赛高分题库及参考答案详解(新)
- 2024-2025学年度环卫垃圾处理工考试黑钻押题附完整答案详解(夺冠系列)
- 2024-2025学年度反射疗法师大赛理论模考模拟试题附完整答案详解(全优)
- 2025年榆林市榆阳区招聘协管员考试真题及答案
- 2025年湖南省张家界市政府采购评审专家考试真题(附含答案)
- 2026二年级道德与法治下册 诚信故事分享
- 2026七年级数学 北师大版综合实践幻方应用拓展
- 2026六年级道德与法治下册 保护空气质量
- 概念营销方案案例研究报告
- 国外健康睡眠实测研究报告
- 2026江苏苏州市昆山市自然资源和规划局招聘编外人员8人笔试参考题库及答案解析
- 2026年及未来5年市场数据中国演出行业市场发展数据监测及投资潜力预测报告
- (新教材)2026年部编人教版二年级下册语文 第7课 我不是最弱小的 课件
- 2026年学士学位英语测试题及答案
- 2026年甘肃平凉市华亭煤业集团有限责任公司招聘笔试参考题库附带答案详解
- (一模)2026年深圳市高三年级第一次调研考试政治试卷(含官方答案)
- 上海市普陀区学校(五四制)2025-2026学年六年级上学期期中语文试题(解析版)
- 2026广东清远市清城区医疗卫生共同体总医院招聘编外工作人员42人笔试参考题库及答案解析
- 园林绿化工国家职业技能标准
- 智联招聘考试题库及答案
- 2025上半年湖南能源集团招聘322人笔试历年常考点试题专练附带答案详解2套试卷
评论
0/150
提交评论