《操作系统原理》课件第三章 进程管理.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《操作系统原理》课件第三章 进程管理.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统原理 操作系统原理课件第三章 进程管理 操作系统 原理 课件 第三 进程 管理
- 资源描述:
-
1、1第三章第三章进程管理进程管理为了描述程序在并发执行时对系统资源的共为了描述程序在并发执行时对系统资源的共享,我们需要一个享,我们需要一个描述程序执行时动态特征描述程序执行时动态特征的概念,这就是的概念,这就是进程进程。本章将讨论。本章将讨论进程概念、进程概念、进程控制和进程间关系。进程控制和进程间关系。本章内容本章内容本章内容本章内容1.概述概述 2.进程的描述进程的描述3.进程控制进程控制进程互斥和同步(重点)进程互斥和同步(重点)4.进程间通信进程间通信5.死锁问题(难点)死锁问题(难点)6.进程其他方面的举例进程其他方面的举例7.线程及编程线程及编程3.1.1 程序的顺序执行和并发执行
2、程序的顺序执行和并发执行 程序的两种执行方式:顺序执行和并发执行。程序的两种执行方式:顺序执行和并发执行。顺序执行顺序执行是是单道单道批处理系统的执行方式,也用于批处理系统的执行方式,也用于简简单的单片机单的单片机系统系统 现在的操作系统多为现在的操作系统多为并发执行并发执行,具有许多新的特征。,具有许多新的特征。引入并发执行的目的是为了提高引入并发执行的目的是为了提高资源利用率资源利用率3.1 3.1 概述概述1.程序的顺序执行程序的顺序执行 (1)程序程序 完成所要求的功能时完成所要求的功能时,所应采取的顺序步骤,是执行指所应采取的顺序步骤,是执行指令的有序集合。令的有序集合。(2)顺序执
3、行特点)顺序执行特点 具有独立功能的程序具有独立功能的程序独占独占CPU直至得到最终结果的过程直至得到最终结果的过程3.1.1 3.1.1 程序的顺序执行和并发执行程序的顺序执行和并发执行 1 程序的顺序执行程序的顺序执行(1 1)顺序执行的特征)顺序执行的特征 顺序性顺序性:按照程序结构所指定的次序(可能有分支或循环):按照程序结构所指定的次序(可能有分支或循环)封闭性封闭性:独占全部资源,计算机的状态只由于该程序的控:独占全部资源,计算机的状态只由于该程序的控制逻辑所决定制逻辑所决定 可再现性可再现性:初始条件相同则结果相同。:初始条件相同则结果相同。3.1.1 3.1.1 程序的顺序执行
4、和并发执行程序的顺序执行和并发执行 2.2.程序的并发执行程序的并发执行(2 2)目的)目的 提高计算机的处理能力提高计算机的处理能力 提高资源利用率提高资源利用率3.1.1 3.1.1 程序的顺序执行和并发执行程序的顺序执行和并发执行 2.2.程序的并发执行程序的并发执行(1 1)形式)形式 多道程序环境下的多道程序的并发执行多道程序环境下的多道程序的并发执行 在某道程序的几个程序段中,包含可同时执行或可在某道程序的几个程序段中,包含可同时执行或可颠倒顺序执行的代码。颠倒顺序执行的代码。3.1.1 3.1.1 程序的顺序执行和并发执行程序的顺序执行和并发执行 2 程序的并发执行程序的并发执行
5、(1)定义)定义 程序的并发执行是指一组在逻辑上程序的并发执行是指一组在逻辑上互相独立互相独立的程序或程序的程序或程序段在段在执行时间上客观上互相重叠执行时间上客观上互相重叠,即一个程序或程序段的执,即一个程序或程序段的执行尚未结束,另一个程序(段)的执行已经开始的执行方式。行尚未结束,另一个程序(段)的执行已经开始的执行方式。3.1.1 3.1.1 程序的顺序执行和并发执行程序的顺序执行和并发执行 2.程序的并发执行程序的并发执行(2)并发与并行区别)并发与并行区别 并发并发:在一段时间内的同时并行:在一段时间内的同时并行 并行并行:在同一物理时刻的同时:在同一物理时刻的同时3.1.1 3.
6、1.1 程序的顺序执行和并发执行程序的顺序执行和并发执行 2.程序的并发执行程序的并发执行(3 3)并发执行的)并发执行的特征特征 间断间断(异步异步)性性:“走走停停走走停停”,一个程序可能走到中途停下来,一个程序可能走到中途停下来,失去原有的时序关系;失去原有的时序关系;失去封闭性失去封闭性:共享资源,受其他程序的控制逻辑的影响。:共享资源,受其他程序的控制逻辑的影响。失去可再现性失去可再现性:失去封闭性:失去封闭性 失去可再现性失去可再现性3.1.1 3.1.1 程序的顺序执行和并发执行程序的顺序执行和并发执行 2.程序的并发执行程序的并发执行(4)不加控制的并发执行所带来的影响不加控制
7、的并发执行所带来的影响 例:利用堆栈管理一块内存区中各数据块的使用情况。例:利用堆栈管理一块内存区中各数据块的使用情况。用用getaddr(top)从栈顶取出相应的内存块的地址。从栈顶取出相应的内存块的地址。用用reladdr(blk)将数据块的地址(以将数据块的地址(以bkl为地址)放入堆栈中为地址)放入堆栈中 3.1.1 3.1.1 程序的顺序执行和并发执行程序的顺序执行和并发执行 2.程序的并发执行程序的并发执行 (案例分析)(案例分析)int getaddr(top)int r;1.1 r stop;1.2 top top+1;1.3 return(r);void reladdr(bl
8、k)2.1 top top-1;2.2 stop blk;分析分析getaddr(top)getaddr(top)与与reladdr(blk)reladdr(blk)的并发执的并发执行行012345t abtop2.1 top top-11.1 r stop1.2 top top+11.3 return(r)2.2 stop blktop blktop什么原因?什么原因?说明什么问题?说明什么问题?低地址 高地址 栈底3.1.1 3.1.1 程序的顺序执行和并发执行程序的顺序执行和并发执行 2.程序的并发执行(案例分析)程序的并发执行(案例分析)例子说明例子说明 程序的执行不再具有封闭性和结果
9、的可再现性。程序的执行不再具有封闭性和结果的可再现性。getaddr()和和reladdr()的并发执行,产生了错误的结果,不同执行顺的并发执行,产生了错误的结果,不同执行顺序得到不同的结果。序得到不同的结果。原因:对公共变量(堆栈或堆栈指针)的共享引起的。原因:对公共变量(堆栈或堆栈指针)的共享引起的。为了获得结果的可再现性,为了获得结果的可再现性,程序的并发执行是需要条件的。程序的并发执行是需要条件的。3.1.1 3.1.1 程序的顺序执行和并发执行程序的顺序执行和并发执行 2.程序的并发执行程序的并发执行(5)并发执行的条件)并发执行的条件 达到封闭性和可再现性。达到封闭性和可再现性。并
10、发执行失去封闭性的原因是共享资源的影响,去掉这并发执行失去封闭性的原因是共享资源的影响,去掉这种影响就行了。种影响就行了。3.1.1 3.1.1 程序的顺序执行和并发执行程序的顺序执行和并发执行 有两个并发进程P1和P2,共享初值为1的变量x。P1对x加1,P2对x减1。加1和减1操作的指令序列分别如下所示。/P1 加1操作 /P2 减1操作load R1,x /取x到寄存器R1中 load R2,x /取x到寄存器R2中 inc R1 dec R2 store x,R1/将R1的内容存入x store x,R2 /将R1的内容存入x 两个操作完成后,x的值是()。可能为-1或3A只能为1B可
11、能为0、1或2C可能为-1、0、1或2D提交单选题1分2、并发执行、并发执行(5)并发执行条件)并发执行条件任意两个程序任意两个程序P(i)和和P(j)可并发的条件:可并发的条件:R(i)W(j)=W(i)R(j)=W(i)W(j)=现在的问题是现在的问题是 这个条件不好检查。这个条件不好检查。怎么办?怎么办?3.1.1 3.1.1 程序的顺序执行和并发执行程序的顺序执行和并发执行 1、定义、定义 一个具有一定一个具有一定独立功能的程序独立功能的程序在在一个数据集合一个数据集合上上的一次的一次动态执行过程动态执行过程。简言之,进程是程序的一次。简言之,进程是程序的一次执行活动。执行活动。3.1
12、.2 3.1.2 进程的定义进程的定义2 2、引入进程意义、引入进程意义 进程描述了程序的进程描述了程序的动态执行过程动态执行过程;它对应虚拟处理机、虚拟存储器和虚拟外设等它对应虚拟处理机、虚拟存储器和虚拟外设等资源的资源的分配和回收分配和回收;3.1 3.1 概述概述2、引入进程意义、引入进程意义 反映系统中程序执行的反映系统中程序执行的并发性、随机性和资源共享并发性、随机性和资源共享 引入多进程,提高了对硬件资源的引入多进程,提高了对硬件资源的利用率利用率,但又带来,但又带来额外的额外的空间和时间开销空间和时间开销,增加了,增加了OS 的复杂性的复杂性3.1 3.1 概述概述3.进程的特征
13、进程的特征(1)动态性)动态性进程对应程序的执行进程对应程序的执行进程是动态产生:进程是动态产生:创建创建-运行运行-消亡消亡进程在其生命周期内,在三种基本状态之间转换进程在其生命周期内,在三种基本状态之间转换3.1 3.1 概述概述3.3.进程的特征进程的特征(2 2)独立性)独立性 各进程的地址空间相互独立,除非采用进程间通信手段各进程的地址空间相互独立,除非采用进程间通信手段(3 3)并发性)并发性:任何进程都可以同其他进程一起向前推进:任何进程都可以同其他进程一起向前推进3.1 3.1 概述概述3.3.进程的特征进程的特征 (4 4)异步性)异步性:每个进程都以其相对独立的不可预知的速
14、:每个进程都以其相对独立的不可预知的速度向前推进度向前推进(5 5)结构化)结构化:进程:进程 =代码段代码段 +数据段数据段 +PCB+PCB3.1 3.1 概述概述一个进程是()。由协处理机执行的一个程序A一个独立的程序+数据集BPCB结构与程序和数据的组合C一个独立的程序D提交单选题1分进程所具有的基本特征包括()。动态性A顺序性B并发性C封闭性D异步性E提交多选题1分4 4 进程与程序的区别进程与程序的区别(1 1)进程是动态的,)进程是动态的,程序是静态的程序是静态的:炒菜炒菜 菜谱菜谱(2 2)进程是暂时的,)进程是暂时的,程序的永久的程序的永久的:进程是一个状态:进程是一个状态变
15、化的过程,程序可长久保存。变化的过程,程序可长久保存。3.1 3.1 概述概述进程和程序的本质区别是()。存储在内存和外存A顺序和非顺序执行机器指令B分时使用和独占使用计算机资源C动态和静态特征D提交单选题1分4 4 进程与程序的区别进程与程序的区别(3 3)进程与程序的)进程与程序的组成不同组成不同:进程的组成包括程序、数:进程的组成包括程序、数据和进程控制块(即进程状态信息)。据和进程控制块(即进程状态信息)。(4 4)进程与程序的)进程与程序的对应关系对应关系:通过多次执行,一个程序:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个可对应多个进程;通过调用关系,一个
16、进程可包括多个程序。程序。3.1 3.1 概述概述5.5.进程与程序的区别进程与程序的区别(5 5)进程具有)进程具有并发并发 /并行特征并行特征,程序没有程序没有。进程具有独立进程具有独立性和异步性性和异步性(6 6)进程是)进程是竞争计算机资源的基本单位竞争计算机资源的基本单位。3.1 3.1 概述概述一个进程执行过程中不可能对应()。一个PCBA一个JCBB多个PCBC一个程序D提交单选题1分6 6 进程举例进程举例 正在运行的正在运行的Web浏览器是一个进程,正在运行的浏览器是一个进程,正在运行的Windows资源资源管理器是一个进程,正在运行的管理器是一个进程,正在运行的Visual
17、 C编程环境也是一个编程环境也是一个进程进程 在计算机中处于运行状态的任何一个程序都是一个进程,一个在计算机中处于运行状态的任何一个程序都是一个进程,一个进程拥有内存、进程拥有内存、CPU时间等一系列资源时间等一系列资源3.1 3.1 概述概述7 进程与作业关系进程与作业关系用户用户线程线程进程进程作业步作业步作业作业作业步作业步进程进程线程线程由用户创建由用户创建由系统创建由系统创建由用户指定由用户指定.3.1 3.1 概述概述7.进程与作业关系进程与作业关系(1)作业是用户向计算机提交任务的实体;进程则是完)作业是用户向计算机提交任务的实体;进程则是完成用户任务的执行实体,是向系统申请分配
18、资源的基本单成用户任务的执行实体,是向系统申请分配资源的基本单位位3.1 3.1 概述概述7.进程与作业关系进程与作业关系(2)一个作业可由多个进程组成,且必须至少由一个进程)一个作业可由多个进程组成,且必须至少由一个进程组成,但反过来不成立。组成,但反过来不成立。(3)作业的概念主要用在批处理系统中;而进程的概念用)作业的概念主要用在批处理系统中;而进程的概念用在几乎所有的多道系统中。在几乎所有的多道系统中。3.1 3.1 概述概述3.2.1 进程的组成进程的组成进程进程=程序程序+数据数据+进程控制块进程控制块PCB程序程序是进程的不可缺少的组成部分;是进程的不可缺少的组成部分;数据数据是
19、进程处理的对象;是进程处理的对象;进程控制块进程控制块是进程的控制结构是进程的控制结构 3.2 3.2 进程的描述进程的描述3.2.1 3.2.1 进程的组成进程的组成(1 1)进程控制块)进程控制块 包含了进程的包含了进程的描述信息描述信息、控制信息控制信息和和资源信息资源信息以及以及现现场保护区场保护区,是进程的唯一标识,系统通过,是进程的唯一标识,系统通过PCBPCB管理和控制管理和控制进程。进程。3.2 3.2 进程的描述进程的描述1 1、功能、功能(1 1)PCBPCB是由是由OSOS维护的用来记录进程相关信息和管理进程而维护的用来记录进程相关信息和管理进程而设置的一个专门的数据结构
20、设置的一个专门的数据结构(2 2)PCBPCB是进程动态特性的集中反映是进程动态特性的集中反映 系统通过系统通过PCBPCB感知进程的存在,通过感知进程的存在,通过PCBPCB中所包含的各项中所包含的各项变量的变化,掌握进程的状态以达到控制进程活动的目的变量的变化,掌握进程的状态以达到控制进程活动的目的3.2.2 3.2.2 进程控制块进程控制块PCBPCB2 2、特征、特征PCBPCB结构的全部或部分常驻内存;结构的全部或部分常驻内存;PCBPCB随进程的创建而填写,随进程的撤消而释放;随进程的创建而填写,随进程的撤消而释放;系统利用系统利用PCBPCB来控制和管理进程,所以来控制和管理进程
21、,所以PCBPCB是系统感知是系统感知进程存在的唯一标志进程存在的唯一标志进程与进程与PCBPCB是一一对应的是一一对应的3.2.2 3.2.2 进程控制块进程控制块PCBPCB3、进程控制块的内容、进程控制块的内容(1)进程描述信息:)进程描述信息:进程标识符进程标识符(process ID),唯一,通常是一个整数,唯一,通常是一个整数进程名进程名,通常基于可执行文件名,通常基于可执行文件名用户标识符用户标识符(user ID)进程组关系进程组关系(process group)3.2.2 3.2.2 进程控制块进程控制块PCBPCB3、进程控制块的内容、进程控制块的内容(2)进程控制信息)进
22、程控制信息 当前状态当前状态 优先级优先级(priority)代码执行入口地址代码执行入口地址 程序的外存地址程序的外存地址3.2.2 3.2.2 进程控制块进程控制块PCBPCB3、进程控制块的内容、进程控制块的内容(2)进程控制信息)进程控制信息 运行统计信息(执行时间、页面调度)运行统计信息(执行时间、页面调度)进程间同步和通信进程间同步和通信 3.2.2 3.2.2 进程控制块进程控制块PCBPCB3、进程控制块的内容、进程控制块的内容(2)进程控制信息)进程控制信息 资源占用信息资源占用信息:虚拟地址空间的现状、打开文件:虚拟地址空间的现状、打开文件列表列表 CPU现场保护结构现场保
23、护结构:寄存器值(通用、程序计数:寄存器值(通用、程序计数器器PC、状态、状态PSW,地址包括栈指针),地址包括栈指针)3.2.2 3.2.2 进程控制块进程控制块PCBPCB进程的控制信息和描述信息存放在()。JCBAPCBBTCBCSTACKD提交单选题1分1 1、定义:、定义:对对进程执行活动全过程进程执行活动全过程的的静态描述静态描述。2 2、组成内容、组成内容 进程的用户地址空间内容进程的用户地址空间内容 硬件寄存器内容硬件寄存器内容 核心数据结构(正文段、数据集、堆栈)核心数据结构(正文段、数据集、堆栈)3.2.3 3.2.3 进程上下文进程上下文3、类型、类型用户级上下文用户级上
24、下文:进程的用户地址空间,包括用户正文:进程的用户地址空间,包括用户正文段、用户数据段和用户栈;段、用户数据段和用户栈;寄存器级上下文寄存器级上下文:程序寄存器、处理机状态寄存器、:程序寄存器、处理机状态寄存器、栈指针、通用寄存器的值;栈指针、通用寄存器的值;3.2.3 3.2.3 进程上下文进程上下文3、类型、类型(3 3)系统级上下文)系统级上下文静态部分(静态部分(PCBPCB和资源表格)和资源表格)动态部分:核心栈(核心过程的栈结构,不同进程动态部分:核心栈(核心过程的栈结构,不同进程在调用相同核心过程时有不同核心栈)在调用相同核心过程时有不同核心栈)3.2.3 3.2.3 进程上下文
25、进程上下文4、进程上下文结构、进程上下文结构PCB各种控制表指针栈区数据集正文集各种寄存器3.2.3 3.2.3 进程上下文进程上下文1、PCB表表(1)系统把所有)系统把所有PCB组织在一起,并把它们放在内存组织在一起,并把它们放在内存的固定区域,就构成了的固定区域,就构成了 PCB表;表;(2)PCB表的大小决定了系统中最多可同时存在的进表的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度。程个数,称为系统的并发度。3.2.4 PCB3.2.4 PCB的组织方式的组织方式2、组织方式、组织方式(1)链表)链表 同一状态的进程其同一状态的进程其PCB成一链表,多个状态对应多个成一链
展开阅读全文