- 1、本文档共152页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 进程的描述与控制
2.1 前驱图和程序执行
2.2 进程的描述
2.3 进程控制
2.4 进程同步
2.5 经典进程的同步问题
2.6 进程通信
2.7 线程的基本概念
内容提要
理解进程、线程的基本概念
掌握进程控制、进程同步的基本思想
能够采用信号量机制解决同步问题
2.1 前驱图和程序执行
2.1.1 前驱图
2.1.2 程序顺序执行
2.1.3 程序并发执行
2.1.1 前驱图
有向无循环图,DAG(Directed Acyclic Graph)
结点、边
Pi→Pj
直接前驱、直接后继、初始结点、终止结点
结点的重量(Weight):表示该结点所含有的程序量或结点的执行时间
2.1.1 前驱图
P1→P2,P1→P3,P1→P4,P2→P5,
P3→P5,P4→P6,P4→P7,P5→P8,
P6→P8,P7→P9,P8→P9
或表示为:
P={P1,P2,P3,P4,P5,P6,P7,P8,P9}
={(P1,P2),(P1,P3),(P1,P4),(P2,P5),
(P3,P5),(P4,P6),(P4,P7),(P5,P8),(P6,P8),
(P7,P9),(P8,P9)}
2.1.1 前驱图
前趋图中必须不存在循环
2.1.2 程序顺序执行
程序的顺序执行
通常可以把一个应用程序分成若干个程序段,在各程序段之间,必须按照某种先后次序顺序执行
一个程序段中的多条语句
S1: a:=x+y;
S2: b:=a-5;
S3: c:=b+1;
2.1.2 程序顺序执行
程序顺序执行时的特征
顺序性
封闭性
可再现性
2.1.3 程序的并发执行
程序的并发执行
2.1.3 程序的并发执行
程序的并发执行
S1: a:=x+2
S2: b:=y+4
S3: c:=a+b
S4: d:=c+b
2.1.3 程序的并发执行
程序并发执行的特征
间断性
失去封闭性
不可再现性
有两个循环程序A和B,它们共享一个变量N。程序A每执行一次时,都要做N:=N+1操作;程序B每执行一次时,都要执行Print(N)操作,然后再将N置成“0”。程序A和B以不同的速度运行。会出现什么情况?
2.1.3 程序的并发执行
程序并发执行引发的问题
协调各程序的执行顺序
多个执行程序共享资源,程序之间可能会互相影响,甚至影响输出结果
选择几个、哪几个程序进入内存执行
内存中的执行程序谁先执行
内存如何有效分配
为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制,引入进程
2.1 前驱图和程序执行
2.2 进程的描述
2.3 进程控制
2.4 进程同步
2.5 经典进程的同步问题
2.6 进程通信
2.7 线程的基本概念
内容提要
2.2 进程的描述
进程:可并发执行的程序在数据集合上的运行过程。
2.2.1 进程的定义与特征
2.2.2 进程的基本状态及转换
2.2.3 挂起操作和进程状态的转换
2.2.4 进程管理中的数据结构
2.2.1 进程的定义和特征
为使程序(含数据)能独立运行,应为之配置一进程控制块,即PCB(Process Control Block)
由程序段、相关的数据段和PCB三部分便构成了进程实体(一般情况下,简称为进程)
创建进程、撤销进程
2.2.1 进程的定义和特征
典型定义
进程是程序的一次执行。
进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
2.2.1 进程的定义和特征
进程的特征
动态性
并发性
独立性
异步性
2.2.2 进程的基本状态及转换
进程的三种基本状态
就绪状态、执行状态、阻塞状态
基本状态的转换
创建状态
创建进程是一个复杂的过程
由进程申请一个空白PCB,并向PCB填写用于控制和管理进程的信息
为进程分配运行时所需要的资源
把该进程转入就绪状态并插入到就绪队列中
引入创建状态确保了对PCB操作性的完整性,也增加了管理的灵活性
终止状态
进程的终止过程
等待操作系统进行善后处理
将其PCB清零,并将PCB空间返还系统。
进入终止态的进程以后不能再执行,但在操作系统中依然保留一个记录
图2-6 进程的五种基本状态及转换
2.2.3 挂起操作和进程状态的转换
挂起操作的引入
终端用户的请求
父进程请求
负荷调节的需要
操作系统的需要
2.2.3 挂起操作和进程状态的转换
引入挂起原语操作后三个进程状态的转换
活动就绪→静止就绪
活动阻塞→静止阻塞
静止就绪→活动就绪
静止阻塞→活动阻塞
2.2.3 挂起操作和进程状态的转换
引入挂起操作后五个进程状态的转换
2.2.4 进程管理中的数据结构
操作系
文档评论(0)