第二章-进程线程管理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第二章-进程线程管理课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 进程 线程 管理 课件
- 资源描述:
-
1、第二章第二章 进程线程管理进程线程管理23本章内容本章内容2.1 进程的基本概念进程的基本概念2.2 进程控制进程控制2.3 进程同步进程同步2.4 进程通信进程通信2.5 线程线程42.1 进程的基本概念进程的基本概念2.1.1 程序执行过程程序执行过程1前趋图前趋图52.1进程的基本概念进程的基本概念2顺序执行及其特征顺序执行及其特征 程序顺序执行具有如下特征。程序顺序执行具有如下特征。(1)顺序性。处理机的操作严格按照程序所规定的顺序执行)顺序性。处理机的操作严格按照程序所规定的顺序执行,每每一操作必须在上一操作结束之后才能开始。一操作必须在上一操作结束之后才能开始。(2)封闭性。程序在
2、封闭环境下运行,独占系统所有资源。即)封闭性。程序在封闭环境下运行,独占系统所有资源。即程序一旦开始运行,其执行结果不受其它程序和外界因素影响。程序一旦开始运行,其执行结果不受其它程序和外界因素影响。(3)可再现性。只要程序执行时的初始条件和执行环境相同)可再现性。只要程序执行时的初始条件和执行环境相同,程程序重复执行时获得完全相同结果。序重复执行时获得完全相同结果。62.1进程的基本概念进程的基本概念3并发执行及其特征并发执行及其特征 72.1 进程的基本概念进程的基本概念 并发执行的多个程序的特征:并发执行的多个程序的特征:(1 1)间断性。程序在执行过程中,由于等待资源或及)间断性。程序
3、在执行过程中,由于等待资源或及其它程序协作完成任务,每个程序的执行过程往往不其它程序协作完成任务,每个程序的执行过程往往不是是“一气呵成一气呵成”,而是呈现出,而是呈现出“执行暂停执行执行暂停执行”的间断性活动规律。的间断性活动规律。(2 2)失去封闭性。程序并发执行时)失去封闭性。程序并发执行时,多个程序共享系多个程序共享系统资源统资源,系统资源的状态将由多个程序改变。即一个程系统资源的状态将由多个程序改变。即一个程序在运行时,其运行环境会受其它程序的影响,失去序在运行时,其运行环境会受其它程序的影响,失去了顺序执行的封闭性。了顺序执行的封闭性。82.1 进程的基本概念进程的基本概念 (3)
4、相互作用和制约性。并发执行程序既有相互独立)相互作用和制约性。并发执行程序既有相互独立的一面,表现为每个程序为用户提供特定的功能,它的一面,表现为每个程序为用户提供特定的功能,它们之间相互独立;也有时也会直接或间接制约的一面。们之间相互独立;也有时也会直接或间接制约的一面。(4)不可再现性。程序并发执行时)不可再现性。程序并发执行时,由于失去了封闭性由于失去了封闭性,导致其失去可再现性。即使初始条件相同,程序多次导致其失去可再现性。即使初始条件相同,程序多次执行的结果也可能不同。执行的结果也可能不同。92.1 进程的基本概念进程的基本概念例例1:有两个循环程序:有两个循环程序A和和B,它们共享
5、一个变量,它们共享一个变量N。程序。程序A每执行一次时,都要做每执行一次时,都要做N =N+1操作;操作;程序程序B每执行一次时,每执行一次时,都要执行都要执行Print(N)操作,然操作,然后再将后再将N置成置成“0”。程序。程序A和和B以不同的速度运行以不同的速度运行。(1)N =N+1在在Print(N)和和N =0之前,此时得到的之前,此时得到的N值分别为值分别为n+1,n+1,0。(2)N =N+1在在Print(N)和和N =0之后,此时得到的之后,此时得到的N值分别为值分别为n,0,1。(3)N =N+1在在Print(N)和和N =0之间,此时得到的之间,此时得到的N值分别为值
6、分别为n,n+1,0。102.1 进程的基本概念进程的基本概念例例2:假设某飞机定票系统在:假设某飞机定票系统在t0时刻有时刻有A、B、C、D四个终端程序同时都要对机票库中的某航班当前四个终端程序同时都要对机票库中的某航班当前剩余票数剩余票数X进行操作。如果每个终端程序的当前进行操作。如果每个终端程序的当前定票需求为定票需求为N,并对共享变量,并对共享变量X进行如下操作:进行如下操作:在机票数据库中取出当前剩余票数在机票数据库中取出当前剩余票数X;判断判断X0(有票吗)?(有票吗)?如果有,如果有,XN(票够吗)?(票够吗)?如果够,则出票(打印票据);如果够,则出票(打印票据);XXN(修改
7、剩余票数);(修改剩余票数);将将X回写到数据库中;回写到数据库中;112.1.2 进程的定义和特征进程的定义和特征 1.为何引入进程为何引入进程 从程序并发执行角度和系统资源共享角度从程序并发执行角度和系统资源共享角度分析一下引入进程的必要性。分析一下引入进程的必要性。(1)程序并发)程序并发执行执行角度角度(2)系统资源共享角度)系统资源共享角度122.1.2 进程的定义和特征进程的定义和特征 2.进程的定义进程的定义v进程是一个可并发执行的具有独立功能的程进程是一个可并发执行的具有独立功能的程序在某个数据集合的一次执行过程,它也是序在某个数据集合的一次执行过程,它也是操作系统进行资源分配
8、和保护的基本单位。操作系统进行资源分配和保护的基本单位。v为了更好的描述和管理并发执行的多个进程为了更好的描述和管理并发执行的多个进程,操作系统中为每个进程配置了一个进程控,操作系统中为每个进程配置了一个进程控制块制块PCB(Process Control Block)。)。132.1.2 进程的定义和特征进程的定义和特征 3.进程的构成进程的构成v进程包括程序,数据和进程包括程序,数据和PCB142.1.2 进程的定义和特征进程的定义和特征 4.进程的上下文进程的上下文v进程的物理实体和支持进程运行的环境合称为进程进程的物理实体和支持进程运行的环境合称为进程上下文(上下文(Process C
9、ontext)。进程在进程上下文中)。进程在进程上下文中执行。进程上下文包括用户级上下文、系统级上下执行。进程上下文包括用户级上下文、系统级上下文和寄存器上下文。文和寄存器上下文。v当一个进程被系统调度而占用处理机时,发生进程当一个进程被系统调度而占用处理机时,发生进程切换,切换的内容主要是进程上下文。切换,切换的内容主要是进程上下文。152.1.2 进程的定义和特征进程的定义和特征 5.进程的特征进程的特征v进程具有如下特征:进程具有如下特征:(1)动态性)动态性(2)共享性)共享性(3)并发性)并发性(4)独立性)独立性(5)异步性)异步性162.1.2 进程的定义和特征进程的定义和特征6
10、.进程和程序的区别进程和程序的区别 进程和程序的最大区别就是进程是程序的一次执行过程,它是进程和程序的最大区别就是进程是程序的一次执行过程,它是一个动态概念。程序是一个静态概念。一个动态概念。程序是一个静态概念。进程能够并发执行。进程能够并发执行。进程是资源分配和独立运行的基本单位,而程序不是。进程是资源分配和独立运行的基本单位,而程序不是。进程由含有代码和数据的用户地址空间、进程控制块和执行栈进程由含有代码和数据的用户地址空间、进程控制块和执行栈区等部分组成,而程序只是静态代码。区等部分组成,而程序只是静态代码。进程和程序之间是多对多的关系。一个程序可被多个进程共用进程和程序之间是多对多的关
11、系。一个程序可被多个进程共用,一个进程在其活动中又可调用若干个程序。,一个进程在其活动中又可调用若干个程序。172.1.3 进程状态和进程转换进程状态和进程转换1.进程的进程的3种基本状态种基本状态v进程执行时的间断性决定了进程可能具有多种状进程执行时的间断性决定了进程可能具有多种状态。事实上,运行中的进程可能具有以下三种态。事实上,运行中的进程可能具有以下三种基基本本状态。状态。182.1.3 进程状态和进程转换进程状态和进程转换1)就绪就绪(Ready)状态状态v当进程已分配到除当进程已分配到除CPU以外的所有必要资源后,以外的所有必要资源后,只要再获得只要再获得CPU,便可立即执行,进程
12、这时的状,便可立即执行,进程这时的状态称为就绪状态。在一个系统中处于就绪状态的态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称进程可能有多个,通常将它们排成一个队列,称为就绪队列。为就绪队列。2)执行状态执行状态v进程已获得进程已获得CPU,其程序正在执行。在单处理机,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态;系统中,只有一个进程处于执行状态;在多处理在多处理机系统中,则有多个进程处于执行状态。机系统中,则有多个进程处于执行状态。192.1.3 进程状态和进程转换进程状态和进程转换3)阻塞状态阻塞状态v正在执行的进程由于发生某事件而暂时无法
13、继续正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即进执行时,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状程的执行受到阻塞,把这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态。态,有时也称为等待状态或封锁状态。v致使进程阻塞的典型事件有:请求致使进程阻塞的典型事件有:请求I/O,申请缓冲,申请缓冲空间等。通常将这种处于阻塞状态的进程也排成空间等。通常将这种处于阻塞状态的进程也排成一个队列。有的系统则根据阻塞原因的不同而把一个队列。有的系统则根据阻塞原因的不同而把处于阻塞状态的进程排成多个队列。处于阻塞状态的进程排成多个队列
14、。202.1.3 进程状态和进程转换进程状态和进程转换执行执行 就绪就绪 阻塞阻塞时间片到时间片到进程调度进程调度I/O请求请求I/O完成完成212.1.3 进程状态和进程转换进程状态和进程转换2.创建和终止状态创建和终止状态 222.1.3 进程状态和进程转换进程状态和进程转换3.挂起挂起1)引入挂起的原因引入挂起的原因v在不少系统中进程只有上述三种状态,但在不少系统中进程只有上述三种状态,但在另一些系统中,又增加了一些新状态,在另一些系统中,又增加了一些新状态,最重要的是挂起状态。引入挂起状态的原最重要的是挂起状态。引入挂起状态的原因有:因有:(1)终端用户的请求终端用户的请求(2)父进程
15、请求父进程请求(3)负荷调节的需要负荷调节的需要(4)操作系统的需要操作系统的需要232.1.3 进程状态和进程转换进程状态和进程转换2)进程状态的转换进程状态的转换v在引入挂起状态后,又将增加从挂起状态在引入挂起状态后,又将增加从挂起状态(又称为又称为静止状态静止状态)到非挂起状态到非挂起状态(又称为活动状态又称为活动状态)的转换的转换;或者相反。此时把状态细分为:;或者相反。此时把状态细分为:运行态运行态 活动就绪、静止就绪活动就绪、静止就绪 活动阻塞、静止阻塞活动阻塞、静止阻塞v可有以下几种状态转换情况:可有以下几种状态转换情况:(1)活动就绪活动就绪静止就绪。当进程处于未被挂起的就绪状
16、静止就绪。当进程处于未被挂起的就绪状态时,称此为活动就绪状态,表示为态时,称此为活动就绪状态,表示为Readya。当用挂。当用挂起原语起原语Suspend将该进程挂起后,该进程便转变为静止将该进程挂起后,该进程便转变为静止就绪状态,表示为就绪状态,表示为Readys,处于,处于Readys状态的进程不状态的进程不再被调度执行。再被调度执行。242.1.3 进程状态和进程转换进程状态和进程转换(2)活动阻塞活动阻塞静止阻塞。当进程处于未被挂起的阻静止阻塞。当进程处于未被挂起的阻塞状态时,称它是处于活动阻塞状态,表示为塞状态时,称它是处于活动阻塞状态,表示为Blockeda。当用。当用Suspen
17、d原语将它挂起后,进程便原语将它挂起后,进程便转变为静止阻塞状态,表示为转变为静止阻塞状态,表示为Blockeds。处于该状。处于该状态的进程在其所期待的事件出现后,将从静止阻塞态的进程在其所期待的事件出现后,将从静止阻塞变为静止就绪。变为静止就绪。(3)静止就绪静止就绪活动就绪。处于活动就绪。处于Readys状态的进程,状态的进程,若用激活原语若用激活原语Active激活后,该进程将转变为激活后,该进程将转变为Readya状态。状态。(4)静止阻塞静止阻塞活动阻塞。处于活动阻塞。处于Blockeds状态的进程,状态的进程,若用激活原语若用激活原语Active激活后,该进程将转变为激活后,该进
18、程将转变为Blockeda状态。下图示出了具有挂起状态的进程状状态。下图示出了具有挂起状态的进程状态图。态图。252.1.3 进程状态和进程转换进程状态和进程转换3.挂起操作挂起操作 执行执行活动活动就绪就绪活动活动阻塞阻塞时间片到时间片到进程调度进程调度I/O请求请求I/O完成完成内存内存外存外存静止静止就绪就绪静止静止阻塞阻塞I/O完成完成挂起挂起挂起挂起激活激活激活激活262.1.4 进程控制块及其组织方式进程控制块及其组织方式 1.进程控制块的作用进程控制块的作用进程控制块的具体作用如下:进程控制块的具体作用如下:(1)PCB是进程在系统中存在的唯一标识。是进程在系统中存在的唯一标识。
19、(2)保存)保存CPU现场信息。现场信息。(3)提供进程管理所需信息。)提供进程管理所需信息。(4)提供进程调度所需信息。)提供进程调度所需信息。(5)实现及其它进程的同步和通信。)实现及其它进程的同步和通信。272.1.4 进程控制块及其组织方式进程控制块及其组织方式 2.进程控制块的信息进程控制块的信息 进程控制块包含下述进程控制块包含下述4类类信信息:息:(1)进程标识信息进程标识信息。(2)进程说明信息。)进程说明信息。(3)处理机状态信息。)处理机状态信息。(4)进程的控制信息。)进程的控制信息。282.1.4 进程控制块及其组织方式进程控制块及其组织方式 3.进程控制块的组织方式进
20、程控制块的组织方式常用的常用的PCB组织方式有以下三种:组织方式有以下三种:(1)线性方式)线性方式(2)链接方式。)链接方式。292.1.4 进程控制块及其组织方式进程控制块及其组织方式 3.进程控制块的组织方式进程控制块的组织方式(3)索引方式)索引方式30重点回顾重点回顾v进程的定义和特征进程的定义和特征v进程状态进程状态 就绪就绪(Ready)(Ready)状态状态 执行状态执行状态 阻塞状态阻塞状态 挂起挂起31执行执行重点回顾重点回顾 就绪就绪 阻塞阻塞时间片到时间片到进程调度进程调度I/O请求请求I/O完成完成32重点回顾重点回顾执行执行活动活动就绪就绪活动活动阻塞阻塞时间片到时
21、间片到进程调度进程调度I/O请求请求I/O完成完成内存内存外存外存静止静止就绪就绪静止静止阻塞阻塞I/O完成完成挂起挂起挂起挂起激活激活激活激活332.2 进程控制进程控制2.2.1 进程创建进程创建系统中导致创建新进程的典型事件:系统中导致创建新进程的典型事件:操作系统初始化。当操作系统启动时,通常会创建若干进操作系统初始化。当操作系统启动时,通常会创建若干进程,特别是创建一些常驻系统进程。程,特别是创建一些常驻系统进程。作业调度。多道批处理系统中,当作业调度程序选中某个作业调度。多道批处理系统中,当作业调度程序选中某个作业时,将其装入内存,为其创建进程,并把创建好的进作业时,将其装入内存,
22、为其创建进程,并把创建好的进程插入到就绪进程队列。程插入到就绪进程队列。提供服务。当某一进程向操作系统提出某种服务请求时,提供服务。当某一进程向操作系统提出某种服务请求时,系统将专门创建一个进程来提供其所要求的服务。系统将专门创建一个进程来提供其所要求的服务。应用请求。当用户向系统提出某种应用请求时,系统为其应用请求。当用户向系统提出某种应用请求时,系统为其创建新进程。创建新进程。342.2.1 进程创建进程创建进程的创建进程的创建(Creation of Process)过程过程v一旦操作系统发现了要求创建新进程的事件后,一旦操作系统发现了要求创建新进程的事件后,便调用进程创建原语便调用进程
23、创建原语Creat()按下述步骤创建一个按下述步骤创建一个新进程。新进程。(1)申请空白申请空白PCB。为新进程申请获得惟一的数字标。为新进程申请获得惟一的数字标识符,并从识符,并从PCB集合中索取一个空白集合中索取一个空白PCB。(2)为新进程分配资源为新进程分配资源。为新进程的程序和数据,以。为新进程的程序和数据,以及用户栈分配必要的内存空间。及用户栈分配必要的内存空间。(3)初始化进程控制块初始化进程控制块。(4)将新将新进程插入就绪队列进程插入就绪队列,如果进程就绪队列能够,如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。接纳新进程,便将新进程插入就绪队列。35入口入口图图 创
24、建原语流图创建原语流图362.2.2 进程执行及进程切换进程执行及进程切换v系统进行进程切换时通常进行如下工作:系统进行进程切换时通常进行如下工作:保存被中断进程的处理器现场信息;保存被中断进程的处理器现场信息;修改当前运行进程的修改当前运行进程的PCB,将运行状态改为其他,将运行状态改为其他状态,并把它插入到相应的状态,并把它插入到相应的PCB队列中;队列中;选择另一个进程运行,并修改该进程的选择另一个进程运行,并修改该进程的PCB,使,使其状态变为运行态;其状态变为运行态;将当前进程存储管理数据修改为新选进程的存储将当前进程存储管理数据修改为新选进程的存储管理数据;管理数据;恢复被选进程上
25、次切换出处理机时的处理机现场,恢复被选进程上次切换出处理机时的处理机现场,开始运行该进程。开始运行该进程。371、引起进程阻塞和唤醒的事件、引起进程阻塞和唤醒的事件请求系统服务:请求系统服务:正在执行的程序请求操作系统服务,但正在执行的程序请求操作系统服务,但是由于某种原因操作系统没有立即满足该进程的要求,是由于某种原因操作系统没有立即满足该进程的要求,该进程只能转变为阻塞状态来等待。该进程只能转变为阻塞状态来等待。启动某操作:启动某操作:当进程启动某种操作后,如果该进程必须当进程启动某种操作后,如果该进程必须在该操作完成之后才能继续执行,所有必须先使进程阻在该操作完成之后才能继续执行,所有必
展开阅读全文