第3章进程管理.ppt
《第3章进程管理.ppt》由会员分享,可在线阅读,更多相关《第3章进程管理.ppt(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3 3章章 进程管理进程管理第第3章章 进程管理进程管理3.1引言引言3.2进程的引入和定义进程的引入和定义3.3进程的状态和进程控制块进程的状态和进程控制块3.4进程控制进程控制3.5线程的基本概念线程的基本概念3.6进程调度进程调度3.7进程通信进程通信3.8死锁问题死锁问题开开始始第第3 3章章 进程管理进程管理本章学习目标本章学习目标在在多多道道程程序序环环境境下下,程程序序不不能能独独立立运运行行。作作为为资资源源分分配配和和独独立立运运行行的的基基本本单单位位是是进进程程。操操作作系系统统所所有有的的特特征征都都是是基基于进程而体现的。所以,本章的主要问题是:于进程而体现的。所
2、以,本章的主要问题是:进程的概念进程的概念进程的实体、状态及状态的演变进程的实体、状态及状态的演变进程的控制与调度进程的控制与调度进程之间的关系协调进程之间的关系协调进程的通信进程的通信死锁问题及解决死锁问题及解决返回本章首页返回本章首页第第3 3章章 进程管理进程管理3.1引言引言处理机管理是操作系统的基本管理功能之一,它所关心的处理机管理是操作系统的基本管理功能之一,它所关心的是处理机的分配问题。也就是说把是处理机的分配问题。也就是说把CPU(中央处理机)的中央处理机)的使用权分给某个程序,通常把这个正准备进入内存的程序使用权分给某个程序,通常把这个正准备进入内存的程序称为作业,当这个作业
3、进入内存后我们把它称为进程。处称为作业,当这个作业进入内存后我们把它称为进程。处理机管理分为作业管理和进程管理两个阶段去实现处理机理机管理分为作业管理和进程管理两个阶段去实现处理机的分配,常常又把直接实行处理机时间分配的进程调度工的分配,常常又把直接实行处理机时间分配的进程调度工作作为处理机管理的主要内容。作作为处理机管理的主要内容。进程通常具有三种状态:运行状态(正在使用进程通常具有三种状态:运行状态(正在使用CPU)、)、阻阻塞状态(等待输入塞状态(等待输入/输出)和就绪状态(等待分配输出)和就绪状态(等待分配CPU)。)。返回本章首页返回本章首页第第3 3章章 进程管理进程管理3.2进程
4、的引入和定义进程的引入和定义3.2.1 进程的引入进程的引入3.2.2 进程的定义进程的定义返回本章首页返回本章首页第第3 3章章 进程管理进程管理3.2.1 进程的引入进程的引入1程序的顺序执行及其特性程序的顺序执行及其特性2资源共享资源共享3程序的并发执行及其特性程序的并发执行及其特性 下一页下一页第第3 3章章 进程管理进程管理1程序的顺序执行及其特性程序的顺序执行及其特性 由于各类软件的出现及日益复杂化,使得程序设由于各类软件的出现及日益复杂化,使得程序设计的概念和方法有了很大的发展,在单道程序工计的概念和方法有了很大的发展,在单道程序工作环境中,我们把一个作环境中,我们把一个“程序程
5、序”理解为理解为“一个在一个在时间上按严格次序前后相继的操作序列时间上按严格次序前后相继的操作序列”。下一页下一页第第3 3章章 进程管理进程管理一切顺序执行的程序都具有下列特性:一切顺序执行的程序都具有下列特性:(1)顺序性。)顺序性。(2)资源独占。)资源独占。(3)结果的无关性。)结果的无关性。下一页下一页第第3 3章章 进程管理进程管理2资源共享资源共享 操作系统提供了两种实现资源共享的方法。操作系统提供了两种实现资源共享的方法。(1)由操作系统统一管理和分配。)由操作系统统一管理和分配。(2)由进程自行使用。)由进程自行使用。下一页下一页第第3 3章章 进程管理进程管理3程序的并发执
6、行及其特性程序的并发执行及其特性 无无论论是是操操作作系系统统自自身身的的程程序序还还是是用用户户程程序序,通通常常总总是是存存在在一一些些相相对对独独立立、但但又又能能并并发发执执行行的的程程序序段段。由由于于这这些些程程序序段段可可以以被被多多个个用用户户作作业业调调用用,因因此此可可在在同同一一时时间间间间隔隔内内发发生生。这这样样一一来来,某某个个程程序序段段可可能能对对应应多多个个“计计算算”,于于是是程程序序与与“计计算算”已已不不具具有有一一一一对对应应关关系系了了。这这些些“并并发发程程序序”就构成了一个就构成了一个“并发环境并发环境”。下一页下一页第第3 3章章 进程管理进程
7、管理图3.2 并行计算的先后次序下一页下一页第第3 3章章 进程管理进程管理程序的制约方式有如下两种程序的制约方式有如下两种:(1)间接制约方式。)间接制约方式。这是由于竞争相同资源而引起的,得到资源的程序段可以这是由于竞争相同资源而引起的,得到资源的程序段可以投入运行,而得不到资源的程序段就是暂时等待,直至获投入运行,而得不到资源的程序段就是暂时等待,直至获得可用资源时再继续运行得可用资源时再继续运行。(2)直接制约方式。)直接制约方式。这通常是在那些逻辑上相关的程序段之间发生的。一般是这通常是在那些逻辑上相关的程序段之间发生的。一般是由于各种程序段要求共享信息引起的由于各种程序段要求共享信
8、息引起的。返回本节目录返回本节目录第第3 3章章 进程管理进程管理3.2.2进程的定义进程的定义 进程与程序的区别和相互关系进程与程序的区别和相互关系:(1)动态性和静态性。)动态性和静态性。(2)从结构上看每个进程的实体都是由程序段和相应的数据)从结构上看每个进程的实体都是由程序段和相应的数据段两部分构成的,这一特征与程序的含义相近。段两部分构成的,这一特征与程序的含义相近。(3)一个进程可以涉及到一个或几个程序的执行;反之一程)一个进程可以涉及到一个或几个程序的执行;反之一程序可以对应多个进程,即同一程序段可在不同数据集合上运行,序可以对应多个进程,即同一程序段可在不同数据集合上运行,可构
9、成不同的进程可构成不同的进程。(4)并发性。)并发性。(5)进程具有创建其他进程的功能。)进程具有创建其他进程的功能。(6)操作系统中的每一个程序都是在一个进程现场中运行的。)操作系统中的每一个程序都是在一个进程现场中运行的。返回本节目录返回本节目录第第3 3章章 进程管理进程管理3.3进程的状态和进程控制块进程的状态和进程控制块 3.3.1进程的状态及状态变化图进程的状态及状态变化图 3.3.2进程控制块进程控制块 返回本章首页返回本章首页第第3 3章章 进程管理进程管理3.3.1进程的状态及状态变化图进程的状态及状态变化图(1)运运行行状状态态:进进程程正正在在处处理理机机上上运运行行的的
10、状状态态,该该进进程程已已获获得得必必要要的的资资源源,也也获获得得了了处处理理机机,用用户户程程序序正正在在处处理理机上运行。机上运行。(2)阻阻塞塞状状态态:进进程程等等待待某某种种事事件件完完成成(例例如如,等等待待输输入入/输输出出操操作作的的完完成成)而而暂暂时时不不能能运运行行的的状状态态,处处于于该该状状态态的的进进程程不不能能参参加加竞竞争争处处理理机机,此此时时,即即使使分分配配给给它它处处理理机,它也不能运行。机,它也不能运行。(3)就就绪绪状状态态:该该进进程程运运行行所所需需的的一一切切条条件件都都得得到到满满足足,但但因因处处理理机机资资源源个个数数少少于于进进程程个
11、个数数,所所以以该该进进程程不不能能运运行行,而而必必须须等等待待分分配配处处理理机机资资源源,一一旦旦获获得得处处理理机机就就立立即即投投入入运行。运行。下一页下一页第第3 3章章 进程管理进程管理图图3.3典型的进程状态演变图典型的进程状态演变图下一页下一页第第3 3章章 进程管理进程管理状态变化状态变化:(1)就绪状态变化到运行状态)就绪状态变化到运行状态。(2)运行状态变化到就绪状态。)运行状态变化到就绪状态。(3)运行状态变化到阻塞状态。)运行状态变化到阻塞状态。(4)阻塞状态变化到就绪状态。)阻塞状态变化到就绪状态。返回本节目录返回本节目录第第3 3章章 进程管理进程管理3.3.2
12、进程控制块进程控制块 为了刻画进程的动态变化,通常把进程表示为由为了刻画进程的动态变化,通常把进程表示为由程序段、私有数据块和进程控制块组成,如图程序段、私有数据块和进程控制块组成,如图3.4(a)所示。程序部分描述进程本身所要完成所示。程序部分描述进程本身所要完成的功能,而的功能,而“私有数据块私有数据块”是接受程序规定操作是接受程序规定操作的一组存储单元的内容,是操作的对象。进程控的一组存储单元的内容,是操作的对象。进程控制块是在进程创建时产生的,当进程存在于系统制块是在进程创建时产生的,当进程存在于系统时(运行),进程控制块就标识了这个进程。如时(运行),进程控制块就标识了这个进程。如图
13、图3.4(b)所示。所示。下一页下一页第第3 3章章 进程管理进程管理下一页下一页第第3 3章章 进程管理进程管理进程控制块是进程存在的标志,当系统或父进程进程控制块是进程存在的标志,当系统或父进程创建一个进程时,实际上就是为其建立一个进程创建一个进程时,实际上就是为其建立一个进程控制块。控制块。进进程程控控制制块块既既能能标标识识进进程程的的存存在在,又又能能刻刻画画出出进进程程的的动动态态特特征征,它它是是一一个个进进程程仅仅有有的的被被系系统统真真正正感感知知的的部部分分。对对操操作作系系统统而而言言,所所有有进进程程控控制制块块将构成并发执行控制和维护系统工作的依据。将构成并发执行控制
14、和维护系统工作的依据。进程控制块的作用:进程控制块的作用:返回本节目录返回本节目录第第3 3章章 进程管理进程管理3.4进程控制进程控制 3.4.1原语原语 3.4.2进程控制原语进程控制原语 返回本章首页返回本章首页第第3 3章章 进程管理进程管理3.4.1原语原语 在在操操作作系系统统中中,某某些些被被进进程程调调用用的的操操作作,例例如如队队列列操操作作、对对信信号号灯灯的的操操作作、检检查查启启动动外外设设操操作作等等,一一旦旦开开始始执执行行就就不不能能被被中中断断,否否则则就就会会出出现现操操作作错错误误,造造成成系系统统混混乱乱。原原语语就就是是为为实实现现这这些些操操作作而设置
15、的。而设置的。下一页下一页第第3 3章章 进程管理进程管理图图3.5进程家族示例进程家族示例返回本节目录返回本节目录第第3 3章章 进程管理进程管理3.4.2 进程控制原语进程控制原语1创建原语创建原语2撤消原语撤消原语3阻塞原语阻塞原语4唤醒原语唤醒原语返回本节目录返回本节目录第第3 3章章 进程管理进程管理3.5线程的基本概念线程的基本概念3.5.1 线程的引入线程的引入3.5.2 线程与进程的比较线程与进程的比较3.5.3 用户级线程和内核支持线程用户级线程和内核支持线程返回本章首页返回本章首页第第3 3章章 进程管理进程管理3.5.1 线程的引入线程的引入(1 1)创创建建进进程程。系
16、系统统在在创创建建进进程程时时,必必须须为为之之分分配配其其所所必必需需的的、除除处处理理机机以以外外的的所所有有资资源源。如如内内存空间、存空间、I/OI/O设备以及建立相应的设备以及建立相应的PCBPCB结构。结构。(2 2)撤撤消消进进程程。系系统统在在撤撤消消进进程程时时,又又必必须须先先对对这些资源进行回收操作,然后再撤消这些资源进行回收操作,然后再撤消PCBPCB结构。结构。(3 3)进进程程切切换换。在在对对进进程程进进行行切切换换时时,由由于于要要保保留留当当前前进进程程的的CPUCPU环环境境和和设设置置新新选选中中进进程程的的CPUCPU环环境,为此需花费不少处理机时间。境
17、,为此需花费不少处理机时间。返回本节目录返回本节目录第第3 3章章 进程管理进程管理3.5.2 线程与进程的比较线程与进程的比较1调调度度:在在传传统统的的操操作作系系统统中中,拥拥有有资资源源的的基基本本单单位位和和独独立立调调度度、分派的基本单位都是进程。分派的基本单位都是进程。2并并发发性性:在在引引入入线线程程的的操操作作系系统统中中,不不仅仅进进程程之之间间可可以以并并发发执执行行,而而且且在在一一个个进进程程中中的的多多个个线线程程之之间间亦亦可可并并发发执执行行,因因而而使使操操作作系系统统具具有有更更好好的的并并发发性性,从从而而能能更更有有效效地地使使用用系系统统资资源源和和
18、提提高系统吞吐量。高系统吞吐量。3拥拥有有资资源源:不不论论是是传传统统的的操操作作系系统统,还还是是设设有有线线程程的的操操作作系系统,进程都是拥有资源的一个独立单位,它可以拥有自己的资源。统,进程都是拥有资源的一个独立单位,它可以拥有自己的资源。4系系统统开开销销:由由于于在在创创建建或或撤撤消消进进程程时时,系系统统都都要要为为之之分分配配或或回回收收资资源源,如如内内存存空空间间、I/O设设备备等等。因因此此,操操作作系系统统所所付付出出的的开开销将明显地大于在创建或撤消线程时的开销。销将明显地大于在创建或撤消线程时的开销。返回本节目录返回本节目录第第3 3章章 进程管理进程管理3.5
19、.3 用户级线程和内核支持线程用户级线程和内核支持线程比较两种线程的优缺点比较两种线程的优缺点:1线程的调度与切换速度:线程的调度与切换速度:内核支持线程的调度和切换与进内核支持线程的调度和切换与进程的调度和切换十分相似。程的调度和切换十分相似。2系统功能调用:系统功能调用:当传统的用户进程调用一个系统功能调用当传统的用户进程调用一个系统功能调用时,要由用户态进入核心态,用户进程将被阻塞。当内核完成时,要由用户态进入核心态,用户进程将被阻塞。当内核完成系统调用而返回时,才将该进程唤醒,继续执行。系统调用而返回时,才将该进程唤醒,继续执行。3线程执行时间线程执行时间:对于只设置了用户级线程的系统
20、,调度是对于只设置了用户级线程的系统,调度是以进程为单位进行的。在采用轮转调度算法时,各个进程轮流以进程为单位进行的。在采用轮转调度算法时,各个进程轮流执行一个时间片,这对诸进程而言似乎是公平的。执行一个时间片,这对诸进程而言似乎是公平的。返回本节目录返回本节目录第第3 3章章 进程管理进程管理3.6进程调度进程调度 3.6.1进程调度的职能进程调度的职能 3.6.2进程调度算法进程调度算法 3.6.3调度用的进程状态切换图调度用的进程状态切换图 返回本章首页返回本章首页第第3 3章章 进程管理进程管理3.6.1进程调度的职能进程调度的职能(1)记录系统中所有进程的有关情况。)记录系统中所有进
21、程的有关情况。(2)确定分配处理机的原则。)确定分配处理机的原则。(3)分配处理机给进程。)分配处理机给进程。(4)从进程收回处理机。)从进程收回处理机。返回本节目录返回本节目录第第3 3章章 进程管理进程管理3.6.2进程调度算法进程调度算法 1先来先服务先来先服务 2轮转调度轮转调度 3分级轮转法分级轮转法4优先数法优先数法 下一页下一页第第3 3章章 进程管理进程管理1先来先服务先来先服务 这这种种调调度度算算法法按按照照进进程程进进入入就就绪绪队队列列的的先先后后顺顺序序来来调调度度进进程程,到到达达得得越越早早,其其优优先先数数越越高高。获获得得处处理理机机的的进进程程,未未遇遇到到
22、其其他他情情况况时时,一一直直运运行行下下去去,系系统统只只需需具具备备一一个个先先进进先先出出的的队队列列,在在管管理理优优先先数数的的就就绪绪队队列列时时,这这种种方方法法是是一一种种最最常常见见策策略略,并并且且在在没没有有其其他他信信息息时时,也也是是一一种种最最合合理理的的策略。策略。下一页下一页第第3 3章章 进程管理进程管理2轮转调度轮转调度 先先来来先先服服务务的的一一个个重重要要变变形形,就就是是轮轮转转规规则则。轮轮转转调调度度算算法法是是系系统统把把所所有有就就绪绪进进程程按按先先后后次次序序排排队队,处处理理机机总总是是优优先先分分配配给给就就绪绪队队列列中中的的第第一
23、一个个就就绪绪进进程程,并并分分配配它它一一个个固固定定的的时时间间片片(如如100毫毫秒秒)。当当该该运运行行进进程程用用完完规规定定的的时时间间片片时时,被被迫迫释释放放处处理理机机给给下下一一个个处处于于就就绪绪队队列列中中的的第第一一个个进进程程,分分给给这这个个进进程程相相同同的的时时间间片片,每每个个运运行行完完时时间间片片的的进进程程,当当未未遇遇到到任任何何阻阻塞塞时时,就就回回到到就就绪绪队队列列的的尾尾部部,并并等等待待下下次次转转到到它它时时再再投投入入运运行行。于于是是,只只要要是是处处于于就就绪绪队队列列中中的的进进程程,按按此此种种算算法法迟迟早早总总可可以以分分得
24、得处处理理机机投投入入运运行。行。下一页下一页第第3 3章章 进程管理进程管理3分级轮转法分级轮转法所谓分级轮转法就是将先前的一个就绪队列。根所谓分级轮转法就是将先前的一个就绪队列。根据进程的优先数不同划分两个或两个以上的就绪据进程的优先数不同划分两个或两个以上的就绪队列,并赋给每个队列不同的优先数。以两个就队列,并赋给每个队列不同的优先数。以两个就绪队列为例,一个具有较高优先数,另一个具有绪队列为例,一个具有较高优先数,另一个具有较低优先数,前者称为前台队列,后者称为后台较低优先数,前者称为前台队列,后者称为后台队列。队列。下一页下一页第第3 3章章 进程管理进程管理4优先数法优先数法 根据
25、已占有处理根据已占有处理机的进程是否可被剥夺而分为优先占有机的进程是否可被剥夺而分为优先占有法和优先剥夺法两种法和优先剥夺法两种。优先占有法的原理是:一旦某个最高优先数的就绪进程分优先占有法的原理是:一旦某个最高优先数的就绪进程分得处理机之后,只要不是其自身的原因被阻塞(如要求得处理机之后,只要不是其自身的原因被阻塞(如要求I/O操作)而不能继续运行时,就一直运行下去,直至运操作)而不能继续运行时,就一直运行下去,直至运行结束。行结束。优先剥夺法的原理是:当一个正在运行的进程即使其时间优先剥夺法的原理是:当一个正在运行的进程即使其时间片未用完,无论什么时候,只要就绪队列中有一个比它的片未用完,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 进程管理 进程 管理
限制150内