华东理工大学《操作系统》第三章进程管理讲述.ppt
文本预览下载声明
第三章 进程管理 进程的概述 进程状态和转换 进程控制、互斥、同步 进程通信 死锁 Linux的进程管理是如何进行的? 进程的引入 1.程序的顺序执行及其特性 2.资源共享 3.程序的并发执行及其特性 3.1 进程的概念 程序顺序执行 程序的并发执行 多道程序设计 进程的定义 1 程序顺序执行 程序: 指令或语句序列,体现了某种算法实现特定功能所采取的顺序步骤。 程序顺序执行: 指在计算机系统中只有一个程序在运行,严格按先后次序逐个执行语句/程序段,这个程序独占系统中所有资源,其执行不受外界影响。 例如: 一般程序中包括输入(I)、计算(C)和输出(P)三部分,而计算需在输入完成后方可开始。如图3-1。 特征: 1)程序执行的顺序性: 只有前一个操作结束, 才能执行后续操作 2)程序执行的封闭性 独占资源,执行过程中不受外界影响,结果由初始条件决定, 3)程序执行结果的确定性 即:程序结果的可再现性 程序运行结果与程序执行速度无关,只要初始状态相同,结果应相同 2 程序的并发执行 无论是操作系统自身的程序还是用户程序,通常总是存在一些相对独立、但又能并发执行的程序段。 所谓并发是指在一定时间内系统中有两个或两个以上的程序同处于开始运行但尚未结束的状态,或指多个程序段的执行在时间上的重叠。 程序的并发执行是现代操作系统的一个重要特征,引入并发程序设计技术,可加快作业的运行速度和有效利用系统资源。 并发环境的特征: (1)程序结果的不可再现性 并发程序执行的结果与其执行的相对速度有关,是不确定的 (2)在并发环境下程序的执行是间断性的 执行——停——执行 在顺序环境下 CPU利用率= 40/80 = 50% DEV1利用率= 15/80=18.75% DEV2利用率= 25/80=31.25% 引入并发的目的: 引入并发是为了提高资源利用率,从而提高系统效率 例: 在并发环境下 CPU利用 = 89% DEV1并发环境下利用 = 33% DEV2并发环境下利用 = 66% 前趋图的定义:有向无循环图,记DAG Eg1: 以下三条语句的前趋图为: s1: a:=x+y s2: b:=a-5 s3: c:=b+1 Eg2: S1: a:=x+2 S2: b:=y+4 S3: c:=a+b S4: d:=c+6 程序并发执行条件 (Bernstein) Eg S1: a:=x+2 S3: c:=a-b S2: b:=z+4 试利用Bernstein条件证明: (1)s1与s2并发执行;(2) s1与s3,s2与s3不能。 解:各语句的读、写集分别为: R(S1)={x}, W(S1)={a}, R(S2)={z}, W(S2)={b}, R(S3)={a,b}, W(S3)={c}, 因为 R(S1) W(S2)={},R(S2) W(S1) ={} 且W(S1) W(S2) ={} 所以由Bernstein条件,s1与s2并发执行。 同理可证s1与s3,s2与s3不能(略)。 3 进程的定义 (1)定义:Process 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 (2)进程的五个基本特征 动态性:进程是程序在并发系统内的一次执行,一个进程有一个从产生到消失的生命期; 并发性:正是为了描述程序在并发系统内执行的动态特性才引入了进程,没有并发就没有进程; 独立性:每个进程的程序都是相对独立的顺序程序,可以按照自己的方向和速度独立地向前推进; 制约性:进程之间的相互制约,主要表现在互斥地使用资源和相关进程之间必要的同步和通讯; 结构性:进程 = PCB + 程序 + 数据集合。 (3)程序和进程的区别 程序 进程 ●静态的指令序列 ●动态的程序执行过程 ●一程序可对应 ●一个进程对应至少为 多个进程 一个程序在工作 ●永久性软件资源 ●暂存资源,动态生之过程 可创建其他进程
显示全部