操作系统课件第三章一_第1页
操作系统课件第三章一_第2页
操作系统课件第三章一_第3页
操作系统课件第三章一_第4页
操作系统课件第三章一_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

数学与计算机学院2023/2/6操作系统第三章进程管理一数学与计算机学院

硬件教研室曾新数学与计算机学院2023/2/6本章学习目标进程的概念进程的实体、状态及状态的演变进程的控制与调度进程之间的关系协调进程的通信死锁问题及解决数学与计算机学院2023/2/6一、引言:进程的初步引入现代操作系统的特点:程序的并发执行、系统所拥有的资源被共享、系统的用户随机地使用。操作系统的重要任务之一是使用户充分、有效地利用系统资源。采用一个什么样的概念,来描述计算机程序的执行过程和作为资源分配的基本单位,才能充分反映操作系统的执行并发、资源共享及用户随机的特点呢?这个概念就是进程。数学与计算机学院2023/2/6一、引言:处理机管理处理机管理是操作系统的基本管理功能之一,它所关心的是处理机的分配问题。也就是说把CPU(中央处理机)的使用权分给某个程序,通常把这个正准备进入内存的程序称为作业,当这个作业进入内存后我们把它称为进程。处理机管理分为作业管理和进程管理两个阶段来实现。数学与计算机学院2023/2/6一、引言:进程管理的功能。进程管理的主要功能是把处理机分配给进程以及协调各个进程之间的相互关系。它是由进程调度程序和进程控制(控制进程状态转换)程序这两部分内容组成的。进程是操作系统的五大功能之一。1、高级(宏)处理机管理即作业调度,确定系统中哪些作业将获得CPU;2、低级(微)处理机管理即进程调度,确定系统中哪个作业中的哪个进程将获得CPU。

数学与计算机学院2023/2/6二、进程的引入:程序引入进程的关键是资源共享,高效管理共享资源是操作系统的重要内容。1、程序的顺序执行及其特性程序是一个在时间上按严格次序前后相继的操作序列,是一个静态的概念。程序体现了编程人员要求计算机完成所要求功能时所应该采取的顺序步骤。数学与计算机学院2023/2/6二、进程的引入:串行执行上图表示每次只能调度一个作业进行操作的情况。输入、计算、打印输出工作只能串行执行,因而可以把程序的执行看做一系列状态转换的过程,即每执行一个操作,系统就会从一个状态转换成另外一个状态。数学与计算机学院2023/2/6二、进程的引入:程序顺序执行程序的顺序执行:一个具有独立功能的程序独占处理机直至最终结束的过程。从上例可以看出,程序的顺序执行有一下特点:

1、顺序性2、资源独占性3、结果的无关性4、可再现性数学与计算机学院2023/2/6二、进程的引入:多道程序系统在许多情况下,需要计算机能够同时处理多个具有独立功能的程序。批处理系统、分时系统、实时系统以及网络与分布式系统等都是这样的系统。那么多道程序系统中程序执行的特点如下:1、独立性2、随机性3、资源共享数学与计算机学院2023/2/6二、进程的引入:单道和多道数学与计算机学院2023/2/6二、进程的引入:资源的共享操作系统是用来实现对计算机资源进行管理的一个大型系统程序,其基本特征之一就是资源共享。所谓资源共享,就是指计算机中并发执行的多个程序交替使用计算机硬件和软件资源。资源共享将导致对进程执行速度的制约。数学与计算机学院2023/2/6二、进程的引入:程序并发及其特性所谓并发执行,是为了增强计算机系统的处理能力和提高资源利用率所采取的一种同时操作技术。程序的并发执行可进一步分为两种:第一种是多道程序系统的程序执行环境变化所引起的多道程序的并发执行;第二种并发执行是在某道程序的几个程序段中(例如几个程序),包含着一部分可以同时执行或顺序颠倒执行的代码。数学与计算机学院2023/2/6二、进程的引入:多道程序并发由于资源的有限性,多道程序的并发执行总是伴随着资源的共享与竞争。从而制约各道程序的执行速度。而无法作到在微观上,也就是在指令级上的同时执行。因此,尽管多道程序的并发执行在宏观上是同时进行的,但在微观上仍是顺序执行的。数学与计算机学院2023/2/6二、进程的引入:某道程序的多个程序段并发在某道程序的几个程序段中(例如几个程序),包含着一部分可以同时执行或顺序颠倒执行的代码。例如语句:

read(a);

read(b);它们既可以同时执行,也可颠倒次序执行。对于这样的语句,同时执行不会改变顺序程序所具有的逻辑性质。因此,可以采用并发执行来充分利用系统资源以提高计算机的处理能力。数学与计算机学院2023/2/6二、进程的引入:并发执行总结程序的并发执行可总结为:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的一种执行方式。程序的并发执行不同于程序的并行执行。程序的并行执行是指一组程序按独立的、异步的速度执行。并行执行不等于时间上的重叠。数学与计算机学院2023/2/6二、进程的引入:并发执行的条件并发执行过程描述为:S0 Cobegin P1;P2;...Pn CoendSn 1966年Bernstein提出了两相邻语句S1,S2可以并发执行的条件: 将程序中任一语句Si划分为两个变量的集合R(Si)和W(Si)。R(Si)={a1a2…am},aj(j=1,…,m) 是语句Si在执行期间必须对其进行读写的变量;W(Si)={b1b2…bn},bj(j=1,…,n)

是语句Si在执行期间必须对其进行修改、访问的变量;数学与计算机学院2023/2/6二、进程的引入:并发执行的条件如果对于语句S1和S2,有 ①R(S1)∩W(S2)={∮}, ②W(S1)∩R(S2)={∮}, ③W(S1)∩W(S2)={∮}

同时成立,则语句S1和S2是可以并发执行的。如果并发执行的各程序段中语句或指令满足上述Bernstein的三个条件,则认为并发执行不会对执行结果的封闭性和可再现性产生影响。数学与计算机学院2023/2/6二、进程的引入:例题分析如果并发执行的程序段不按照特定的规则和方法进行资源共享和竞争,则其执行结果将不可避免地失去封闭性和可再现性。数学与计算机学院2023/2/6二、进程的引入:例题分析proceduregetaddr(top)beginlocalrr←(top)top←top-1return(r)endprocedurereladdr(blk)begintop←top+1(top)←blkendgetaddr(top)从给定的top所指栈中取出相应的内存数据块地址,而reladdr(blk)则将内存数据块地址blk放入堆栈S中数学与计算机学院2023/2/6二、进程的引入上例中的程序段并发执行出现错误结果是由于两程序段共享资源堆栈S,从而使得执行结果受执行速度影响。一般情况下,并发执行的各程序段如果共享软、硬件资源,都会造成其执行结果受执行速度影响的局面。

为了控制和协调各程序段执行过程中的软、硬件资源的共享和竞争,显然,必须应该有一个描述各程序段执行过程和共享资源的基本单位。数学与计算机学院2023/2/6二、进程的引入现代操作系统的重要特点是程序的并发执行,由于程序的顺序性、静态性以及孤立性,用程序段作为描述其执行过程和共享资源的基本单位既增加操作系统设计和实现的复杂性,也无法反映操作系统所应该具有的程序段执行的并发性、用户随机性,以及资源共享等特征。因而需要有一个能描述程序的执行过程且能用来共享资源的基本单位。这个基本单位被称为进程(或任务)。数学与计算机学院2023/2/6二、进程的引入:多道程序并发为了合理利用系统资源,更好地发挥各种资源的效益,使各种物理设备之间的时间性限制条件减少到最低限度,最大限度地提高系统的效率,因而引出了多道程序方法。其实质是减少程序的顺序性,提高系统的并行性。多道程序并发执行的特点:1、资源分配的动态性2、程序执行的间断性3、程序间的通讯4、程序间的同步和互斥数学与计算机学院2023/2/6二、进程的引入:顺序与并发的比较顺序执行并发执行程序顺序执行间断执行,多个程序各自在“走走停停”中进行程序具有封闭性程序失去封闭性独占资源共享资源可再现性失去可再现性有直接和间接的相互制约数学与计算机学院2023/2/6二、进程的引入:进程的定义进程是现代操作系统的一个基本概念,是并发程序出现后出现的一个重要概念,它是指程序在一个数据集合上运行的过程,是系统进行资源分配和调度运行的一个独立单位,有时也称为活动、路径或任务。数学与计算机学院2023/2/6二、进程的引入:进程的定义一个具有独立功能的程序对某个数据集在处理机上的执行过程和分配资源的基本单位。主要注重进程是一个动态的执行过程这一概念。在传统的操作系统设计中,进程既是基本的分配单元,也是基本的执行单元。这里,程序指一组操作序列,而数据集则是接受程序规定操作的一组存储单元的内容。数学与计算机学院2023/2/6二、进程的引入:进程与程序的联系和区别1、进程是一个动态概念,而程序则是一个静态概念。程序是指令的有序集合,没有任何执行的含义。而进程则强调执行过程,它动态地被创建,并被调度执行后消亡。2、进程具有并行特征,而程序没有。由进程的定义可知,进程具有并行特征的两个方面,即独立性和异步性。也就是说,在不考虑资源共享的情况下,各进程的执行是独立的,执行速度是异步的。显然,由于程序不反映执行过程,所以不具有并行特征。数学与计算机学院2023/2/6二、进程的引入:进程与程序的联系和区别3、进程是竞争计算机系统资源的基本单位,从而其并行性受到系统自己的制约,只有进程才可能在不同的时刻处于几种不同的状态,即等待、就绪、运行。

4、不同的进程可以包含同一程序,只要该程序所对应的数据集不同。同一程序运行于若干不同的数据集合上时,它将属于若干个不同的进程,或者说,两个不同的进程可包含相同的程序;

5、从微观上看,进程是轮换地占有处理机而运行的,从宏观上看,进程是并发地运行的。数学与计算机学院2023/2/6二、进程的引入:作业与进程的联系和区别作业是用户需要计算机完成某项任务时要求计算机所作工作的集合。进程是已提交完毕程序的执行过程的描述,是资源分配的基本单位。作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后,系统将它放入外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存中。

一个作业可由多个进程组成。且必须至少由一个进程组成,但反过来不成立。作业的概念主要用在批处理系统中。而进程的概念则用在几乎所有的多道系统中。数学与计算机学院2023/2/6二、进程的引入:进程的5个基本特征1、动态性:进程是程序在并发系统的一次执行,一个进程有一个从产生到消失的生命期;2、并发性:正是为了描述程序在并发系统内执行的动态特征才引入了进程,没有并发就没有进程;3、独立性:每个进程的程序都是相对独立的顺序程序,可以按自己的方向和速度独立地向前推进;4、制约性:进程之间的相互制约,主要表现在互斥地使用资源和相关进程之间必要的同步和通讯;5、结构性:进程=PCB(进程控制块)+程序+数据集合。数学与计算机学院2023/2/6二、进程的引入引入进程的目的是为了描述程序动态执行时的活动规律和状态变化。进程和程序是既有联系又有区别的两个概念,它们的主要区别如下:1、程序是指令的有序集合,是一个静态的概念,而进程是程序在CPU上的一次执行过程,它是一个动态概念。2、程序的存在是永久的。而进程则是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤销而消亡。3、程序仅是指令的有序集合,而进程则由程序、数据和进程控制块组成。4、进程和程序无一一对应关系,即同一个程序同时运行于若干不同的数据集合上,它将属于若干个不同的进程。而一个进程可以执行多个程序。5、进程可以生成其他进程,而程序不能生成新的程序。数学与计算机学院2023/2/6二、进程的引入:进程的分类及区别进程通常分为两类,一类是系统进程,另一类是用户进程。它们的区别是:1、系统进程是操作系统用来管理系统资源并行活动的并发软件。2、系统进程之间的关系由操作系统自己负责。3、系统进程直接管理有关的软、硬设备的活动。4、在进程调度中,系统进程的优先级高于用户进程。数学与计算机学院2023/2/6二、进程的引入:进程状态图在进程的生命期内,一个进程至少具有三种基本状态,它们是:执行状态、等待状态和就绪状态。数学与计算机学院2023/2/6二、进程的引入:进程状态的解释1、运行状态:进程正在处理机上运行的状态,该进程已获得必要的资源,也获得了处理机,用户程序正在处理机上运行。2、等待状态:进程等待某种事件完成(例如,等待输入/输出操作的完成)而暂时不能运行的状态,处于该状态的进程不能参加竞争处理机,此时,即使分配给它处理机,它也不能运行。3、就绪状态:该进程运行所需的一切条件都得到满足,但因处理机资源个数少于进程个数,所以该进程不能运行,而必须等待分配处理机资源,一旦获得处理机就立即投入运行。数学与计算机学院2023/2/6二、进程的引入:进程状态的转换1、CPU调度(低级调度):一个进程到CPU上运行,该进程就从就绪状态变为运行状态;与此同时,原运行进程从运行状态变为就绪状态。因此,这两种状态变化是同时发生的。2、进程在运行过程中需要等待某一事件,例如,等待分配某一资源,等待I/O操作完成等。一个进程在需要等待某一事件时主动退出CPU,并使自己处于阻塞状态(等待状态),引起状态变化。3、如果进程所等待的事件发生了变化,例如,一次I/O完成了,于是进程便被解除阻塞状态,变为就绪状态。一个具体的进程在任何一个指定的时刻必须而且只能处于一种状态。

数学与计算机学院2023/2/61、进程之间的状态转换并非都是可逆的,进程既不能从等待变为运行,也不能从就绪变为等待。2、进程之间的状态转换并非都是主动的,在很多情况下都是“它动的”。事实上,只有运行到等待的转换是进程的主动行为(主动调用调度管理程序),其它都是它动的,例如,从执行到就绪,通常是时钟中断引起的,从等待到就绪,是一个进程把另一个进程唤醒。就绪状态变化到运行状态。运行状态变化到就绪状态。运行状态变化到等待状态。等待状态变化到就绪状态。二、进程的引入:进程状态的转换数学与计算机学院2023/2/6二、进程的引入:挂起与激活在具有挂起和激活的系统中,又增加了两种基本的进程状态:静止就绪和静止阻塞。静止就绪:它是活动就绪进程由其自身或其他进程调用挂起原语而进入的一种状态。处于静止就绪状态的进程没有资格争用CPU,只有其他进程调用激活原语将其激活才行。静止阻塞:它是活动等待进程由其自身或其他进程调用挂起原语而进入的一种状态。处于静止阻塞状态的进程,在其挂起期间并不影响其等待事件的发生。数学与计算机学院2023/2/6二、进程的引入:挂起与激活示意图数学与计算机学院2023/2/6二、进程的引入:进程的描述及PCB进程的静态描述由三部分组成:进程控制块PCB,有关程序段和该程序段对其进行操作的数据结构集。进程控制块(pcb)包含了有关进程的描述信息、控制信息以及资源信息,是进程动态特征的集中反映。系统根据PCB感知进程的存在和通过PCB中所包含的各项变量的变化,掌握进程所处的状态以达到控制进程活动的目的。由于进程的PCB是系统感知进程的唯一实体,因此,在几乎所有的多道操作系统中,一个进程的PCB结构都是全部或部分常驻内存的。数学与计算机学院2023/2/6二、进程的引入:进程的描述及PCB进程的程序部分描述进程所要完成的功能。而数据结构集是程序在执行时必不可少的工作区和操作对象。这两部分是进程完成所需功能的物质基础。由于进程的这两部分内容与控制进程的执行及完成进程功能直接有关,因而,在大部分多道操作系统中,这两部分内容放在外存中,直到该进程执行时再调入内存。数学与计算机学院2023/2/6二、进程的引入:进程的结构进程名当前状态优先数现场保留区指示处于同一状态进程的链指针资源清单进程起始地址家族关系其他PCB程序段私有数

温馨提示

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

评论

0/150

提交评论