《操作系统原理》课件第三章 进程管理.pptx

上传人(卖家):momomo 文档编号:5818817 上传时间:2023-05-11 格式:PPTX 页数:418 大小:2.13MB
下载 相关 举报
《操作系统原理》课件第三章 进程管理.pptx_第1页
第1页 / 共418页
《操作系统原理》课件第三章 进程管理.pptx_第2页
第2页 / 共418页
《操作系统原理》课件第三章 进程管理.pptx_第3页
第3页 / 共418页
《操作系统原理》课件第三章 进程管理.pptx_第4页
第4页 / 共418页
《操作系统原理》课件第三章 进程管理.pptx_第5页
第5页 / 共418页
点击查看更多>>
资源描述

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成一链表,多个状态对应多个成一链

26、表,多个状态对应多个不同的链表不同的链表 各状态的进程形成不同的链表:就绪链表、阻塞链表各状态的进程形成不同的链表:就绪链表、阻塞链表3.2.4 PCB3.2.4 PCB的组织方式的组织方式2、组织方式(组织方式(链表)链表)PCB1PCB2PCB3PCB4PCB5PCB6PCB7PCBn.空空 PCBPCB运行态运行态就绪态就绪态等待等待 1 1等待等待 2 267510153.2.4 PCB3.2.4 PCB的组织方式的组织方式2、组织方式、组织方式(2)索引表)索引表同一状态的进程归入一个同一状态的进程归入一个indexindex表(由表(由indexindex指向指向PCBPCB),多

27、个状态),多个状态对应多个不同的对应多个不同的indexindex表表各状态的进行形成不同的索引表:就绪索引表、阻塞索引表各状态的进行形成不同的索引表:就绪索引表、阻塞索引表PCB TableReadyBlockedPCB TableIndex TableReadyBlocked3.2.4 PCB3.2.4 PCB的组织方式的组织方式1.根据进程运行时权限不同划分为:根据进程运行时权限不同划分为:核心态和用户态核心态和用户态(1)用户执行状态,)用户执行状态,又称又称用户态用户态,进程的用户程序段执行时,进程的用户程序段执行时,该程序处于用户态。用户态时不可直接访问受保护的该程序处于用户态。用

28、户态时不可直接访问受保护的OS代码;代码;(2)系统执行状态)系统执行状态,又称,又称系统态,核心态,系统态,核心态,进程的系统程序执进程的系统程序执行时,该进程处于系统态。核心态时可以执行行时,该进程处于系统态。核心态时可以执行OS代码,可以访代码,可以访问全部进程空间。问全部进程空间。3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 下列选项中,会导致用户进程从用户态切换到核心态的操作是()。仅 I、IIA仅 I、IIIB仅 II、IIICI、II和IIIDI.整数除以零 II.sin()函数调用 III.read系统调用提交单选题1分划分用户态和系统态的原因划分用户态和系统态

29、的原因(1)把用户程序和系统程序分开,以利程序的)把用户程序和系统程序分开,以利程序的保护和共享;保护和共享;(2)但增加了系统复杂度和系统开销。)但增加了系统复杂度和系统开销。3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 2.根据进程是否占有根据进程是否占有CPU以及运行条件是否具备,划分以及运行条件是否具备,划分为:为:三种基本状态三种基本状态进程的三种基本状态分别为:进程的三种基本状态分别为:(1)就绪态()就绪态(Ready):一个进程已经具备运行条件,但由:一个进程已经具备运行条件,但由于无于无CPU暂时不能运行的状态(当调度给其暂时不能运行的状态(当调度给其CPU时

30、,立即可以时,立即可以运行。运行。“万事俱备,只欠东风万事俱备,只欠东风”。位于。位于“就绪队列就绪队列”中);中);3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 (2)执行态()执行态(Running):进程占有了包括:进程占有了包括CPU在内在内的全部资源,并在的全部资源,并在CPU上运行上运行(3)等待态()等待态(Blocked):阻塞态:阻塞态 指进程因等待某种事件的发生而暂时不能运行的状态指进程因等待某种事件的发生而暂时不能运行的状态(即使(即使CPU空闲,该进程也不可运行)。处于等待态空闲,该进程也不可运行)。处于等待态的进程位于等待队列中。的进程位于等待队列中。

31、3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 一个进程获得了除CPU以外的所需资源,则该进程可能处于()状态。运行A就绪B等待CD提交(B)和()和(C)单选题1分运行运行Running就绪就绪Ready等待等待Blocked调度调度时间片到时间片到事件事件等待等待事件事件发生发生3.进程的三种基本状态及转换进程的三种基本状态及转换基本状态间的转换图基本状态间的转换图3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 一进程在某一时刻具有()。一种状态A两种状态B三种状态C四种状态D提交单选题1分运行状态的进程由于某种原因可能变为()。就绪状态A等待状态B后备状态C完

32、成状态D活跃状态E提交多选题1分4 进程的三种基本状态及转换进程的三种基本状态及转换 在进程运行过程中,这三种基本状态可以依据在进程运行过程中,这三种基本状态可以依据一定的条件相互一定的条件相互转换转换(1)就绪就绪运行(进程调度)运行(进程调度)调度程序选择一个新的进程运行调度程序选择一个新的进程运行(2)运行运行就绪就绪 运行进程用完了时间片运行进程用完了时间片运行进程被中断,因为一高优先级进程处于就绪状态运行进程被中断,因为一高优先级进程处于就绪状态3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 多道程序系统中,()的作用是从就绪状态中挑选一个进程投入运行。作业调度A交换调

33、度B进程调度CSPOOLING调度D提交单选题1分4.进程的三种基本状态及转换进程的三种基本状态及转换(3)运行)运行等待等待:当一进程等待某一事件的发生时当一进程等待某一事件的发生时 请求系统服务请求系统服务无新工作可做无新工作可做(4)等待等待就绪:就绪:当所等待的事件发生时当所等待的事件发生时初始化初始化I/O 且必须等待结果且必须等待结果等待某一进程提供输入等待某一进程提供输入3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 在进程状态转换时,下列()转换是不可能发生的。就绪态运行态A运行态就绪态B运行态阻塞态C阻塞态运行态D提交单选题1分进程从运行状态变为等待的原因可能是

34、()。输入/输出事件发生A时间片到B输入/输出事件完成C某个进程被唤醒D提交单选题1分一个进程被唤醒,意味着()。该进程重新占有了CPUA进程状态变为就绪B它的优先权变为最大C其PCB移至就绪队列的队首D提交单选题1分一次I/O操作的结束,有可能导致()。一个进程由睡眠变就绪A几个进程由睡眠变就绪B一个进程由睡眠变运行C几个进程由睡眠变运行D提交单选题1分一个进程释放一种资源将有可能导致一个或几个进程()。由就绪变运行A由运行变就绪B由阻塞变运行C由阻塞变就绪D提交单选题1分进程从阻塞状态转换到就绪状态的可能原因是().时间片完A其它进程执行了唤醒原语B执行了V操作C执行了P操作D提交多选题1

35、分进程从执行状态转换到阻塞状态的可能原因是().时间片完A需要等待其它进程的执行结果B执行了V操作C执行了P操作D提交多选题1分进程状态应用5 其它状态其它状态(1)创建状态)创建状态:创建创建(新新new)状态状态 OS 已完成为创建一进程所必要的工作已完成为创建一进程所必要的工作已构造了进程标识符已构造了进程标识符已创建了管理进程所需的表格已创建了管理进程所需的表格3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 5.其它状态其它状态(1)创建状态)创建状态 但还没有允许执行该进程但还没有允许执行该进程(尚未同意尚未同意)因为资源有限,因为资源有限,OS所需的关于该进程的信息保

36、存在主存中的所需的关于该进程的信息保存在主存中的进程表中,但进程自身还未进入主存,也没有为与这个程序相进程表中,但进程自身还未进入主存,也没有为与这个程序相关的数据分配空间,程序保留在关的数据分配空间,程序保留在辅存辅存中。中。3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 进程创建原语的任务是()。为进程编制程序A为进程建立PCB表B为进程分配CPUC为进程分配所需的各种资源D提交单选题1分5.其它状态其它状态(1)创建状态)创建状态 导致导致进程创建进程创建的原因的原因 批处理环境中,选择一新作业即将进入内存执行批处理环境中,选择一新作业即将进入内存执行 交互环境中,新用户登

37、录到系统交互环境中,新用户登录到系统 由现有进程生成,父进程由现有进程生成,父进程-子进程子进程3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 进程被创建后即进入()排队。阻塞队列A就绪队列B缓冲队列C运行队列D提交单选题1分下列选项中,导致创进新进程的操作是()。仅I和IIA仅II和IIIB仅I和IIICI,II,IIID提交I.用户成功登陆 II.设备分配 III.启动程序执行单选题1分3.其它状态其它状态(2 2)终止状态)终止状态(Exit):(Exit):终止后进程移入该状态终止后进程移入该状态 它不再有执行资格它不再有执行资格 表格和其它信息暂时保留表格和其它信息暂时

38、保留 实用程序为了分析性能和利用率,可能要提取程序的历史信息实用程序为了分析性能和利用率,可能要提取程序的历史信息3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 5 其它状态其它状态(3 3)终止状态:进程完成任务或者其它原因退出,进程)终止状态:进程完成任务或者其它原因退出,进程无法恢复无法恢复3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 5 其它状态其它状态 导致导致进程终止进程终止的原因的原因分时系统中,用户的行为可指示终止分时系统中,用户的行为可指示终止PCPC机环境中,用户结束一应用程序机环境中,用户结束一应用程序父进程终止,父进程终止,OSOS自动终止

39、所有后代进程自动终止所有后代进程3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 6.五状态进程模型五状态进程模型AdmitRunningNewExitReadyBlockedDispatchTimeoutEventWaitEventOccursReleaseCreate3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 6.五状态进程模型五状态进程模型(1)五状态进程模型)五状态进程模型(单队列结构单队列结构)AdmitReady Queue 就绪队列就绪队列 DispatchTime-out 超时超时Event WaitReleaseCPUBlocked Queue

40、等待队列等待队列EventOccurs提交提交调度调度Processor释放释放等待事件等待事件事件事件发生发生3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 6.五状态进程模型五状态进程模型(1)五状态进程模型)五状态进程模型(多队列结构多队列结构)AdmitReady QueueDispatchTime-outReleaseProcessorEvent 1 WaitEvent 1 QueueEvent 1OccursEvent 2 WaitEvent 2 QueueEvent 2Occurs3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 7.7.挂起进程模型挂起

41、进程模型 (1 1)进程挂起的目的)进程挂起的目的 提高处理机效率提高处理机效率 为运行进程提供足够内存为运行进程提供足够内存3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 7.挂起进程模型挂起进程模型(1)单挂起进程模型)单挂起进程模型AdmitAdmitRunningRunningNewNewExitExitReadyReadyBlockedBlockedDispatchDispatchTimeoutTimeoutEventEventWaitWaitEventEventOccursOccursReleaseReleaseBlockedBlockedSuspendSuspend

42、SuspendSuspendActivateActivate3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 7.挂起进程模型挂起进程模型 (2)双挂起进程模型)双挂起进程模型AdmitAdmitRunningRunningReadyReadySuspendSuspendExitExitReadyReadyBlockedBlockedDispatchDispatchTimeoutTimeoutEventEventWaitWaitEventEventOccursOccursReleaseReleaseBlockedBlockedSuspendSuspendSuspendSuspend

43、NewNewEventEventOccursOccursActivateActivateSuspendSuspendActivateActivateAdmitAdmitSuspendSuspend3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 从执行状态挂起的进程解除挂起时进入()状态。就绪A执行B阻塞C挂起D提交单选题1分7.挂起进程模型挂起进程模型(3 3)挂起类型)挂起类型 根据是否就绪、是否在内存分类根据是否就绪、是否在内存分类1 1)就绪状态)就绪状态(Ready)(Ready):进程在内存且可立即进入运行状态;:进程在内存且可立即进入运行状态;2 2)阻塞状态)阻塞状

44、态(Blocked)(Blocked):进程在内存,并等待某事件的出现;:进程在内存,并等待某事件的出现;3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 7.挂起进程模型挂起进程模型(3 3)挂起类型)挂起类型 根据是否就绪、是否在内存分类根据是否就绪、是否在内存分类3 3)就绪挂起状态()就绪挂起状态(Ready,suspendReady,suspend):进程在外存,但只):进程在外存,但只要进入内存,即可运行;要进入内存,即可运行;4 4)阻塞挂起状态()阻塞挂起状态(Blocked,suspendBlocked,suspend):进程在外存并等):进程在外存并等待某事件的

45、出现;待某事件的出现;3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 7.7.挂起进程模型挂起进程模型(4 4)状态间的转换)状态间的转换 挂起(挂起(SuspendSuspend):把一个进程从内存转到外存):把一个进程从内存转到外存 挂起类型挂起类型阻塞到阻塞挂起阻塞到阻塞挂起就绪到就绪挂起就绪到就绪挂起运行到就绪挂起运行到就绪挂起3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 7.挂起进程模型挂起进程模型(4)状态间的转换)状态间的转换激活(激活(ActivateActivate):把一个进程从外存转到内存):把一个进程从外存转到内存就绪挂起到就绪就绪挂起到就

46、绪阻塞挂起到阻塞阻塞挂起到阻塞3.2.5 3.2.5 进程的状态及其转换进程的状态及其转换 1 1、如果系统中有、如果系统中有NN个进程,运行的进程最多几个,最少几个;就个进程,运行的进程最多几个,最少几个;就绪进程最多几个最少几个;等待进程最多几个,最少几个?绪进程最多几个最少几个;等待进程最多几个,最少几个?2 2、有没有这样的状态转换,为什么?、有没有这样的状态转换,为什么?等待等待运行;运行;就绪就绪等待等待3 3、一个状态转换的发生,是否一定导致另一个转换发生,列出所、一个状态转换的发生,是否一定导致另一个转换发生,列出所有的可能有的可能4 4、举、举3 3个日常生活中类似进程的例子

47、个日常生活中类似进程的例子课堂练习题课堂练习题1.1.进程定义、特征、组成、进程定义、特征、组成、2.2.PCB:PCB:作用、内容、组织作用、内容、组织3.3.进程与程序、作业的区别进程与程序、作业的区别4.4.进程描述、进程上下文进程描述、进程上下文5.5.进程状态:进程状态:3 3、5 5、6 6、7 76.6.状态间的转换状态间的转换内容总结内容总结3.3.1 进程控制的功能进程控制的功能完成创建和撤消进程,挂起和激活进程等完成创建和撤消进程,挂起和激活进程等完成进程状态的转换。完成进程状态的转换。使各进程有序地、正确地运行,共享系统资源使各进程有序地、正确地运行,共享系统资源3.3

48、3.3 进程控制进程控制1、原语、原语(primitive)(1)定义)定义 由若干条指令构成的由若干条指令构成的“原子操作原子操作”过程,作为一个过程,作为一个整体整体而而不可分割不可分割-要么全都完成,要么全都不做。许多系统调用就要么全都完成,要么全都不做。许多系统调用就是原语。是原语。3.3.1 3.3.1 进程控制的功能进程控制的功能1、原语、原语(primitive)(2)类型)类型机器指令级:不允许中断机器指令级:不允许中断功能级原语:允许中断,不允许并发功能级原语:允许中断,不允许并发3.3.1 3.3.1 进程控制的功能进程控制的功能1、原语、原语(primitive)注意:注

49、意:系统调用并不都是原语,但原语肯定是系统调用。系统调用并不都是原语,但原语肯定是系统调用。进程进程A调用调用read(),因无数据而阻塞,在,因无数据而阻塞,在read()里未返回。里未返回。然后进程然后进程B调用调用read(),此时,此时read()被重入。被重入。系统调用系统调用不一定一次执行完不一定一次执行完并返回该进程,有可能在特并返回该进程,有可能在特定的点暂停,而转入到其他进程;但定的点暂停,而转入到其他进程;但原语一次必须执行完原语一次必须执行完毕毕;3.3.1 3.3.1 进程控制的功能进程控制的功能1.1.进程创建与撤消原语进程创建与撤消原语2.2.进程阻塞与唤醒原语进程

50、阻塞与唤醒原语3.3.进程挂起与激活原语进程挂起与激活原语3.3.2 3.3.2 进程控制的主要原语进程控制的主要原语1.1.进程创建进程创建原语原语(1 1)主要任务:)主要任务:为进程创建一个为进程创建一个PCBPCB 赋予一个统一进程标识符赋予一个统一进程标识符 为进程映象分配空间为进程映象分配空间 初始化进程控制块初始化进程控制块 设置相应的链接设置相应的链接 把新进程加到就绪队列的链表中把新进程加到就绪队列的链表中 插入家族队列插入家族队列3.3.2 3.3.2 进程控制的主要原语进程控制的主要原语 1.进程创建进程创建原语原语(2)引起创建进程的事件引起创建进程的事件 用户登录:分

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《操作系统原理》课件第三章 进程管理.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|