《操作系统第二章进程的描述与控制.ppt》由会员分享,可在线阅读,更多相关《操作系统第二章进程的描述与控制.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章第二章进程的描述与控制12/21/20221本章讨论的主要问题本章讨论的主要问题1 1、什么是进程?为什么要引入进程?、什么是进程?为什么要引入进程?2 2、如何描述进程?、如何描述进程?3 3、进程具哪些状态?这些状态之间如何进、进程具哪些状态?这些状态之间如何进行转换?行转换?4 4、如何控制进程状态的转换?、如何控制进程状态的转换?12/21/202222.1 2.1 程序的执行与特征程序的执行与特征 (一)一)一一 、程序的顺序执行及特征、程序的顺序执行及特征如:有三条语句:如:有三条语句:s1s1:a a:=x+y=x+y s2 s2:b b:=a-5=a-5 s3 s3:c
2、c:=b+1=b+1 程序顺序执行的特征程序顺序执行的特征 :执行顺序用有向图表示执行顺序用有向图表示:s1s2s31.1.顺序性顺序性:处理机操作严格按照程序所规定的顺序执行。处理机操作严格按照程序所规定的顺序执行。2.2.封闭性:封闭性:程序独占资源,除初始状态外,只有程序本程序独占资源,除初始状态外,只有程序本身规定的操作才能够改变资源状况,即程序在封闭环境下身规定的操作才能够改变资源状况,即程序在封闭环境下运行。运行。3.3.可再现性可再现性:程序的运行结果与它执行的速度无关。程序的运行结果与它执行的速度无关。一个具有独立功能的程序独占一个具有独立功能的程序独占CPUCPU直到完成的过
3、程称直到完成的过程称为程序的顺序执行为程序的顺序执行。12/21/202232.1 2.1 程序的执行与特征程序的执行与特征 (二二)1.前趋图前趋图(Precedence Graph)用前趋图来描述并发执行的程序的特征。用前趋图来描述并发执行的程序的特征。前趋图前趋图 DAG(Directed Acyclic Graph)结结 点点表示一条语句,一段程序或进程。表示一条语句,一段程序或进程。有向边有向边表示两结点间的偏序或前趋关系。表示两结点间的偏序或前趋关系。前趋定义:前趋定义:(Pi,Pj)记为:记为:Pi Pj 二、二、程序的并发执行及特征程序的并发执行及特征 其中:其中:P Pi 称
4、为称为Pj的直接前趋。的直接前趋。2.2.程序的并发执行程序的并发执行 程序的并发执行是指在逻辑上相互独立的一组程序程序的并发执行是指在逻辑上相互独立的一组程序在执行时间上的相互重叠,即一个程序段的执行尚未结在执行时间上的相互重叠,即一个程序段的执行尚未结束,另一程序段的执行已经开始。束,另一程序段的执行已经开始。Pi Pj12/21/202242 2、程序的并发执行、程序的并发执行例:有三类程序并发执行:例:有三类程序并发执行:I Ii i输入程序输入程序 C Ci i计算程序计算程序 P Pi i打印程序打印程序I1I2I3I4C1C2C3C4P1P2P3P4Ii Ci Pi Ii Ci
5、Ci Pi前趋关系:前趋关系:P i-1,Ci,I i+1 可可并发执行。并发执行。2.1 2.1 程序的执行与特征程序的执行与特征 (三(三)Ii I i+1Ci Ci+1Pi Pi+112/21/20225问问 题题 程序的顺序执行与程序的并发执行有那程序的顺序执行与程序的并发执行有那些不同的特征?些不同的特征?2.1 2.1 程序的执行与特征程序的执行与特征 (四(四)执执行行过过程程中中可可能能有有多多个个程程序序同同时时申申请请同同一一资资源源,带带来来了了资资源源的的动动态态分分配配。多多道道程程序序共共享享资资源源共共同同决决定定和和影影响响资资源源的的状状态。因此,并发程序的执
6、行结果与其执行的相对速度有关。态。因此,并发程序的执行结果与其执行的相对速度有关。显然,程序的并发执行与程序的顺序执行具有显然,程序的并发执行与程序的顺序执行具有完全不同完全不同的的特征,主要表现在:特征,主要表现在:各并发执行的程序各并发执行的程序共享资源共享资源,使本来并无逻辑关系的程,使本来并无逻辑关系的程序之间产生了序之间产生了相互制约相互制约的关系。而需要相互通信共同协作完的关系。而需要相互通信共同协作完成同一任务的程序之间成同一任务的程序之间相互依赖相互依赖又相互制约。使各道程序走又相互制约。使各道程序走走停停,走停停,动态执行动态执行。12/21/202263 3 3 3、程序并
7、发执行的特征、程序并发执行的特征、程序并发执行的特征、程序并发执行的特征 程序程序程序程序顺序顺序顺序顺序执行执行执行执行 程序程序程序程序并发并发并发并发执行执行执行执行 顺序性顺序性顺序性顺序性 间断性间断性间断性间断性 封闭性封闭性封闭性封闭性 无封闭性无封闭性无封闭性无封闭性 可再现性可再现性可再现性可再现性 不可再现性不可再现性不可再现性不可再现性 2.1 2.1 程序的执行与特征程序的执行与特征 (五(五)12/21/20227 不可再现性是程序不可再现性是程序并发并发执行时的间断性及失去封闭性执行时的间断性及失去封闭性的必然结果,即程序的执行结果与其执行速度有关。的必然结果,即程
8、序的执行结果与其执行速度有关。例:例:程序程序A A 程序程序B B .N:=N+1 PRINT(N)N:=N+1 PRINT(N).N:=0 .N:=0 .3 3、程序并发执行的特征、程序并发执行的特征(1 1)执行顺序:()执行顺序:(a a),(),(b b),(),(c c)N N值:值:n+1n+1,n+1n+1,0 0(2 2)执行顺序:(执行顺序:(b b),(),(a a),(),(c c)N N值:值:n n,n+1n+1,0 0(3 3)执行顺序:(执行顺序:(b b),(),(c c),(),(a a)N N值:值:n n,0 0,1 1(a a)(b b)(c c)12
9、/21/202282.2 2.2 进程的描述进程的描述 (一)(一)12/21/20229 进程是可并发执行的程序在给定数据集合进程是可并发执行的程序在给定数据集合上的一次上的一次执行过程执行过程,是系统进行资源,是系统进行资源分配和调分配和调度的度的一个独立的一个独立的基本单位基本单位和实体和实体,是执行一个,是执行一个映象程序的映象程序的总环境总环境,是一个,是一个动态的概念动态的概念。一一一一.进程的定义进程的定义进程的定义进程的定义 进程的引入是为了更好地描述程序并发执行的进程的引入是为了更好地描述程序并发执行的进程的引入是为了更好地描述程序并发执行的进程的引入是为了更好地描述程序并发
10、执行的动态特征。动态特征。动态特征。动态特征。1.1.定义定义2.2 2.2 进程的描述进程的描述 (二)(二)12/21/202210进程进程是执行程序的动态过程是执行程序的动态过程动态概念动态概念。程序是进程运行的静态文本程序是进程运行的静态文本静态概念。静态概念。2.2 2.2 进程的描述进程的描述 (三)(三)一个一个进程进程可以执行一个或多个程序。可以执行一个或多个程序。一个程序可以被多个一个程序可以被多个进程进程执行。执行。程序可以作为一种资源以文件的形式长期保存。程序可以作为一种资源以文件的形式长期保存。进程进程只是一次执行过程,具有只是一次执行过程,具有生命期生命期。2.2.进
11、程与程序的区别、联系进程与程序的区别、联系12/21/2022112.2 2.2 2.2 2.2 进程的进程的进程的进程的描述描述 (四)四)四)四)进程是程序的一次执进程是程序的一次执行过程具有生命期;它可行过程具有生命期;它可以由系统创建并独立地执以由系统创建并独立地执行,直至完成而被撤消。行,直至完成而被撤消。进程是可以并发执行进程是可以并发执行的基本单位,从宏观上看,的基本单位,从宏观上看,它们可以它们可以“同时同时”执行。执行。由于共享资源,进程间相由于共享资源,进程间相互约束,相互依赖。互约束,相互依赖。独立性异步性 各个进程之间相互独各个进程之间相互独立,是系统分配资源和能立,是
12、系统分配资源和能够被处理机调度的基本单够被处理机调度的基本单位。位。各个进程按照各自独立各个进程按照各自独立的、不可预知的速度异步的、不可预知的速度异步向前推进。即进程按异步向前推进。即进程按异步方式执行。方式执行。二二.、进程的特征、进程的特征12/21/2022122.2 2.2 进程的描述进程的描述 (五)(五)1、三种基本状态:三种基本状态:执行状态执行状态(Executing)就绪状态就绪状态(Ready)阻塞状态阻塞状态(Blocked)或等待或等待(Wait)阻塞阻塞状态状态就绪就绪状态状态执行执行状态状态调度调度I/O请求请求进程进程释放释放时间时间片到片到新状态新状态结束结束
13、后备队列后备队列新状态新状态结束状态结束状态三、进程的基本状态三、进程的基本状态12/21/2022132 2、进程状态的细化、进程状态的细化 挂起状态挂起状态(SuspendSuspend):):对正在执行的进程,则停止执行。对正在执行的进程,则停止执行。对就绪状态的进程,对就绪状态的进程,则停止调度,并回收资源。则停止调度,并回收资源。对阻塞状态的进程,对阻塞状态的进程,则停止条件的发生。则停止条件的发生。称被挂起的进程是称被挂起的进程是静止的静止的 静止就绪(静止就绪(Readys)静止静止阻塞(阻塞(Blockeds)称未被挂起的进程是称未被挂起的进程是活动的活动的活动就绪(活动就绪(
14、Readya)活动活动阻塞(阻塞(Blockeda)将进程将进程挂起的原因挂起的原因:1 1。系统工作负荷达到高峰,调整负荷,使系统正常运行。系统工作负荷达到高峰,调整负荷,使系统正常运行。2 2。人为挂起,停止某进程执行,以便研究分析。人为挂起,停止某进程执行,以便研究分析。3 3。系统需要,如系统故障,系统检测需要。系统需要,如系统故障,系统检测需要。2.22.2 进程的描述进程的描述 (六)(六)12/21/2022143 3、细化的进程状态图细化的进程状态图活动活动阻塞阻塞执行执行状态状态活动活动就绪就绪静止静止就绪就绪静止静止阻塞阻塞调度调度释放释放I/O请求请求激激活活激激活活挂挂
15、起起挂挂起起挂挂起起释放释放2.22.2 进程的描述进程的描述 (七)(七)12/21/2022152.2 2.2 进程的描述进程的描述 (八)(八)1 1、进程的描述、进程的描述 对进程的描述应该反映进程的存在及其变化,反映进程的对进程的描述应该反映进程的存在及其变化,反映进程的动态特性。动态特性。进程进程由由程序程序,相应的,相应的数据集合,进程控制块数据集合,进程控制块三部三部分组成。分组成。进程的程序进程的程序 静态文本,描述进程所要完成的功能。静态文本,描述进程所要完成的功能。数数 据据 集集 合合 程序运行时所需的数据和工作区。程序运行时所需的数据和工作区。进程控制块进程控制块PC
16、B(Process Control Block)记录和描述记录和描述进程的动态特性,描述进程的执行情况和状态变化。进程的动态特性,描述进程的执行情况和状态变化。四、进程控制块四、进程控制块12/21/2022162.2 2.2 进程的描述进程的描述 (九)(九)进程标识信息进程标识信息进程标识信息进程标识信息 外部标识信息外部标识信息 内部标识信息内部标识信息 进程家族标识进程家族标识处理机状态信息处理机状态信息处理机状态信息处理机状态信息通用寄存器通用寄存器 指令计数器指令计数器 程序状态字(程序状态字(PSWPSW)用户栈指针用户栈指针进程调度信息进程调度信息 进程状态进程状态 进程优先级
17、进程优先级 其他调度信息其他调度信息 等待事件等待事件进程控制信息进程控制信息 程序数据地址程序数据地址 进程同步及通信进程同步及通信 资源清单资源清单 链接指针链接指针2 2、PCB 块包含的信息块包含的信息12/21/202217 不不同同操操作作系系统统,PCBPCB所所包包含含的的信信息息类类型型及及数数量量可可能能有有所不同,但一般包括两类信息。所不同,但一般包括两类信息。1)调度信息调度信息 描述进程的当前状况,供进程调度使用。描述进程的当前状况,供进程调度使用。2)现现场场信信息息 刻刻划划了了进进程程运运行行的的情情况况;记记录录在在进进程程运运行行过过程程中中会会改改变变的的
18、信信息息,以以便便进进程程中中断断后后,再再次次被被调调度度时能够继续运行。时能够继续运行。3 3、PCBPCB块的组织方式块的组织方式 链接方式链接方式 链接成各种就绪,阻塞及空白等各种队列。链接成各种就绪,阻塞及空白等各种队列。索引方式索引方式 建立不同状态的索引表。建立不同状态的索引表。2.2 2.2 进程的描述进程的描述 (十)(十)12/21/2022182.3 2.3 进程控制进程控制 (一)(一)是机器指令的延伸,是非进程模块是机器指令的延伸,是非进程模块,不能并发执行。不能并发执行。执行过程不可中断,用微代码实现。执行过程不可中断,用微代码实现。一、操作系统的内核一、操作系统的
19、内核1 1、进程运行状态、进程运行状态12/21/2022192.3 2.3 进程控制进程控制 (二)(二)内核是内核是OSOS的控制和协调中心,由它组织,启动的控制和协调中心,由它组织,启动和协调系统中各种活动。通常由各种原语构成。和协调系统中各种活动。通常由各种原语构成。内核是内核是OSOS中最重要最核心的部分。中最重要最核心的部分。OSOS的内核紧的内核紧靠硬件,由那些使用频率高,与硬件紧密相关的靠硬件,由那些使用频率高,与硬件紧密相关的模块构成;如中断处理程序,设备驱动程序等。模块构成;如中断处理程序,设备驱动程序等。12/21/2022202.3 2.3 进程控制进程控制 (三)(三
20、)二二.内核的功能内核的功能 1 1)中断处理)中断处理 中中断断是是OSOS内内核核最最重重要要的的功功能能之之一一。系系统统中中的的所所有有中中断断 都都由由内内核核响响应应。中中断断是是进进程程并并发发执执行行的的基基础础,OSOS是是由由中中断断驱动的。驱动的。2 2)原语操作)原语操作 原语操作包括涉及原语操作包括涉及CPUCPU管理,存储管理,设备管理,管理,存储管理,设备管理,文件管理的各种文件管理的各种基本操作。基本操作。3)3)时钟管理时钟管理 OSOS的许多重要的许多重要操作,如:按时间片轮转调度,实时系操作,如:按时间片轮转调度,实时系统中的截止时间控制等,都依赖于时钟管
21、理。统中的截止时间控制等,都依赖于时钟管理。12/21/2022212.3 2.3 进程控制进程控制 (四)(四)中中 断断 源源 引起中断的异步事件(如:系统调用,引起中断的异步事件(如:系统调用,I/OI/O 请求,进程调度,请求,进程调度,设备驱动,文件处理等)。设备驱动,文件处理等)。中断请求中断请求 向向CPUCPU发出中断信号。发出中断信号。中断响应中断响应 CPU CPU停止执行当前进程,分辨中断请求的类型。停止执行当前进程,分辨中断请求的类型。中断处理中断处理 CPU CPU将请求交相关的中断处理程序处理。将请求交相关的中断处理程序处理。中断返回中断返回 众多处理结束,返回断点
22、。众多处理结束,返回断点。向向CPU保护保护CPU现场现场识别中断源识别中断源恢复恢复CPU现场现场12/21/2022222.3 2.3 进程控制进程控制 (五)(五)创建原语创建原语创建原语创建原语 createcreatecreatecreate()()()()撤消撤消撤消撤消原语原语原语原语 destroydestroydestroydestroy()()()()阻塞原语阻塞原语阻塞原语阻塞原语 blockblockblockblock()()()()唤醒唤醒唤醒唤醒原语原语原语原语 wakeupwakeupwakeupwakeup()()()()挂起原语挂起原语挂起原语挂起原语 su
23、spendsuspendsuspendsuspend()()()()激活原语激活原语激活原语激活原语 activeactiveactiveactive()()()()三三 .进程控制原语进程控制原语12/21/2022232.3 2.3 进程控制进程控制 (四)(四)创建进程有两种方式:由系统程序模块创建,创建进程有两种方式:由系统程序模块创建,或由父进程创建。或由父进程创建。算法步骤:算法步骤:1.1.向向PCBPCB集合申请一个空闲的集合申请一个空闲的PCBPCB,并获取其内并获取其内部标识;部标识;2.2.将有关信息填入将有关信息填入PCBPCB;3.3.将该进程置为就绪状态,并插入就绪
24、队列。将该进程置为就绪状态,并插入就绪队列。创建原语创建原语创建原语创建原语 createcreatecreatecreate()()()()对进程的控制一般通过原语操作实现对进程的控制一般通过原语操作实现。12/21/202224创建原语创建原语 (create)(create)创创建建原原语语算算法法查查PCB集集有空有空PCBNN 创建失败创建失败YY取空表取空表PCB(i)将将参数填入参数填入PCB(i)将将PCB(i)插入就绪队列插入就绪队列12/21/2022252.3 2.3 进程控制进程控制 (四)(四)撤消撤消撤消撤消原语原语原语原语 destroydestroydestro
25、ydestroy()()()()当进程完成或产生异常中断时,应立即撤消,当进程完成或产生异常中断时,应立即撤消,并释放其所有资源并释放其所有资源。12/21/202226撤消原语撤消原语 (destroydestroy)撤撤消消原原语语算算法法查查PCB集和进程家族集和进程家族有此有此PCB?NN 出错处理出错处理YY释放进程所占资源释放进程所占资源释放释放PCB(i)结构结构该该PCB有子进程?有子进程?YYNN12/21/2022272.3 进程控制进程控制(五)(五)进进程程在在执执行行过过程程中中,需需要要等等待待某某些些条条件件发发生生时时,由由该进程调用阻塞原语把进程从执行状态转换
26、为阻塞状态。该进程调用阻塞原语把进程从执行状态转换为阻塞状态。算法步骤:算法步骤:1.1.中断中断CPUCPU执行,将执行,将CPUCPU的当前状态保存到的当前状态保存到PCBPCB的现场信息。的现场信息。2.2.2.2.将进程的当前状态置为阻塞状态;将进程的当前状态置为阻塞状态;3.3.将进程的将进程的PCBPCB插入到该事件的阻塞队列中。插入到该事件的阻塞队列中。阻塞原语阻塞原语阻塞原语阻塞原语 blockblockblockblock()()()()12/21/2022282.3 进程控制进程控制(五)(五)算法步骤:算法步骤:1.1.在等待队列中找到该进程,将其在等待队列中找到该进程,
27、将其P P的当前状态置的当前状态置为就绪;为就绪;2.2.将进程从等待队列中撤消,并插入到就绪队列中。将进程从等待队列中撤消,并插入到就绪队列中。唤醒唤醒唤醒唤醒原语原语原语原语 wakeupwakeupwakeupwakeup()()()()当处于阻塞状态的进程所等待的事件发生后,使用唤当处于阻塞状态的进程所等待的事件发生后,使用唤醒原语将进程从等待状态转换为就绪状态。醒原语将进程从等待状态转换为就绪状态。12/21/2022292.3 进程控制进程控制(六)(六)进程在执行过程中,根据用户或系统的某种需要,进程在执行过程中,根据用户或系统的某种需要,调用挂起原语将进程从活动状态转换为静止状
28、态。调用挂起原语将进程从活动状态转换为静止状态。算法步骤:算法步骤:1.1.根据外部标识检索根据外部标识检索PCBPCB集,找到要挂起的集,找到要挂起的PCBPCB块;块;2.2.检查被挂进程的当前状态:检查被挂进程的当前状态:执执 行行 态态 静止就绪,并转调度程序,重新调度。静止就绪,并转调度程序,重新调度。活动就绪活动就绪 静止就绪静止就绪 活动阻塞活动阻塞 静止阻塞静止阻塞挂起原语挂起原语挂起原语挂起原语 suspendsuspendsuspendsuspend()()()()12/21/2022302.3 进程控制进程控制(六)(六)算法步骤:算法步骤:1.1.检查被挂进程的当前状态
29、:检查被挂进程的当前状态:2.2.将进程从相应的静止状态将进程从相应的静止状态 活动状态。活动状态。激活原语激活原语激活原语激活原语 activeactiveactiveactive()()()()当外于静止状态的进程所等待的激活事件发生后,当外于静止状态的进程所等待的激活事件发生后,使用激活原语将进程从静止状态转换为活动状态。使用激活原语将进程从静止状态转换为活动状态。12/21/202231 一一.UNIXUNIX系统的核心结构系统的核心结构 UNIXUNIX系统分为三个层次:系统分为三个层次:核心、用户接口及实用程序、核心、用户接口及实用程序、应用程序。应用程序。2.4 UNIX2.4
30、UNIX系统中的进程系统中的进程(一)(一)UNIXUNIX核心核心 :包括四大资源管理功能。由以下部分组成:包括四大资源管理功能。由以下部分组成:1 1、进程控制子系统进程控制子系统 负责处理机管理和存储管理,包括进程控制、进程负责处理机管理和存储管理,包括进程控制、进程通信、进程调度及段页式存储管理。通信、进程调度及段页式存储管理。2 2、文件子系统文件子系统 将慢速外设备看作广义的文件。文件子系统功能包括:将慢速外设备看作广义的文件。文件子系统功能包括:文件管理、高速缓冲机制及设备驱动。文件管理、高速缓冲机制及设备驱动。3 3、两个接口、两个接口 核心与硬件的接口核心与硬件的接口 (一组
31、驱动程序,基本例程)(一组驱动程序,基本例程)核心与核心与SHELLSHELL的接口(系统调用,命令解释程序)的接口(系统调用,命令解释程序)12/21/2022322.4 UNIX2.4 UNIX系统中的进程系统中的进程(二)(二)3 3。两个接口。两个接口 核心与硬件的接口核心与硬件的接口 (一组驱动程序,基本例程)(一组驱动程序,基本例程)核心与核心与SHELLSHELL的接口的接口 (系统调用,命令解释程序)(系统调用,命令解释程序)文件子系统文件子系统进程控制子系统进程控制子系统系统调用接口系统调用接口硬件控制硬件控制用户程序用户程序12/21/2022332.4 UNIX2.4 U
32、NIX系统中的进程系统中的进程(三)(三)PCBPCB 块数据结构块数据结构 1 1。进程表项(。进程表项(PROCPROC结构):核心数据。结构):核心数据。2。U区(区(USER结构)结构):PROCPROC的的扩充数据。扩充数据。3 3。系统区表项。系统区表项 :段在物理存储器的位置等信息。:段在物理存储器的位置等信息。4 4。本进程区表。本进程区表 :本段起始虚地址,指向系统区表中:本段起始虚地址,指向系统区表中 的本进程区表项的指针。的本进程区表项的指针。12/21/2022342.4 2.4 UNIXUNIX系统中的进程系统中的进程(四)(四)进程的唯一标识。进程的唯一标识。拥有该
33、进程的用户标识。拥有该进程的用户标识。记录该进程的当前状态(九种)。记录该进程的当前状态(九种)。记录使该进程进入睡眠状态的事件。记录使该进程进入睡眠状态的事件。进程及进程及U U区在内存或外存的位置。区在内存或外存的位置。记录其它进程发来的软中断信号。记录其它进程发来的软中断信号。进程执行时间及对资源的利用情况。进程执行时间及对资源的利用情况。用于内存分配。用于内存分配。设置进程动态优先级。设置进程动态优先级。指向指向U U区进程正文、数据及栈在内存区区进程正文、数据及栈在内存区域的指针。域的指针。1.1.进程表项(进程表项(PROCPROC结构)结构)包括进程最常用的基本控制信息,常驻内存
34、。包括进程最常用的基本控制信息,常驻内存。二、二、PCB PCB 块的数据结构块的数据结构12/21/2022352.4 2.4 UNIXUNIX系统中的进程系统中的进程(五)(五)指向当前执行进程的进程表项。指向当前执行进程的进程表项。(real user IDreal user ID)由超级用户分配的户标由超级用户分配的户标 识符,用于用户登录验证。识符,用于用户登录验证。(effective user IDeffective user ID)一般同上,可由系一般同上,可由系 统调用改变。统调用改变。记录该进程已打开的所有文件。记录该进程已打开的所有文件。记录当前根及当前目录。记录当前根及
35、当前目录。对进程大小及读、写文件字节数,方式对进程大小及读、写文件字节数,方式 及缓冲区大小等的限制。及缓冲区大小等的限制。记录进程(及其子进程)在核心态和用户记录进程(及其子进程)在核心态和用户态执行所用时间。态执行所用时间。记录系统调用过程中的错误。记录系统调用过程中的错误。标识出该标识出该user user 结构所对应的结构所对应的 procproc结构。结构。USERUSER结构所包含的信息只有在进程运行时才使用,不一定结构所包含的信息只有在进程运行时才使用,不一定调入内存。调入内存。2、U区(区(USER结构)结构)12/21/2022362.4 2.4 UNIXUNIX系统中的进程
36、系统中的进程(六)(六)UNIXUNIX系统中采用段页式储存管理,为了把虚地址映射到系统中采用段页式储存管理,为了把虚地址映射到实际的物理地址,定义了两个表:进程区表,系统区表。实际的物理地址,定义了两个表:进程区表,系统区表。储存管理是进程并发执行的基础,因此,储存管理是进程并发执行的基础,因此,PCBPCB中也定义了中也定义了有关储存管理的字段:有关储存管理的字段:3 3。系统区表项。系统区表项 4 4。本进程区表。本进程区表三、进程的上、下文三、进程的上、下文 进程是一个进程映象(进程是一个进程映象(Process ImageProcess Image)的执行过程,的执行过程,各进程并发
37、执行,各进程并发执行,OSOS经常需要把控制从一个现行执行的进经常需要把控制从一个现行执行的进程转换到另一个进程,这个操作称为程转换到另一个进程,这个操作称为“关联转换关联转换”,或,或“上、下文转换上、下文转换”(contextcontext)。)。进程上、下文是对进程执行活动全过程的描述。进程进程上、下文是对进程执行活动全过程的描述。进程上、下文包括:上、下文包括:寄存器上、下文寄存器上、下文,系统级上、下文系统级上、下文,用户级上、下文用户级上、下文。12/21/2022372.4 2.4 UNIXUNIX系统中的进程(七)系统中的进程(七)存放进程在运行过程中所产生的数据。存放进程在运
38、行过程中所产生的数据。如如R0R0、R1 R1 用于系统进程与用户进程间用于系统进程与用户进程间传递参数。传递参数。存放存放CPUCPU正常执行的下一条指令的虚地正常执行的下一条指令的虚地址。址。包括当前进程的访问方式(核心态、用包括当前进程的访问方式(核心态、用户态)中断优先级,中断或陷入前的访户态)中断优先级,中断或陷入前的访问方式。问方式。指向核心栈或用户栈中下一项的当前地指向核心栈或用户栈中下一项的当前地址。址。1 1、寄存器上、下文、寄存器上、下文 又称硬件关联又称硬件关联 (Hardware ContextHardware Context),),存放进程状态变化存放进程状态变化时进
39、程运行所对应的各寄存器的值。时进程运行所对应的各寄存器的值。12/21/2022382.4 2.4 UNIXUNIX系统中的进程系统中的进程(七)(七)进程的用户栈是进程在用户态下的工作区。进程的用户栈是进程在用户态下的工作区。进程的核心栈是进程在核心态下的工作区。进程的核心栈是进程在核心态下的工作区。栈在函数调用时用于传递参数、保护现场、存放返回栈在函数调用时用于传递参数、保护现场、存放返回地址及为局部变量提供存储区。核心栈还用于保护中地址及为局部变量提供存储区。核心栈还用于保护中断现场。断现场。存放进程在运行过程中所产生的数据。存放进程在运行过程中所产生的数据。如如 R0、R1 用于系统进
40、程与用户进程间传递参数。用于系统进程与用户进程间传递参数。存放存放CPU正常执行的下一条指令的虚地址。正常执行的下一条指令的虚地址。包括当前进程的访问方式(核心态、用户态)包括当前进程的访问方式(核心态、用户态)中断优先级,中断或陷入前的访问方式。中断优先级,中断或陷入前的访问方式。指向核心栈或用户栈中下一项的当前地址。指向核心栈或用户栈中下一项的当前地址。1 1、寄存器上、下文、寄存器上、下文 又称硬件关联又称硬件关联 (Hardware ContextHardware Context),),存放进程状态变化存放进程状态变化时进程运行所对应的各寄存器的值。时进程运行所对应的各寄存器的值。12
41、/21/2022392.4 2.4 UNIXUNIX系统中的进程系统中的进程(八)(八)2 2。用户级上、下文。用户级上、下文 用户级上、下文对应于进程的程序空间。由用户进程用户级上、下文对应于进程的程序空间。由用户进程的正文(程序)、用户数据、用户栈和共享存储区组成。的正文(程序)、用户数据、用户栈和共享存储区组成。3 3。系统级上、下文。系统级上、下文 是是 OS OS 对进程管理的信息,分为两部分:对进程管理的信息,分为两部分:1 1)静态部分)静态部分 *进程表项(进程表项(PROCPROC结构)结构)记录进程的状态及有关控制记录进程的状态及有关控制 信息,每个进程占一个表项。信息,每
42、个进程占一个表项。*U U区(区(USERUSER结构)结构)进程的私有信息。进程的私有信息。*系统区表、进程区表、页表系统区表、进程区表、页表 实现虚地址到实地址的实现虚地址到实地址的 映射。映射。2 2)动态部分)动态部分 系统级上、下文动态部分与寄存器上、下文相关联。系统级上、下文动态部分与寄存器上、下文相关联。*核心栈核心栈 是进程在核心态下执行时使用的栈。是进程在核心态下执行时使用的栈。*分层寄存器上、下文。分层寄存器上、下文。12/21/202240 进程是操作系统最重要,最基本的概念之一,它进程是操作系统最重要,最基本的概念之一,它进程是操作系统最重要,最基本的概念之一,它进程是
43、操作系统最重要,最基本的概念之一,它是可并发执行的程序在给定数据集合上的一次执行过是可并发执行的程序在给定数据集合上的一次执行过是可并发执行的程序在给定数据集合上的一次执行过是可并发执行的程序在给定数据集合上的一次执行过程,是系统分配资源和调度的一个独立的基本单位和程,是系统分配资源和调度的一个独立的基本单位和程,是系统分配资源和调度的一个独立的基本单位和程,是系统分配资源和调度的一个独立的基本单位和实体。实体。实体。实体。PCBPCBPCBPCB块是进程存在的唯一标志。块是进程存在的唯一标志。块是进程存在的唯一标志。块是进程存在的唯一标志。进程具有动态性、并发性、独立性及异步性等基进程具有动
44、态性、并发性、独立性及异步性等基进程具有动态性、并发性、独立性及异步性等基进程具有动态性、并发性、独立性及异步性等基本特征。动态性反映在进程从创建到撤消的生命期。本特征。动态性反映在进程从创建到撤消的生命期。本特征。动态性反映在进程从创建到撤消的生命期。本特征。动态性反映在进程从创建到撤消的生命期。对进程生命期的各种活动、状态的转变及控制,由构对进程生命期的各种活动、状态的转变及控制,由构对进程生命期的各种活动、状态的转变及控制,由构对进程生命期的各种活动、状态的转变及控制,由构成操作系统内核的各种原语实现。进程的并发性反映成操作系统内核的各种原语实现。进程的并发性反映成操作系统内核的各种原语实现。进程的并发性反映成操作系统内核的各种原语实现。进程的并发性反映在对资源的竟争而产生的相互约束上。在对资源的竟争而产生的相互约束上。在对资源的竟争而产生的相互约束上。在对资源的竟争而产生的相互约束上。进程概念小结进程概念小结12/21/202241