华工软件基础第3章-操作系统-第3节-进程及进程管理全解.ppt
《华工软件基础第3章-操作系统-第3节-进程及进程管理全解.ppt》由会员分享,可在线阅读,更多相关《华工软件基础第3章-操作系统-第3节-进程及进程管理全解.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3节节 进程及进程管理进程及进程管理本节学习内容与要求:本节学习内容与要求:1.理解和掌握程序的顺序执行和并发执行概念;理解和掌握程序的顺序执行和并发执行概念;2.理解和掌握进程的概念(与程序的区别);理解和掌握进程的概念(与程序的区别);理解理解进程控制块进程控制块(PCB)的概念及作用;的概念及作用;3.学习和掌握进程的互斥与同步概念及其实现学习和掌握进程的互斥与同步概念及其实现;4.学习和了解进程通信的基本方式;学习和了解进程通信的基本方式;5.学习和理解线程的概念;学习和理解线程的概念;6.学习和理解死锁的概念及处理方法。学习和理解死锁的概念及处理方法。11)程序的顺序执行)程序的
2、顺序执行程序顺序执行的特征程序顺序执行的特征 顺序性顺序性:顺序程序的各个操作是顺序执行的。顺序程序的各个操作是顺序执行的。封闭性封闭性:程序一旦开始执行,其计算结果不受程序一旦开始执行,其计算结果不受外界因素的影响。外界因素的影响。可再现性可再现性:初始条件不变的情况下,程序多次:初始条件不变的情况下,程序多次执行的结果一样。执行的结果一样。一个计算过程通常由若干个简单的操作所组成,如一个计算过程通常由若干个简单的操作所组成,如果这些操作果这些操作必须按某种先后次序来执行必须按某种先后次序来执行,那么这样一,那么这样一类计算过程称为程序的类计算过程称为程序的顺序执行过程顺序执行过程,这类程序
3、称为,这类程序称为顺序程序顺序程序。1.程序的顺序执行和并发执行程序的顺序执行和并发执行2I I1 1输入输入输入输入设备设备设备设备处理机处理机处理机处理机打印机打印机I I2 2C C1 1I I3 3C C2 2P P1 1C C3 3P P2 2t1t2t3t4t7t5t6t8P P3 3t9单道程序顺序执行时的先后次序图单道程序顺序执行时的先后次序图单道程序顺序执行时的先后次序图单道程序顺序执行时的先后次序图作业作业1作业作业2作业作业332)程序的并发执行)程序的并发执行 若干个程序段同时在系统中运行,这些程序段的执行若干个程序段同时在系统中运行,这些程序段的执行在时间上是重迭的在
4、时间上是重迭的,一个程序段的执行尚未结束,另一,一个程序段的执行尚未结束,另一个程序段的执行已经开始,称为程序的个程序段的执行已经开始,称为程序的并发执行并发执行并发执行并发执行。l 并发执行的可行性:计算机中存在多个物理部件,因并发执行的可行性:计算机中存在多个物理部件,因此允许不同程序段的多个操作在不同部件上同时进行,此允许不同程序段的多个操作在不同部件上同时进行,例如例如CPU的计算、键盘输入、打印机打印等同时进行。的计算、键盘输入、打印机打印等同时进行。l单机系统中的多个应用程序的并发活动。单机系统中的多个应用程序的并发活动。并发程序的描述方式:并发程序的描述方式:cobeginS1;
5、S2;Sn;coend 表示程序段表示程序段S1,S2,Sn可以并发执行。可以并发执行。4I I1 1P P3 3输入输入输入输入设备设备设备设备处理机处理机处理机处理机打印机打印机I I2 2C C1 1I I3 3C C2 2P P1 1C C3 3P P2 2t1 1t2 2t3 3t4 4t5 5多道程序并发执行时的先后次序图多道程序并发执行时的先后次序图多道程序并发执行时的先后次序图多道程序并发执行时的先后次序图5程序并发执行的特征:程序并发执行的特征:失去了程序的封闭性和可再现性失去了程序的封闭性和可再现性 程序与计算不再一对应:同一程序可被多个任务共享程序与计算不再一对应:同一程
6、序可被多个任务共享 程序并发执行的相互制约(协同操作)程序并发执行的相互制约(协同操作)main()int n=0;cobeginp1:while (A的任务未完成的任务未完成);n+;p2:while (B的任务未完成的任务未完成);printf(N IS%dn,n);n=0;coend ;问题:这个程序的执行可能产生哪些结果?问题:这个程序的执行可能产生哪些结果?问题:这个程序的执行可能产生哪些结果?问题:这个程序的执行可能产生哪些结果?例:例:共享变量共享变量n的两个程序段并发执行的算法。的两个程序段并发执行的算法。程序执行结果与程序执行结果与程序执行结果与程序执行结果与执行顺序有关!执
7、行顺序有关!执行顺序有关!执行顺序有关!6并发并发 vs.并行并行l并发:并发:concurrentt多个任务宏观上同时,微观上多个任务宏观上同时,微观上“交替执行交替执行”(交替占有交替占有CPU),不要求有多个处理器,不要求有多个处理器(CPU)。)。t多道程序设计技术多道程序设计技术l并行:并行:parallelt多个任务微观上同时执行多个任务微观上同时执行(同时占有不同同时占有不同CPU),要求有多个处理器。,要求有多个处理器。t“并行计算机并行计算机”、“并行算法并行算法”7多道程序系统中程序的活动规律:多道程序系统中程序的活动规律:推进,暂停,推进,暂停,推进,暂停,推进,暂停,推
8、进,暂停,推进,暂停,推进,暂停,推进,暂停,.推进:获得处理机(包括恢复现场)推进:获得处理机(包括恢复现场)暂停:保存现场暂停:保存现场(断点,寄存器),交出处理机断点,寄存器),交出处理机暂停原因:暂停原因:(1)自身原因:等待资源,启动自身原因:等待资源,启动IO等等 (2)被剥夺被剥夺CPU给其它程序运行机会给其它程序运行机会2.“进程进程”概念的引入概念的引入 “程序程序”这一概念无法反映并发程序在执行过程这一概念无法反映并发程序在执行过程中的活动规律及状态变化。因此引入中的活动规律及状态变化。因此引入“进程进程”这这一概念来一概念来描述程序的执行过程描述程序的执行过程,以便从变化
9、的角,以便从变化的角度动态地分析研究并发程序的活动。度动态地分析研究并发程序的活动。8u可参与并发执行的程序称为进程。可参与并发执行的程序称为进程。u进程是可以和其它计算并发执行的一个计算。进程是可以和其它计算并发执行的一个计算。u进程是具有一定独立功能的程序关于一个数据集合进程是具有一定独立功能的程序关于一个数据集合的一次运行活动。的一次运行活动。u所谓所谓进程进程,就是一个程序在,就是一个程序在给定活动空间给定活动空间和和初始环初始环境境下,在一个处理机上的下,在一个处理机上的执行过程执行过程。l 定义强调两个方面:定义强调两个方面:u动态性:动态性:处于执行过程中的程序处于执行过程中的程
10、序;u并发性:并发性:可与其他进程同时执行可与其他进程同时执行。l 进程的定义:进程的定义:9讨论:进程和程序这两个概念有什么区别?讨论:进程和程序这两个概念有什么区别?程序程序程序程序静态的概念静态的概念不是独立的运行单位不是独立的运行单位不是资源竞争的基本单位不是资源竞争的基本单位一个程序可对应多个进程一个程序可对应多个进程类似于类似于乐曲乐曲与与乐曲的一次演奏乐曲的一次演奏之间的关系。之间的关系。进程进程进程进程动态的概念动态的概念独立的运行单位,能并行活动独立的运行单位,能并行活动是处理机调度、竞争资源的基本单位是处理机调度、竞争资源的基本单位不同的进程可以对应同一程序不同的进程可以对
11、应同一程序 从微观上看,多个进程轮换占有处理机;从宏从微观上看,多个进程轮换占有处理机;从宏观上看,多个进程是并发运行的观上看,多个进程是并发运行的。从局部看,每个进程是按其程序串行进行的,从局部看,每个进程是按其程序串行进行的,从整体看,多个进程是并发进行的。从整体看,多个进程是并发进行的。103.1 进程的基本状态及状态变迁进程的基本状态及状态变迁(1 1)进程的三种基本状态)进程的三种基本状态)进程的三种基本状态)进程的三种基本状态 就绪状态就绪状态(ready)存在于处理机调度队列中的存在于处理机调度队列中的那些进程,它们已经准备就绪,一旦得到那些进程,它们已经准备就绪,一旦得到CPU
12、,就可就可以立即运行,这些进程所处的状态称为以立即运行,这些进程所处的状态称为就绪状态就绪状态。运行状态运行状态(running)当进程得到处理机控制权当进程得到处理机控制权时,它的程序正在处理机上运行,该进程所处的状时,它的程序正在处理机上运行,该进程所处的状态为态为运行状态运行状态。等待状态等待状态(wait)若一个进程因等待着某一事若一个进程因等待着某一事件发生(如等待输入输出操作的完成)而暂时停止件发生(如等待输入输出操作的完成)而暂时停止执行,这时,即使给它执行,这时,即使给它CPU时间,它也无法执行,时间,它也无法执行,则称该进程处于则称该进程处于等待状态等待状态(又可称为(又可称
13、为阻塞状态阻塞状态或或挂挂起状态起状态)。)。11(2)进程状态的变迁及原因)进程状态的变迁及原因 进程随着自身的推进和外界条件的变化而进程随着自身的推进和外界条件的变化而从从一个状态变换为另一个状态称为一个状态变换为另一个状态称为状态变迁状态变迁状态变迁状态变迁。l状态变迁及引发原因状态变迁及引发原因u就绪就绪运行:进程获得处理机运行:进程获得处理机(进程调度进程调度)u运行运行就绪就绪:进程被剥夺处理机:进程被剥夺处理机(时间片、优先级时间片、优先级)u运行运行等待等待:进程申请资源未得到,请求服务:进程申请资源未得到,请求服务(启动启动IO)u等待等待就绪就绪:进程得到资源,服务得到响应
14、:进程得到资源,服务得到响应(IO结束结束)运行运行等待等待就绪就绪服务请求服务请求(请求请求I/O等等)服务完成服务完成/事件来到事件来到进程调度进程调度时间片到时间片到123.2 进程的组成及进程控制块进程的组成及进程控制块(PCB)一个进程包含一个进程包含4个组成部分:个组成部分:程序程序描述进程要完成的功能的指令序列;描述进程要完成的功能的指令序列;数据数据程序加工的对象;程序加工的对象;工作区工作区程序执行使用的内存区域,如用户栈或系程序执行使用的内存区域,如用户栈或系统栈;统栈;进程控制块进程控制块存放进程控制和管理信息的存放进程控制和管理信息的数据结构数据结构。进程控制块进程控制
15、块(PCB,Process Control Block)是是进程存在的进程存在的标志!是进程的标志!是进程的“档案袋档案袋”,用于记录和描述进程的动态过程用于记录和描述进程的动态过程。在创建进程时建立在创建进程时建立PCB,在撤消进程时删除相应的,在撤消进程时删除相应的PCB。在每个进程的生命周期内,操作系统通过对其在每个进程的生命周期内,操作系统通过对其PCB的管理来的管理来实现对该进程的管理。实现对该进程的管理。13l进程控制块(进程控制块(PCB)是纪录进程)是纪录进程动态特性动态特性、运行控制运行控制等等信息的数据结构。其内容包括(不同系统不尽相同)信息的数据结构。其内容包括(不同系统
16、不尽相同)进程标识符进程标识符pid进程当前状态(运行、就绪或等待)进程当前状态(运行、就绪或等待)CPU现场现场(程序状态字、寄存器内容等程序状态字、寄存器内容等)资源清单(已占用的资源情况)资源清单(已占用的资源情况)优先级优先级队列指针、家族关系队列指针、家族关系通信机制(信箱或消息队列)通信机制(信箱或消息队列)同步、互斥机构(信号灯)同步、互斥机构(信号灯)程序存储位置程序存储位置动态特性动态特性运行控制运行控制Process Control Block14关于进程队列关于进程队列PCBPCBPCBhead1.总链队列:只有一个总链队列:只有一个(由系统当前所有由系统当前所有PCB构
17、成构成)2.就绪队列:有一个或若干个(由调度算法决定)就绪队列:有一个或若干个(由调度算法决定)3.等待队列:每种等待事件都有一个等待队列:每种等待事件都有一个(如等待使用如等待使用打印机的多个进程构成一个等待队列打印机的多个进程构成一个等待队列)PCB构成的队列类型:构成的队列类型:运行队列运行队列?15关于进程类型关于进程类型u系统进程系统进程t运行操作系统程序,完成系统管理运行操作系统程序,完成系统管理(服务服务)功能。功能。例如:例如:Windows系统:系统:system,svchostUNIX系统:系统:#0-sched,#1-initu用户进程用户进程t运行用户运行用户(应用应用
18、)程序,为用户服务。例如:程序,为用户服务。例如:Windows系统:系统:word,foxmailUNIX系统:系统:vi,shell16关于进程的特点关于进程的特点l并发性并发性:可以与其它进程一道向前推进;:可以与其它进程一道向前推进;l动态性动态性:动态产生、消亡,进程在生存期内的:动态产生、消亡,进程在生存期内的状态动态变化;状态动态变化;l独立性独立性:进程是可调度的基本单位;:进程是可调度的基本单位;l交互性交互性:同时运行的进程可能发生相互作用;:同时运行的进程可能发生相互作用;l异步性异步性:进程以各自独立、不可预知的速度向:进程以各自独立、不可预知的速度向前推进;前推进;l
19、结构性结构性:每个进程有一个:每个进程有一个PCB结构来描述。结构来描述。173.3 进程控制进程控制(进程管理)进程管理)(1 1)进程控制)进程控制)进程控制)进程控制 对系统中的进程实施有效的管理和控制,具体表对系统中的进程实施有效的管理和控制,具体表现为现为控制进程进入不同的状态控制进程进入不同的状态。n 进程管理属于处理机二级调度中的微观调度!进程管理属于处理机二级调度中的微观调度!新进程新进程就绪就绪就绪就绪运行运行运行运行结束结束等待等待等待等待进程创建、撤销等进程创建、撤销等进程的同步和互斥进程的同步和互斥进程通信进程通信18 (3 3)进程控制原语)进程控制原语)进程控制原语
20、)进程控制原语uu 进程创建进程创建创建一个新进程创建一个新进程u 进程撤消进程撤消撤消一个已完成任务的进程撤消一个已完成任务的进程u 进程阻塞进程阻塞使处于运行状态的进程变为等待使处于运行状态的进程变为等待 状态状态u 进程唤醒进程唤醒唤醒一个等待进程,使其进入就绪状态唤醒一个等待进程,使其进入就绪状态原语操作(原子操作):执行时不可中断的系统调用原语操作(原子操作):执行时不可中断的系统调用原语操作(原子操作):执行时不可中断的系统调用原语操作(原子操作):执行时不可中断的系统调用 进程的控制动作由操作系统完成;操作系统提供进程的控制动作由操作系统完成;操作系统提供进程的控制动作由操作系统
21、完成;操作系统提供进程的控制动作由操作系统完成;操作系统提供相应的原语以备调用。相应的原语以备调用。相应的原语以备调用。相应的原语以备调用。(2 2)进程控制的实现)进程控制的实现)进程控制的实现)进程控制的实现 194.进程的进程的互斥与同步互斥与同步临界资源临界资源临界资源临界资源一次仅允许一个进程使用的资源称为一次仅允许一个进程使用的资源称为临界资源。临界资源。许多物理设备(如打印机等)和软件资许多物理设备(如打印机等)和软件资源(如变量、数据、队列等)都具有这种独占性的源(如变量、数据、队列等)都具有这种独占性的特点,属于临界资源。特点,属于临界资源。临界区临界区临界区临界区在进程中访
22、问临界资源的那段在进程中访问临界资源的那段代码代码称为称为临界区。临界区。注意区分注意区分临界资源临界资源与与临界区临界区这两个概念!这两个概念!互斥互斥互斥互斥当一个进程正在访问某临界区时,不允许当一个进程正在访问某临界区时,不允许其它进程进入其相应的临界区,这种相互制约的关其它进程进入其相应的临界区,这种相互制约的关系称为互斥。系称为互斥。(1)进程的互斥)进程的互斥反映了进程间的反映了进程间的竞争竞争与与合作合作20进程进程A:旅行社旅行社A的订票业务的订票业务 旅行社旅行社A查到该机有座位查到该机有座位;与顾客商量与顾客商量;旅行社旅行社A预订该机座;预订该机座;多进程共享外部设备多进
23、程共享外部设备多进程共享公共变量多进程共享公共变量进程进程B:旅行社旅行社B的订票业务的订票业务 旅行社旅行社B查到该机有座位查到该机有座位;与顾客商量与顾客商量;旅行社旅行社B预订该机座;预订该机座;例如:飞机订票系统中各个订票点对机票库的访问例如:飞机订票系统中各个订票点对机票库的访问例如:打印机共享例如:打印机共享如果不对进程进行互斥控制,则如果不对进程进行互斥控制,则临界资源的使用将混乱不堪!临界资源的使用将混乱不堪!21进入区进入区临界区临界区临界区临界区退出区退出区进入区进入区临界区临界区临界区临界区退出区退出区.改变临界改变临界资源状态资源状态释放资源释放资源并唤醒等并唤醒等待进
24、程待进程进程进程 1进程进程 2等待临界等待临界资源释放资源释放进程如何互斥地进入临界区进程如何互斥地进入临界区?每次至多有一个进程处于临界区。每次至多有一个进程处于临界区。进程在临界区内仅逗留有限的时间。进程在临界区内仅逗留有限的时间。进程间不应相互堵塞而致使彼此都不能进入临界区。进程间不应相互堵塞而致使彼此都不能进入临界区。互斥原则互斥原则22问题:问题:如何保证进程之间是互斥的进入临界区的呢?如何保证进程之间是互斥的进入临界区的呢?答:答:操作系统提供了进程间互斥的机制,程序中使操作系统提供了进程间互斥的机制,程序中使用这些机制来保证进程执行过程中的互斥进入。其用这些机制来保证进程执行过
25、程中的互斥进入。其中最常见的机制就是中最常见的机制就是信号灯信号灯信号灯信号灯及在信号灯上的操作。及在信号灯上的操作。什么是信号灯?什么是信号灯?什么是信号灯?什么是信号灯?信号灯是一个二元组信号灯是一个二元组(s,q),其中:其中:s 是一个具有是一个具有非负初值非负初值的整型变量,的整型变量,q 是一个初始状态为空值的是一个初始状态为空值的队列指针队列指针。l 整型变量整型变量 s 表征当前可用临界资源的数量;表征当前可用临界资源的数量;l 队列队列 q 用于存放等待访问该临界资源的进程。用于存放等待访问该临界资源的进程。通过对信号灯的通过对信号灯的P、V操作操作,进程可以实现相互间,进程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华工 软件 基础 操作系统 进程 管理
限制150内