- 1、本文档共177页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.进程管理
操作系统第2章 进程管理;课程主要内容;从进程的观点研究操作系统;进程管理---第2章;进程同步与通信
2.3 进程同步
2.4 经典进程的同步问题
2.5 进程通信
10.3 UNIX中进程的同步与通信
调度与死锁(第3章);2.1 进程的基本概念;Eg1: 以下三条语句的前趋图为: s1: a:=x+y s2: b:=a-5 s3: c:=b+1 ;二、程序顺序执行;考虑时间上关系,可有下面示例。;程序顺序执行特点: ;三、程序并发执行;三、程序并发执行;三、程序并发执行;三、程序并发执行;三、程序并发执行;例2:假定一个航班售票系统运行在一个多终端分时系统上共享主机系统数据(库)资源,并在一个城市有两个终端售票机B1,B2,任意航班的座位按顺序预定,简单座位形式如图所示;其中黑色部分表示已售,空白部分为未售。设定有n排,每排m个座位(n,m≥1),又假定座位按顺序预定。两个终端售票机B1、B2有下面虚线框的公共数据(库)与相同的预定程序; ;三、程序并发执行;补充:程序并发执行的条件;如果对于语句S1和S2,有:
① R(S1)∩ W(S2)={Φ},
即S1读变量不是S2 修改的变量。
② W(S1)∩ R(S2)={Φ},
即S2读变量不是S1 修改的变量。
③ W(S1)∩ W(S2)={Φ},
即双方都不修改相同的变量。
同时成立,则语句S1和S2是可以并发执行的。;[例] S1: a:=x+2,S3: c:=a-b,S2: b:=z+4,S4: w:=c+1
试利用Bernstein条件证明:
(1)s1与s2并发执行;(2) s1与s3,s2与s3,s3与s4不能。
解:各语句的读、写集分别为:
R(S1)={x}, W(S1)={a},
R(S2)={z}, W(S2)={b},
R(S3)={a,b}, W(S3)={c},
R(S4)={c}, W(S4)={w},
因为 R(S1)∩W(S2)=φ,R(S2)∩W(S1) =φ ,W(S1)∩W(S2) =φ
所以由Bernstein条件,s1与s2并发执行。
同理可证s1与s3,s2与s3,s3与s4不能(略)。 ; 如果并发执行的各程序段中语句或指令满足上述Bernstein 的三个条件(同时成立),则认为并发执行不会对执行结果的封闭性和可再现性产生影响(证明略)。
但在一般情况下,这个条件对于软件设计(模块化)过于苛刻,系统要判定并发执行的各程序段是否满足Bernstein 条件是相当困难的。从而,如果并发执行的程序段不按照特定的规则和方法进行资源共享和竞争,则其执行结果将不可避免地失去封闭性和可再现性。; 根据Bernstein 条件,我们不能通过限制程序的编写方式和内容来获得系统的可再现性,因此解决此问题可能需要依靠控制程序的执行过程来解决。
为了控制和协调各程序执行过程中的软、硬件资源的共享和竞争,显然,必须应有一个描述各程序段执行过程和共享资源的基本单位。 ; 从上述讨论可以看出,用程序段作为描述其执行过程和共享资源的基本单位既增加操作系统设计和实现的复杂性,也无法反映操作系统所应该具有的程序段执行的并发性、用户随机性,以及资源共享等特征。也就是说,用程序作为描述其执行过程以及共享资源的基本单位是不合适的。需要有一个能描述程序的执行过程且能用来共享资源的基本单位。这个基本单位被称为进程(Process)/任务(Task)。 ;;一、进程的定义、特征;注:进程与程序的主要区别;;一、进程的定义、特征;一、进程的定义、特征;二、进程状态;二、进程状态;
2、进程状态转换 ;3、进程的挂起状态
在某些系统中,为了更好地管理和调度进程,引入了挂起状态:
挂起状态/静止状态:
程序在运行期间,由于某种需要,往往要将进程暂停执行,使其静止下来,以满足其需要。这种静止状态就称为进程的挂起状态。;返回控制进程的挂起与激活;返回;三、进程控制块 (PCB);1、进程控制块PCB中的信息
进程标志符:由系统创建进程时分配给进程的唯一标识号,通常为一整数,称为进程号,用于区分不同的进程。其所属用户通常也为一整数,称为用户号。
处理机状态(断点信息):即处理机中各种寄存器(通用寄存器、PC、PSW等)的内容。
进程调度信息:记录了进程调度的相关信息(状态、优先级、事件等)。
进程控制信息:记录了系统对进程控制的信息(程序和数据的地址、同步机制、
文档评论(0)