操作系统第二章进程的描述与控制2016-9_第1页
操作系统第二章进程的描述与控制2016-9_第2页
操作系统第二章进程的描述与控制2016-9_第3页
操作系统第二章进程的描述与控制2016-9_第4页
操作系统第二章进程的描述与控制2016-9_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 进程进程是操作系统最重要,是操作系统最重要,最基本的概念之一,这个概念最基本的概念之一,这个概念对操作系统的理解,描述和设对操作系统的理解,描述和设计都具有极其重要的意义。计都具有极其重要的意义。1.4 1.4 操作系统的特征(一)操作系统的特征(一) 为了实现以上功能,操作系统应该具有以下基为了实现以上功能,操作系统应该具有以下基本特征:本特征: 并发性(并发性(Concurrence)共享性(共享性(Sharing)虚拟性(虚拟性(Virtual)异步性(异步性(Asynchronism)问题问题某个瞬时,有多少道程序在某个瞬时,有多少道程序在CPU上运行。上运行。1.4 1.4

2、操作系统的特征(二)操作系统的特征(二)一、并发性(一、并发性(ConcurrenceConcurrence) 在多道程序环境下,并发性是指在一段时间在多道程序环境下,并发性是指在一段时间内,宏观上有多道内,宏观上有多道“程序程序”同时运行。同时运行。 显然,在微观上,多道程序只能交替执行。显然,在微观上,多道程序只能交替执行。 必须指出,多个程序是不能并发执行的,只必须指出,多个程序是不能并发执行的,只有建立有建立 进程。进程是操作系统中一个极其重要而进程。进程是操作系统中一个极其重要而抽象的概念。抽象的概念。 并发性有效地改善了系统资源的利用率,提高并发性有效地改善了系统资源的利用率,提高

3、系统的吞吐量。当然,也使操作系统的实现变得系统的吞吐量。当然,也使操作系统的实现变得复杂。复杂。进程进程1.4 1.4 操作系统的特征(三)操作系统的特征(三) 二、共享性(二、共享性(Sharing) 是指多个进程共同使用有限的资源。分为两种方是指多个进程共同使用有限的资源。分为两种方式:式:互斥访问互斥访问 一段时间内只允许一个进程访问该资一段时间内只允许一个进程访问该资源。只有该进程释放资源后,其他进程才能访问。源。只有该进程释放资源后,其他进程才能访问。该资源称为临界资源。该资源称为临界资源。同时访问同时访问 在宏观上,允许多个进程在宏观上,允许多个进程“同时同时” 访问某个资源访问某

4、个资源。磁盘磁盘打印机打印机1.4 1.4 操作系统的特征(四)操作系统的特征(四)三、虚拟性(三、虚拟性(Virtual) 虚拟是操作系统的奇妙的功能,是指通过某虚拟是操作系统的奇妙的功能,是指通过某种技术把一个物理设备变成逻辑上的多个。种技术把一个物理设备变成逻辑上的多个。例如:例如:分时系统中,将一个物理分时系统中,将一个物理CPU虚拟为多个。虚拟为多个。虚拟存储管理,将一个统一编址的物理存储器虚拟存储管理,将一个统一编址的物理存储器变为多个逻辑上独立编址的存储器等。变为多个逻辑上独立编址的存储器等。1.4 1.4 操作系统的特征(五)操作系统的特征(五)四、异步性(四、异步性(Asyn

5、chronismAsynchronism) 也称为不确定性(也称为不确定性(NondeterministicNondeterministic),指),指在多道程序环境下,各进程交错执行,在多道程序环境下,各进程交错执行,“走走停走走停停停”,各进程的执行时间和执行顺序是不确定的。,各进程的执行时间和执行顺序是不确定的。 即进程是以异步方式执行的。即进程是以异步方式执行的。 并发、共享是操作系统最基本的特征,资源共并发、共享是操作系统最基本的特征,资源共享是进程并发执行的必然结果,同时只有对资源实享是进程并发执行的必然结果,同时只有对资源实施有效管理,才能实现和保证进程的并发执行。施有效管理,才

6、能实现和保证进程的并发执行。本章讨论的主要问题本章讨论的主要问题1 1、什么是进程?为什么要引入进程?、什么是进程?为什么要引入进程?2 2、如何描述进程?、如何描述进程?3 3、进程具哪些状态?、进程具哪些状态? 这些状态之间如何进行转换?这些状态之间如何进行转换?4 4、如何控制进程状态的转换?、如何控制进程状态的转换?2.1 2.1 程序的执行与特征程序的执行与特征 ( (一)一)一一 、程序的顺序执行及特征、程序的顺序执行及特征如:有三条语句:如:有三条语句: s1s1: a a:=x+y=x+y s2 s2: b b:=a-5=a-5 s3 s3: c c:=b+1 =b+1 程序顺

7、序执行的特征程序顺序执行的特征 :执行顺序用有向图表示执行顺序用有向图表示:s1s2s31.1.顺序性顺序性: : 处理机操作严格按照程序所规定的顺序执行。处理机操作严格按照程序所规定的顺序执行。2.2.封闭性:封闭性: 程序独占资源,除初始状态外,只有程序本程序独占资源,除初始状态外,只有程序本身规定的操作才能够改变资源状况,即程序在封闭环境下身规定的操作才能够改变资源状况,即程序在封闭环境下运行。运行。3.3.可再现性可再现性: : 程序的运行结果与它执行的速度无关。程序的运行结果与它执行的速度无关。 一个具有独立功能的程序独占一个具有独立功能的程序独占CPUCPU直到完成的过程称直到完成

8、的过程称为程序的顺序执行为程序的顺序执行。2.1 2.1 程序的执行与特征程序的执行与特征 (二二) 1. 前趋图前趋图 (Precedence Graph) 用前趋图来描述并发执行的程序的特征。用前趋图来描述并发执行的程序的特征。 前趋图前趋图 DAG(Directed Acyclic Graph) 结结 点点表示一条语句,一段程序或进程。表示一条语句,一段程序或进程。 有向边有向边表示两结点间的偏序或前趋关系。表示两结点间的偏序或前趋关系。 前趋定义:前趋定义: (Pi , Pj) 记为:记为: Pi Pj 二、二、 程序的并发执行及特征程序的并发执行及特征 其中:其中: P Pi 称为称

9、为Pj的直接前趋。的直接前趋。 2. 2. 程序的并发执行程序的并发执行 程序的并发执行是指在逻辑上相互独立的一组程程序的并发执行是指在逻辑上相互独立的一组程序在执行时间上的相互重叠,即一个程序段的执行尚未序在执行时间上的相互重叠,即一个程序段的执行尚未结束,另一程序段的执行已经开始。结束,另一程序段的执行已经开始。 Pi Pj2 2、程序的并发执行、程序的并发执行例:有三类程序并发执行:例:有三类程序并发执行: I Ii i输入程序输入程序 C Ci i计算程序计算程序 P Pi i打印程序打印程序I1I2I3I4C1C2C3C4P1P2P3P4Ii Ci Pi Ii Ci Ci Pi前趋关

10、系:前趋关系:P i -1,Ci ,I i +1 可可并发执行。并发执行。2.1 2.1 程序的执行与特征程序的执行与特征 (三)(三)Ii I i+1Ci Ci+1Pi Pi+1 程序的顺序执行与程序的并发执行有那程序的顺序执行与程序的并发执行有那些不同的特征?些不同的特征? 执行过程中可能有多个程序同时申请同一资源,带来了执行过程中可能有多个程序同时申请同一资源,带来了资源的动态分配。多道程序共享资源共同决定和影响资源的资源的动态分配。多道程序共享资源共同决定和影响资源的状态。因此,并发程序的执行结果与其执行的相对速度有关。状态。因此,并发程序的执行结果与其执行的相对速度有关。(1) (1

11、) 并发执行的程序间相互约束,相互依赖并发执行的程序间相互约束,相互依赖 显然,程序的并发执行与程序的顺序执行具有显然,程序的并发执行与程序的顺序执行具有完全不同完全不同的的特征,主要表现在:特征,主要表现在: 各并发执行的程序各并发执行的程序共享资源共享资源,使本来并无逻辑关系的程,使本来并无逻辑关系的程序之间产生了序之间产生了相互制约相互制约的关系。而需要相互通信共同协作完的关系。而需要相互通信共同协作完成同一任务的程序之间成同一任务的程序之间相互依赖相互依赖又相互制约。使各道程序走又相互制约。使各道程序走走停停,走停停,动态执行动态执行。(2) (2) 对系统资源争夺与共享对系统资源争夺

12、与共享3 3、程序并发执行的特征、程序并发执行的特征 2.1 2.1 程序的执行与特征程序的执行与特征 (五)(五) 不可再现性是程序不可再现性是程序并发并发执行时的间断性及失去封闭性执行时的间断性及失去封闭性的必然结果,即程序的执行结果与其执行速度有关。的必然结果,即程序的执行结果与其执行速度有关。 例:例: 程序程序A A 程序程序B B . . . . . . . . N :=N+1 PRINT(N) N :=N+1 PRINT(N) . N :=0 . N :=0 . . . . . . . .3 3、程序并发执行的特征、程序并发执行的特征(1 1)执行顺序:()执行顺序:(a a),

13、(),(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) 本节讨论关于进程的基本概念:本节讨论关于进程的基本概念: 进程的定义 进程的特征 进程的状态 进程控制块 进程是可并发执行的程序在给定数据集合进程是可并发执行的程序在给定数据集合上的一次上的一次执行过程执行过程,是系统进行资源,是系

14、统进行资源分配和调分配和调度的度的一个独立的一个独立的基本单位基本单位和实体和实体,是执行一个,是执行一个映象程序的映象程序的总环境总环境,是一个,是一个动态的概念动态的概念。 一一. .进程的定义进程的定义 进程的引入是为了更好地描述程序并发执行的进程的引入是为了更好地描述程序并发执行的动态特征。动态特征。 1.1.定义定义进程进程是执行程序的动态过程是执行程序的动态过程动态概念动态概念。程序是进程运行的静态文本程序是进程运行的静态文本静态概念。静态概念。一个一个进程进程可以执行一个或多个程序。可以执行一个或多个程序。一个程序可以被多个一个程序可以被多个进程进程执行。执行。程序可以作为一种资

15、源以文件的形式长期保存。程序可以作为一种资源以文件的形式长期保存。进程进程只是一次执行过程,具有只是一次执行过程,具有生命期生命期。2. 2. 进程与程序的区别、联系进程与程序的区别、联系 进程是程序的一次执进程是程序的一次执行过程行过程, ,具有生命期;它具有生命期;它可以由系统创建并独立地可以由系统创建并独立地执行,直至完成而被撤消。执行,直至完成而被撤消。 进程是可以并发执行进程是可以并发执行的基本单位,从宏观上看,的基本单位,从宏观上看,它们可以它们可以“同时同时”执行。执行。由于共享资源,进程间相由于共享资源,进程间相互约束,相互依赖。互约束,相互依赖。动态性并发性独立性异步性 各个

16、进程之间相互独各个进程之间相互独立,是系统分配资源和能立,是系统分配资源和能够被处理机调度的基本单够被处理机调度的基本单位。位。 各个进程按照各自独立各个进程按照各自独立的、不可预知的速度异步的、不可预知的速度异步向前推进。即进程按异步向前推进。即进程按异步方式执行。方式执行。二二.、进程的特征、进程的特征1、 三种基本状态:三种基本状态: 执行状态执行状态 (Executing) 就绪状态就绪状态 (Ready) 阻塞状态阻塞状态 (Blocked)或等待()或等待(Wait) 阻塞阻塞状态状态就绪就绪状态状态执行执行状态状态调度调度I/O请求请求进程进程释放释放时间时间片到片到新状态新状态

17、结束结束后备队列后备队列新状态新状态结束状态结束状态三、进程的基本状态三、进程的基本状态2 2、进程状态的细化、进程状态的细化 挂起状态挂起状态(SuspendSuspend):): 对正在执行的进程,则停止执行。对正在执行的进程,则停止执行。 对就绪状态的进程,对就绪状态的进程,则停止调度,并回收资源。则停止调度,并回收资源。 对阻塞状态的进程,对阻塞状态的进程,则停止条件的发生。则停止条件的发生。 称被挂起的进程是称被挂起的进程是静止的静止的 静止就绪(静止就绪(Readys)静止静止阻塞(阻塞(Blockeds)称未被挂起的进程是称未被挂起的进程是活动的活动的活动就绪(活动就绪(Read

18、ya)活动活动阻塞(阻塞(Blockeda) 将进程将进程挂起的原因挂起的原因: 1 1。系统工作负荷达到高峰,调整负荷,使系统正常运行。系统工作负荷达到高峰,调整负荷,使系统正常运行。 2 2。人为挂起,停止某进程执行,以便研究分析。人为挂起,停止某进程执行,以便研究分析。 3 3。系统需要,如系统故障,系统检测需要。系统需要,如系统故障,系统检测需要。3 3、细化的进程状态图细化的进程状态图活动活动阻塞阻塞执行执行状态状态活动活动就绪就绪静止静止就绪就绪静止静止阻塞阻塞调度调度释放释放I/O请求请求激活激活激活激活挂起挂起挂起挂起挂起挂起释放释放 1 1、进程的描述、进程的描述 对进程的描

19、述应该反映进程的存在及其变化,反映进程的对进程的描述应该反映进程的存在及其变化,反映进程的动态特性。动态特性。进程进程由由程序程序,相应的,相应的数据集合,进程控制块数据集合,进程控制块三部三部分组成。分组成。进程的程序进程的程序 静态文本,描述进程所要完成的功能。静态文本,描述进程所要完成的功能。数数 据据 集集 合合 程序运行时所需的数据和工作区。程序运行时所需的数据和工作区。 动态描述动态描述 进程控制块进程控制块PCB(Process Control Block)记录和描述记录和描述进程的动态特性,描述进程的执行情况和状态变化。进程的动态特性,描述进程的执行情况和状态变化。四、进程控制

20、块四、进程控制块 外部标识信息外部标识信息 内部标识信息内部标识信息 进程家族标识进程家族标识通用寄存器通用寄存器 指令计数器指令计数器 程序状态字(程序状态字(PSWPSW)用户栈指针)用户栈指针进程调度信息进程调度信息 进程状态进程状态 进程优先级进程优先级 其他调度信息其他调度信息 等待事件等待事件进程控制信息进程控制信息 程序数据地址程序数据地址 进程同步及通信进程同步及通信 资源清单资源清单 链接指针链接指针2 2、PCB 块包含的信息块包含的信息程序状态字寄存器程序状态字寄存器(1)(1) 程序状态字PSW(Program Status Word) PSW用来控制指令执行顺序并保留

21、和指示与程序有关的系统状态,主要作用是实现程序状态的保护和恢复 每个程序都有一个与其执行相关的PSW,每个处理器都设置一个PSW寄存器。 程序占有处理器执行,它的PSW将占有PSW寄存器 程序状态字寄存器程序状态字寄存器(2)(2) PSW寄存器包括以下内容: 程序基本状态: (1) 程序计数器; (2) 条件码; (3)处理器状态位。 中断码。保存程序执行时当前发生的中断事件。 中断屏蔽位。指明程序执行中发生中断事件时,是否响应出现的中断事件。 IBM360/370系列计算机程序状态字的基本格式 XX X X XXXX X X XXXXXX8位系统屏蔽4位CMWP字段4位程序屏蔽4位保护键1

22、6位中断码字段指令长和条件码24位指令地址 不同操作系统,不同操作系统,PCBPCB所包含的信息类型及数量可能有所包含的信息类型及数量可能有所不同,但一般包括两类信息。所不同,但一般包括两类信息。1)调度信息调度信息 描述进程的当前状况,供进程调度使用。描述进程的当前状况,供进程调度使用。 2)现场信息现场信息 刻划了进程运行的情况;记录在进程运刻划了进程运行的情况;记录在进程运行过程中会改变的信息,以便进程中断后,再次被调度行过程中会改变的信息,以便进程中断后,再次被调度时能够继续运行。时能够继续运行。 PCB 块块是一个进程存在的唯一标志是一个进程存在的唯一标志 ,当系统创建,当系统创建一

23、个进程时,为该进程设置一个一个进程时,为该进程设置一个 PCBPCB,再利用,再利用PCBPCB对进程对进程进行控制和管理。当进程撤消时,系统回收它的进行控制和管理。当进程撤消时,系统回收它的PCB。3 3、 PCBPCB块的组织方式块的组织方式 链接方式链接方式 链接成各种就绪,阻塞及空白等各种队列。链接成各种就绪,阻塞及空白等各种队列。 索引方式索引方式 建立不同状态的索引表。建立不同状态的索引表。3. 进程控制块的组织方式进程控制块的组织方式 1) 链接方式 图 2-7 PCB链接队列示意图 PCB14PCB2PCB3PCB4PCB5PCB6PCB7PCB8PCB93087901执 行

24、指 针就 绪 队 列 指 针阻 塞 队 列 指 针空 闲 队 列 指 针2) 索引方式 图 2-8 按索引方式组织PCB 执行指针就绪索引表PCB1PCB2PCB3PCB4PCB5PCB6PCB7阻塞索引表就绪表指针阻塞表指针 操作系统中,为了防止用户进程对操作系统中,为了防止用户进程对OSOS及及PCBPCB等关键信息等关键信息的破坏。的破坏。 一个进程在其生命期中有两种机器运行状态:一个进程在其生命期中有两种机器运行状态: 系统态系统态 (核心态(核心态, ,管态)管态) 具有较高的访问权,可访具有较高的访问权,可访 问核心模块。问核心模块。 用户态用户态 (目态(目态 ) 限制访问权。限

25、制访问权。 是机器指令的延伸,是非进程模块是机器指令的延伸,是非进程模块, ,不能并发执行。不能并发执行。 执行过程不可中断,用微代码实现。执行过程不可中断,用微代码实现。2、原、原 语(语(primitive)1 1、进程运行状态、进程运行状态 内核是内核是OSOS的控制和协调中心,由它组织,启动的控制和协调中心,由它组织,启动和协调系统中各种活动。通常由各种原语构成。和协调系统中各种活动。通常由各种原语构成。 内核是内核是OSOS中最重要最核心的部分。中最重要最核心的部分。OSOS的内核紧的内核紧靠硬件,由那些使用频率高,与硬件紧密相关的靠硬件,由那些使用频率高,与硬件紧密相关的模块构成;

26、如中断处理程序,设备驱动程序等。模块构成;如中断处理程序,设备驱动程序等。 二二. .内核的功能内核的功能 1 1)中断处理)中断处理 中断是中断是OSOS内核最重要的功能之一。系统中的所有中断内核最重要的功能之一。系统中的所有中断 都由内核响应。中断是进程并发执行的基础,都由内核响应。中断是进程并发执行的基础, OSOS是由中断是由中断驱动的。驱动的。2 2)原语操作)原语操作 原语操作包括涉及原语操作包括涉及CPUCPU管理,管理,进程进程管理,管理,存储存储管理,管理,设备设备管理,管理,文件文件管理以及起支撑功能的系统管理以及起支撑功能的系统统计统计和和监测监测的的各种各种基本操作。基

27、本操作。3) 3) 时钟管理时钟管理 OSOS的许多重要操作,如:按时间片轮转调度,实时系统的许多重要操作,如:按时间片轮转调度,实时系统中的截止时间控制等,都依赖于时钟管理。中的截止时间控制等,都依赖于时钟管理。操作系统的内核 Linux单内核结构 用 户态 系统库(函数库)应用程序 系统调用接口 模块内核(进程管理、存储管理、文件管理、设备管理、网络管理) 设备 驱动 计算机硬件核 心态单 内核操作系统提供的用户接口 UNIX/Linux系统程序、库函数、系统调用分层关系 用户 操作系统(进程管理、存储管理、文件管理、设备管理等) 标准库函数(打开、关闭、读、写、创建、撤销等) 标准系统程

28、序(实用程序)(汇编、编译、编辑、Shell等)用户接口库函数接口系统调用接口 硬件 (处理器、存储器、磁盘、打印机、终端等)用户态核心态操作系统提供的程序接口应用程序、库函数、系统调用的调用关系链调用fprintf( )应用程序C函数库内核系统调用处理程序C库中的fprintf( )封装程序C库中的write( ) 封装程序用户态核心态 sys_write( )内核函数2.3 2.3 进程控制进程控制 (五)(五)创建原语创建原语 createcreate()() 撤消撤消原语原语 destroydestroy()() 阻塞原语阻塞原语 blockblock()()唤醒唤醒原语原语 wake

29、upwakeup()()挂起原语挂起原语 suspendsuspend()()激活原语激活原语 activeactive()()三三 . . 进程控制原语进程控制原语1. 引起创建进程的事件引起创建进程的事件 用户登录。 (2) 作业调度。 (3) 提供服务。 (4) 应用请求。 2.2 进进 程程 控控 制制 创建进程有两种方式:由系统程序模块创建,创建进程有两种方式:由系统程序模块创建,或由父进程创建。或由父进程创建。 算法步骤:算法步骤: 1. 1. 向向PCBPCB集合申请一个空闲的集合申请一个空闲的PCBPCB,并获取其,并获取其内部标识;内部标识; 2. 2. 将有关信息填入将有关

30、信息填入PCBPCB; 3. 3. 将该进程置为就绪状态,并插入就绪队列。将该进程置为就绪状态,并插入就绪队列。创建原语创建原语 createcreate()() 对进程的控制一般通过原语操作实现对进程的控制一般通过原语操作实现。2.2 进进 程程 控控 制制 进程的创建进程的创建 进程图(Process Graph) 图 进程树 DEFGHBCIJKLMA创建原语创建原语 (create)(create)查查PCB集集有空有空PCBN 创建失败创建失败Y取空表取空表PCB(i)将参数填入将参数填入PCB(i)将将PCB(i)插入就绪队列)插入就绪队列 引起进程终止的事件引起进程终止的事件 1

31、) 正常结束正常结束 2) 异常结束异常结束 越界错误 保护错 非法指令 特权指令错 运行超时 等待超时 算术运算错 I/O故障 3) 外界干预外界干预 操作员或操作系统干预。 父进程请求 父进程终止 算法步骤:算法步骤: 1. 1. 根据外部标识检索根据外部标识检索PCBPCB集,找到要撤消的集,找到要撤消的PCBPCB; 2. 2. 从队列中撤消该进程从队列中撤消该进程 及其子孙进程,通常在及其子孙进程,通常在一个递归过程中实现;一个递归过程中实现; 3. 3. 释放被撤消进程所占有的资源,撤消进程控制释放被撤消进程所占有的资源,撤消进程控制块。块。撤消撤消原语原语 destroydest

32、roy()() 当进程完成或产生异常中断时,应立即撤消,当进程完成或产生异常中断时,应立即撤消,并释放其所有资源并释放其所有资源。撤消原语撤消原语 ( (destroydestroy)查查PCB集和进程家族集和进程家族有此有此PCB?N 出错处理出错处理Y释放进程所占资源释放进程所占资源释放释放PCB(i)结构)结构该该PCB有子进程?有子进程?YN进程的阻塞与唤醒进程的阻塞与唤醒引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件 请求系统服务 2) 启动某种操作 3) 新数据尚未到达 4) 无新工作可做 2.3 进程控制进程控制 (五)(五) 进程在执行过程中,需要等待某些条件发生时,由进程在

33、执行过程中,需要等待某些条件发生时,由该进程调用阻塞原语把进程从执行状态转换为阻塞状态。该进程调用阻塞原语把进程从执行状态转换为阻塞状态。 算法步骤:算法步骤:中断中断CPUCPU执行,将执行,将CPUCPU的当前状态保存到的当前状态保存到PCBPCB的现场信息。的现场信息。 2. 2. 将进程的当前状态置为阻塞状态;将进程的当前状态置为阻塞状态;3. 3. 将进程的将进程的PCBPCB插入到该事件的阻塞队列中。插入到该事件的阻塞队列中。 阻塞原语阻塞原语 blockblock()()2.3 进程控制进程控制 (五)(五) 算法步骤:算法步骤: 1. 1. 在等待队列中找到该进程,将其在等待队

34、列中找到该进程,将其P P的当前状态置的当前状态置为就绪;为就绪; 2. 2. 将进程从等待队列中撤消,并插入到就绪队列中。将进程从等待队列中撤消,并插入到就绪队列中。唤醒唤醒原语原语 wakeupwakeup()() 当处于阻塞状态的进程所等待的事件发生后,使用唤当处于阻塞状态的进程所等待的事件发生后,使用唤醒原语将进程从等待状态转换为就绪状态。醒原语将进程从等待状态转换为就绪状态。2.3 进程控制进程控制 (六)(六) 进程在执行过程中,根据用户或系统的某种需要,进程在执行过程中,根据用户或系统的某种需要,调用挂起原语将进程从活动状态转换为静止状态。调用挂起原语将进程从活动状态转换为静止状

35、态。 算法步骤:算法步骤: 1. 1. 根据外部标识检索根据外部标识检索PCBPCB集,找到要挂起的集,找到要挂起的PCBPCB块;块; 2. 2. 检查被挂进程的当前状态:检查被挂进程的当前状态: 执执 行行 态态 静止就绪,并转调度程序,重新调度。静止就绪,并转调度程序,重新调度。 活动就绪活动就绪 静止就绪静止就绪 活动阻塞活动阻塞 静止阻塞静止阻塞挂起原语挂起原语 suspendsuspend()()2.3 进程控制进程控制 (六)(六) 算法步骤:算法步骤: 1. 1. 检查被挂进程的当前状态:检查被挂进程的当前状态: 2. 2. 将进程从相应的静止状态将进程从相应的静止状态 活动状

36、态。活动状态。激活原语激活原语 activeactive()() 当处于静止状态的进程所等待的激活事件发生后,当处于静止状态的进程所等待的激活事件发生后,使用激活原语将进程从静止状态转换为活动状态。使用激活原语将进程从静止状态转换为活动状态。 一一. . UNIXUNIX系统的核心结构系统的核心结构 UNIXUNIX系统分为三个层次:系统分为三个层次:核心、用户接口及实用程序、核心、用户接口及实用程序、应用程序。应用程序。2.4 UNIX2.4 UNIX系统中的进程系统中的进程(一)(一) UNIXUNIX核心核心 : 包括四大资源管理功能。由以下部分组成:包括四大资源管理功能。由以下部分组成

37、:1 1、进程控制子系统进程控制子系统 负责处理机管理和存储管理,包括进程控制、进程负责处理机管理和存储管理,包括进程控制、进程通信、进程调度及段页式存储管理。通信、进程调度及段页式存储管理。2 2、文件子系统文件子系统 将慢速外设备看作广义的文件。文件子系统功能包括:将慢速外设备看作广义的文件。文件子系统功能包括:文件管理、高速缓冲机制及设备驱动。文件管理、高速缓冲机制及设备驱动。3 3、两个接口、两个接口 核心与硬件的接口核心与硬件的接口 (一组驱动程序,基本例程)(一组驱动程序,基本例程) 核心与核心与SHELLSHELL的接口(系统调用,命令解释程序)的接口(系统调用,命令解释程序)2

38、.4 UNIX2.4 UNIX系统中的进程系统中的进程(二)(二)3 3。两个接口。两个接口 核心与硬件的接口核心与硬件的接口 (一组驱动程序,基本例程)(一组驱动程序,基本例程) 核心与核心与SHELLSHELL的接口的接口 (系统调用,命令解释程序)(系统调用,命令解释程序)文件子系统文件子系统进程控制子系统进程控制子系统系统调用接口系统调用接口硬硬 件件硬件控制硬件控制用户程序用户程序核核心心级级用户级用户级硬件级硬件级2.4 UNIX2.4 UNIX系统中的进程系统中的进程(三)(三)PCBPCB 块数据结构块数据结构 1 1。进程表项(。进程表项(PROCPROC结构):核心数据。结

39、构):核心数据。 2。U区(区(USER结构)结构) : PROCPROC的扩充数据。的扩充数据。 3 3。系统区表项。系统区表项 :段在物理存储器的位置等信息。:段在物理存储器的位置等信息。 4 4。本进程区表。本进程区表 :本段起始虚地址,指向系统区表中:本段起始虚地址,指向系统区表中 的本进程区表项的指针。的本进程区表项的指针。2.4 2.4 UNIXUNIX系统中的进程系统中的进程(四)(四)进程的唯一标识。进程的唯一标识。拥有该进程的用户标识。拥有该进程的用户标识。记录该进程的当前状态(九种)。记录该进程的当前状态(九种)。记录使该进程进入睡眠状态的事件。记录使该进程进入睡眠状态的事

40、件。进程及进程及U U区在内存或外存的位置。区在内存或外存的位置。记录其它进程发来的软中断信号。记录其它进程发来的软中断信号。进程执行时间及对资源的利用情况。进程执行时间及对资源的利用情况。用于内存分配。用于内存分配。设置进程动态优先级。设置进程动态优先级。指向指向U U区进程正文、数据及栈在内存区区进程正文、数据及栈在内存区域的指针。域的指针。 1. 1. 进程表项(进程表项(PROCPROC结构)结构) 包括进程最常用的基本控制信息,常驻内存。包括进程最常用的基本控制信息,常驻内存。进程标识符进程标识符PID用户标识符用户标识符UID进程状态进程状态事件描述符事件描述符进程及进程及U区位置

41、区位置软中断信号软中断信号计时域计时域进程大小进程大小偏置值偏置值指向指向U区内存区域区内存区域的指针的指针二、二、 PCB PCB 块的数据结构块的数据结构2.4 2.4 UNIXUNIX系统中的进程系统中的进程(五)(五)指向当前执行进程的进程表项。指向当前执行进程的进程表项。(real user IDreal user ID)由超级用户分配的户标)由超级用户分配的户标 识符,用于用户登录验证。识符,用于用户登录验证。(effective user IDeffective user ID)一般同上,可由)一般同上,可由系统调用改变。系统调用改变。记录该进程已打开的所有文件。记录该进程已打开

42、的所有文件。记录当前根及当前目录。记录当前根及当前目录。对进程大小及读、写文件字节数,方式对进程大小及读、写文件字节数,方式 及缓冲区大小等的限制。及缓冲区大小等的限制。记录进程(及其子进程)在核心态和用户记录进程(及其子进程)在核心态和用户态执行所用时间。态执行所用时间。记录系统调用过程中的错误。记录系统调用过程中的错误。标识出该标识出该user user 结构所对应的结构所对应的 procproc结构。结构。 USERUSER结构所包含的信息只有在进程运行时才使用,不一定结构所包含的信息只有在进程运行时才使用,不一定调入内存。调入内存。2、U区(区(USER结构)结构)进程表项指针进程表项

43、指针真正用户标识符真正用户标识符U URUIDRUID有效用户标识符有效用户标识符U UEUIDEUID文件描述表文件描述表文件运行环境文件运行环境限制字段限制字段计时器计时器出错字段出错字段指向指向U U区内存区域区内存区域的指针的指针2.4 2.4 UNIXUNIX系统中的进程系统中的进程(六)(六) UNIXUNIX系统中采用段页式储存管理,为了把虚地址映射到系统中采用段页式储存管理,为了把虚地址映射到实际的物理地址,定义了两个表:进程区表,系统区表。实际的物理地址,定义了两个表:进程区表,系统区表。 储存管理是进程并发执行的基础,因此,储存管理是进程并发执行的基础,因此,PCBPCB中

44、也定义了中也定义了有关储存管理的字段:有关储存管理的字段: 3 3。系统区表项。系统区表项 4 4。本进程区表。本进程区表三、进程的上、下文三、进程的上、下文 进程是一个进程映象(进程是一个进程映象(Process ImageProcess Image)的执行过程,)的执行过程,各进程并发执行,各进程并发执行,OSOS经常需要把控制从一个现行执行的进经常需要把控制从一个现行执行的进程转换到另一个进程,这个操作称为程转换到另一个进程,这个操作称为“关联转换关联转换”,或,或“上、下文转换上、下文转换”(contextcontext)。)。 进程上、下文是对进程执行活动全过程的描述。进程进程上、下

45、文是对进程执行活动全过程的描述。进程上、下文包括:上、下文包括: 寄存器上、下文寄存器上、下文, 系统级上、下文系统级上、下文, 用户级上、下文用户级上、下文。2.4 2.4 UNIXUNIX系统中的进程(七)系统中的进程(七) 存放进程在运行过程中所产生的数据。存放进程在运行过程中所产生的数据。 如如R0R0、R1 R1 用于系统进程与用户进程间用于系统进程与用户进程间传递参数。传递参数。 存放存放CPUCPU正常执行的下一条指令的虚地正常执行的下一条指令的虚地址。址。 包括当前进程的访问方式(核心态、用包括当前进程的访问方式(核心态、用户态)中断优先级,中断或陷入前的访户态)中断优先级,中断或陷入前的访问方式。问方式。 指向核心栈或用户栈中下一项的当前地指向核心栈或用户栈中下一项的当前地址。址。1 1、寄存器上、下文、寄存器上、下文 又称硬件关联又称硬件关联 (Hardware ContextHardware Context),存放进程状态变化),存放进程状态变化时进程运行所对应的各寄存器的值。时进程运行所对应的各寄存器的值。通用寄存器通用寄存器程序寄存器程序寄存器(计数器(计数器PCPC)处理机状态寄存器处理机状态寄存器(状态字(状态字PSWPSW)堆栈指针堆栈指针2.4 2.4 UNIXUNIX系统中的进程系统中的进程(七)(七)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论