第二课进程的描述和控 制( Process Description and control 教学目的: 本课为描述程序并发执行引入进程的概念,描述进程 的特征、状态、状态的转换、进程控制块等基本概念。 描述控制进程状态转换的0S内核和进程控制原语的功 能。并发性是0S最重要的特征,进程是0S最基本最重 要的概念,进程管理是0S的重点和难点
第二课 进程的描述和控 制(Process Description and Control) 教学目的: •本课为描述程序并发执行引入进程的概念,描述进程 的特征、状态、状态的转换、进程控制块等基本概念。 描述控制进程状态转换的OS内核和进程控制原语的功 能。并发性是OS最重要的特征,进程是OS最基本最重 要的概念,进程管理是OS的重点和难点
教学要求: 熟悉进程引入的必要性;熟练掌握进程的定义和 特征,熟练掌握进程的三个基本状态、状态的转 换和状态转换的关系,熟练掌握进程存在的唯一 实体一进程控制块,熟悉进程上下文。 熟悉内核的功能,掌握增加“挂起”、“激活” 操作的五个状态图和状态的转换,熟悉创建、撤 消、阻塞、唤醒、挂起和激活进程控制原语的功 能,了解线程的概念、引入线程的好处和线程的 应用。 了解模块接口法、层次结构法和客户/服务器结 构三种操作系统结构, Windowsnt框架图
教学要求: • 熟悉进程引入的必要性;熟练掌握进程的定义和 特征,熟练掌握进程的三个基本状态、状态的转 换和状态转换的关系,熟练掌握进程存在的唯一 实体--进程控制块,熟悉进程上下文。 • 熟悉内核的功能,掌握增加“挂起” 、 “激活” 操作的五个状态图和状态的转换,熟悉创建、撤 消、阻塞、唤醒、挂起和激活进程控制原语的功 能,了解线程的概念、引入线程的好处和线程的 应用 。 • 了解模块接口法、层次结构法和客户/服务器结 构三种操作系统结构, WindowsNT框架图
()进程的引入 (1)程序顺序执行( Sequential Execution)与特征 个较大的程序通常都由若干个程序段组成,程序 在执行时,各程序段必须按照先后次序逐个执行。程序 各程序段先后执行次序关系可用前趋图表示。 前趋图( Predecessor graph)是一个有向无循环图, 图由结点和结点间有向边组成,结点代表各程序段操作 而结点间的有向边表示两程序段操作之间存在的前趋关 系(“→”)。两程序段Pi和Pj的前趋关系表示成Pi →Pj,Pi是Pj的前趋,Pj是Pi的后继
(一)进程的引入 (1)程序顺序执行(Sequential Execution)与特征 • 一个较大的程序通常都由若干个程序段组成,程序 在执行时,各程序段必须按照先后次序逐个执行。程序 各程序段先后执行次序关系可用前趋图表示。 • 前趋图(Predecessor Graph)是一个有向无循环图, 图由结点和结点间有向边组成,结点代表各程序段操作, 而结点间的有向边表示两程序段操作之间存在的前趋关 系(“→”)。两程序段Pi和Pj的前趋关系表示成Pi → Pj,Pi是Pj的前趋,Pj是Pi的后继。 P1 C1 I1 I2 C2 P2
进程的引入-1 程序顺序执行特征: 顺序性:程序各程序段严格按照规定的顺序执行。 封闭性:程序运行时机内各资源只受该程序控制而改变, 执行结果不受外界因素影响 可再现性:只要程序执行环境和初始条件相同,程序多 次执行,可获得相同结果。 (2)程序并发执行( Concurrent execution)与特征 在计算机系统支持并行操作时,如采用多道程序设 计技术,则内存中多道程序处于并发执行状态。如上述 有三个程序段的作业类,虽然每个作业有前趋关系的各 程序段不能在系统CPU和输入输出各部件并行执行,但 个作业没有前趋关系的程序段或不同作业的程序段可 以分别在CPU和各输入输出部件上并行执行
进程的引入-1 • 程序顺序执行特征: 顺序性:程序各程序段严格按照规定的顺序执行。 封闭性:程序运行时机内各资源只受该程序控制而改变, 执行结果不受外界因素影响。 可再现性:只要程序执行环境和初始条件相同,程序多 次执行,可获得相同结果。 (2)程序并发执行(Concurrent Execution)与特征 在计算机系统支持并行操作时,如采用多道程序设 计技术,则内存中多道程序处于并发执行状态。如上述 有三个程序段的作业类,虽然每个作业有前趋关系的各 程序段不能在系统CPU和输入输出各部件并行执行,但 一个作业没有前趋关系的程序段或不同作业的程序段可 以分别在CPU和各输入输出部件上并行执行
进程的引入-2 四个上述三个程序段类的作业并发执行的前趋图如下 图所示 chc
进程的引入-2 四个上述三个程序段类的作业并发执行的前趋图如下 图所示: C 3 I1 I2 I 3 I 4 C 1 C 2 C 4 P 1 P 2 P 3 P 4 . . . . . . T t1 t2 t3 t4 t5 t6
进程的引入-3 程序并发执行特征: 间断性:程序在并发执行时,由于它们共享资源或为 完成同一项任务而相互合作,使在并发程序之间形 成了相互制约的关系。相互制约将导致并发程序具 有“执行-暂仃-执行”这种间断性活动规律。 失去封闭性:程序在并发执行时,是多个程序共享系 统中的各种资源,因而这些资源的状态将由多个程 序来改变,致使程序的运行已失去了封闭性 不可再现性:程序在并发执行时,由于失去了封闭性, 也将导致失去结果的可再现性。即程序经过多次运 ,虽然其各次的环境和初始条件相同,但得到的 结果却各不相同 例:观察者/报告者
进程的引入-3 • 程序并发执行特征: 间断性:程序在并发执行时,由于它们共享资源或为 完成同一项任务而相互合作,使在并发程序之间形 成了相互制约的关系。相互制约将导致并发程序具 有“执行-暂仃-执行”这种间断性活动规律。 失去封闭性:程序在并发执行时,是多个程序共享系 统中的各种资源,因而这些资源的状态将由多个程 序来改变,致使程序的运行已失去了封闭性。 不可再现性:程序在并发执行时,由于失去了封闭性, 也将导致失去结果的可再现性。即程序经过多次运 行,虽然其各次的环境和初始条件相同,但得到的 结果却各不相同。 例:观察者/报告者
进程的引入-4 观察者: 报告者 begin b egin repeat repeat wait a car go through delay a time N=N+1; Print n N=0 until until end end 初始N=n时不同执行序列: N=N+1 Print n: Print n Print n N=0 N=N+1 N=N+1 结果各不相同 打印n+1,N=0;打印n,N=1; 打印n,N=0;
进程的引入-4 观察者: 报告者: begin begin repeat repeat wait a car go through delay a time N=N+1; Print N ; N=0 ; until until end end 初始N=n时不同执行序列: N=N+1; Print N; Print N ; Print N ; N=0 ; N=N+1 ; N=0 ; N=N+1 ; N=0 ; 结果各不相同: 打印n+1,N=0; 打印n,N=1; 打印n,N=0;
(3)进程的引入 由于程序在并发执行时,各次执行的结果不同,所 以用“程序”这个概念已无法描述程序的并发执行, 所以必须引入新的概念-进程来描述程序的并发执行 进程这一术语最早由麻省理工学院著名的操作系统 MULTICS中提出。 进程(Proc定义:“可并发执行的程序在一个 数据集合上的运行过程”。 进程的特征: 动态性:动态性是进程的最基本特征,它是程序执行 过程,它是有一定的生命期。它由创建而产生、由 调度而执行,因得不到资源而暂仃,并由撤消而死 亡。而程序是静态的,它是存放在介质上一组有序 指令的集合,无运动的含义
(3)进程的引入 • 由于程序在并发执行时,各次执行的结果不同,所 以用“程序”这个概念已无法描述程序的并发执行, 所以必须引入新的概念-进程来描述程序的并发执行。 进程这一术语最早由麻省理工学院著名的操作系统 MULTICS中提出。 • 进程(Process)定义:“可并发执行的程序在一个 数据集合上的运行过程” 。 • 进程的特征: 动态性:动态性是进程的最基本特征,它是程序执行 过程,它是有一定的生命期。它由创建而产生、由 调度而执行,因得不到资源而暂仃,并由撤消而死 亡。而程序是静态的,它是存放在介质上一组有序 指令的集合,无运动的含义
进程的引入-1 并发性:并发性是进程的重要特征,同时也是0S的重 要特征。并发性指多个进程实体同存于内存中,能 在一段时间内同时运行。而程序是不能并发执行。 独立性:进程是一个能独立运行的基本单位,即是 个独立获得资源和独立调度的单位,而程序不作为 独立单位参加运行 异步性:进程按各自独立的不可预知的速度向前推进, 即进程按异步方式进行,正是这一特征,将导致程 序执行的不可再现性,因此OS必须采用某种措施来 限制各进程推进序列以保证各程序间正常协调运行。 结构特征:从结构上,进程实体由程序段、数据段和 进程控制块三部分组成,UNIX中称为“进程映象”。 (练习)
进程的引入-1 并发性:并发性是进程的重要特征,同时也是OS的重 要特征。并发性指多个进程实体同存于内存中,能 在一段时间内同时运行。而程序是不能并发执行。 独立性:进程是一个能独立运行的基本单位,即是一 个独立获得资源和独立调度的单位,而程序不作为 独立单位参加运行。 异步性:进程按各自独立的不可预知的速度向前推进, 即进程按异步方式进行,正是这一特征,将导致程 序执行的不可再现性,因此OS必须采用某种措施来 限制各进程推进序列以保证各程序间正常协调运行。 结构特征:从结构上,进程实体由程序段、数据段和 进程控制块三部分组成,UNIX中称为“进程映象” 。 (练习)
(二)进程的描述 (1)进程状态及其转换 (Process State and Transition) 进程的三个基本状态 运行态( Running):当一个进程在处理机上运行时, 则称该进程处于运行状态。 就绪态( Ready):一个进程获得了除处理机外的一切所 需资源,一旦得到处理机即可运行,则称此进程处于 就绪状态。 阻塞态( Blocked):(又称挂起状态、等待状态): 个进程正在等待某一事件发生(例如请求I/0而等 待I/0完成等)而暂时仃止运行,这时即使把处理机 分配给进程也无法运行,故称该进程处于阻塞状态
(二)进程的描述 (1)进程状态及其转换 (Process State and Transition) 1. 进程的三个基本状态 运行态(Running):当一个进程在处理机上运行时, 则称该进程处于运行状态。 就绪态(Ready):一个进程获得了除处理机外的一切所 需资源,一旦得到处理机即可运行,则称此进程处于 就绪状态。 阻塞态(Blocked):(又称挂起状态、等待状态): 一个进程正在等待某一事件发生(例如请求I/O而等 待I/O完成等)而暂时仃止运行,这时即使把处理机 分配给进程也无法运行,故称该进程处于阻塞状态