进程管理(更新)讲述.ppt
文本预览下载声明
1
计算机操作系统
第三章 进程管理
主讲 廖俊
2
第三章 进程管理
进程的定义与控制
进程调度
进程间的相互作用
进程通信
线程
UNIX和Windows的进程和线程模型
3
3.1 进程的引入
在早期计算机系统中,多道程序设计还未出现之前,程序是顺序执行的。多道程序设计出现后,操作系统可以实现多个进程的并发执行。
进程(process)一词在20世纪60年代初首先出现的MIT的MULTICS系统中。
进程是程序的一次执行,多个进程可以并发执行。
4
3.1 进程的引入
程序的顺序执行和并发执行
程序的执行有两种方式:顺序执行和并发执行。顺序执行是单道批处理系统的执行方式,也用于简单的单片机系统;现在的操作系统多为并发执行,具有许多新的特征。引入并发执行的目的是为了提高资源利用率。
程序顺序执行:程序在计算机上严格按照写入的顺序执行。
5
3.1 进程的引入
顺序执行的特征
顺序性:CPU严格按照程序结构所指定的次序执行,程序的每一步都必须在上一步执行后才能开始。
封闭性:独占全部资源,资源的状态只能由该程序本身改变,不受其它程序和外界因素影响。
可再现性:如果程序执行环境和初始条件相同,则其执行的结果相同。
6
3.1 进程的引入
多道程序设计:把一个以上的程序放入内存中,并且同时处于运行状态,这些程序共享CPU和其它资源。特点如下:
多道:内存中有多道程序,它们在任一时刻必须处于就绪、运行、阻塞三种状态。
宏观上并行:从宏观上看,它们在同时执行。
微观上串行:从微观上看,它们在交替、穿插执行。
7
3.1 进程的引入
多道程序设计优点:
CPU利用率高。
设备利用率高。
系统吞吐量大。
8
3.1 进程的引入
并发执行的特征:
失去封闭性:共享资源,程序之间互相制约。
出现相互制约关系:虽然每个程序还是一个相对独立的实体,单由于程序的并发执行,使得一个程序的顺序执行要依赖于其他程序的执行结果,这样就形成了相互制约的关系。
间断性:程序之间的制约关系致使程序执行时间不连贯。
不可再现性:失去封闭性,也就失去了可再现性,程序执行的结果随速度、环境的不同而不同。
程序于计算的不一致
可见,并发和并行是不同的概念:并行是并发的特例,并发是并行的拓展。
9
T1
begin
按乘客需要查找到Hi;
R1:=Hi;
if R1=1 then
begin
R1:=R1-1;
Hi:=R1;
售出一张票;
end
else {提示‘票已售完’};
end
T2
begin
按乘客需要查找到Hi;
R2:=Hi;
if R2=1 then
begin
R2:=R2-1;
Hi:=R2;
售出一张票;
end
else {提示‘票已售完’};
end
初始Hi=1时不同执行序列,结果各不相同
执行序列
1
2
程序
Hi:=R1
T2
R1:=R1-1
T2
结果
T1:售出一张票
T2:票已售完
Hi=0
T2:售出一张票
T1:售出一张票
Hi=-1
例子:观察者与报告者
10
3.1 进程的引入
综上所述,由于程序的并发执行破坏了程序的封闭性和可再现性,使得程序和程序的执行不再一一对应,因此,程序这个静态的概念已经不能切实反映程序执行的各种特征。
于是,引入“进程”,能够反映程序执行的独立性、并发性和动态性等特征。
11
3.2 进程定义与控制
进程定义
进程是程序的一次执行
进程是可以和别的计算并发执行的计算
进程是定义在一个数据结构上并能在其上进行操作的一个程序
进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
12
3.2 进程定义与控制
进程与程序的区别
进程是动态的,程序是静态的:程序是有序代码的集合,属于静态的文本概念;进程是程序的一次执行。
进程是并发的,会相互制约,程序是顺序的。
进程是暂时的,程序的永久的:进程是一个状态变化的过程,程序可长久保存。
进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。
进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
13
3.2 进程定义与控制
进程:是程序的一次执行,该程序可与其它程序并发执行;它是一个动态实体,在传统的操作系统设计中,进程既是基本的分配单位,也是基本的执行单位。
14
3.2 进程定义与控制
进程组成:有程序段、数据
显示全部