(2)--第2章 进程管理操作系统原理.ppt
《(2)--第2章 进程管理操作系统原理.ppt》由会员分享,可在线阅读,更多相关《(2)--第2章 进程管理操作系统原理.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本章目录 2.1 进程及其状态 2.2 进程控制块 2.3 进程控制 2.4 线程2.1 进程及其状态 2.1.1 进程的引入 2.1.2 进程的概念 2.1.3 进程的状态模型 2.1.1 进程的引入 1.程序的顺序执行 为了描述计算机的行为,传统上是使用程序的概念。程序是适合于计算机处理的一系列的指令,按照一定的逻辑要求被划分成多个相关模块,这些模块必须顺序地执行。这种顺序执行具有以下三个特点:(1)顺序性。程序严格按照给定的指令序列的顺序执行,也就是说指令N必须在指令(N-1)执行完毕以后才能执行。(2)运行环境的封闭性。程序一旦开始运行,就必然独占系统内所有资源,系统状态完全取决于程序
2、本身。因此,程序运行结果不受外界因素影响。(3)程序运行结果可再现性。只要给定相同的初始条件和输入数据,在任何计算机上,在任何时间,以任何速度来运行,程序的运行结果都是唯一的,也就是说可以随时再现程序的运行结果。2.1.1 进程的引入 2.程序的并发执行所谓并发执行,是指一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的执行方式。程序并发执行的特征:(1)间断性。并发程序在执行期间可以互相制约,使各个程序的执行过程不再像单道程序系统中那样顺序连贯执行,而具有执行暂停执行的活动规律,各程序活动的工作状态与所处的环境
3、有密切关系。(2)失去封闭性。程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来共同改变,致使程序的运行环境失去了封闭性。(3)不可再现性。程序在并发执行时,由于失去了封闭性,也将导致其运行过程和运行结果不可以重现。即使程序的初始条件相同,也会因运行时间和环境的不同而得到不同的运行结果。2.1.2 进程的概念 进程作为操作系统的一个重要概念,是20世纪60年代由美国麻省理工学院的研究人员在研究MULTICS操作系统时提出来的。(1)一个正在执行中的程序。(2)一个正在计算机上执行的程序实例。(3)能分配给处理机并由处理机执行的实体。(4)一个具有以下特征的活动单
4、元:一组指令序列的执行、一个当前状态和相关的系统资源集合。(5)程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位。2.1.2 进程的概念 进程是操作系统最基本、最重要的概念之一,具有以下五个特点:(1)结构特征。通常的程序不能并发执行,为使程序能独立运行,须为之配置一进程控制块,即Process Control Block,PCB;而由程序代码、数据集和进程控制块构成了进程实体,也称进程映像。其中,PCB是进程存在的标志。只要一个进程的PCB存在,无论该进程的程序代码和数据集是否在内存,都可以被系统控制和调度。(2)动态性。进程有“生命周期”。它由“创建”而产生,由“撤销
5、”而消亡。进程是在程序投入运行之前通过创建而产生的,一个进程被生成以后,就有被调度运行的机会;当它运行结束后,通过撤销而使之消亡。2.1.2 进程的概念(3)并发性。一个进程可以与其它进程并发执行。从系统的角度看,在一个时段内可以有多个进程同时存在并以不同的速度向前推进着。而程序作为一种静态文本是不具备这种特征的。(4)独立性。进程是系统中的一种独立实体,是独立请求并占有资源、独立被调度运行的基本单位(支持线程的系统除外)。凡未建立PCB的程序都不能作为一个独立的单位参与运行。(5)异步性。进程是以异步方式运行的,即它的推进速度是不可预知的。由于系统中允许多个进程并发执行,每一次调度都带有一定
6、的随机性,并且进程的运行规律是“走走停停走走”,因此,系统无法预知某一瞬间运行的是哪一个进程,以及它的推进速度怎样。2.1.3 进程的状态模型非运行非运行运行运行退出退出分派分派暂停暂停 图图2-3 两状态模型两状态模型进入进入 1.两状态模型 通常情况下,我们讨论的系统大都是单处理机系统,那么在这样的系统中,由于处理机只有一个,所以每个时刻,多个并发程序对应的进程中只能有一个进程获得处理机并运行,我们称此时该进程的状态为运行态,而其他进程就只能处于非运行状态,如图2-3所示。2.1.3 进程的状态模型 2.三状态模型 三状态模型中进程的三种基本状态如下:(1)就绪状态(Ready)。一个进程
7、获得了除处理机之外所需的一切资源,一旦得到处理机即可运行。在系统中,将处于就绪状态的多个进程的PCB组织成一个队列,或按照某种规则排在不同的队列中,这些队列称为就绪队列。(2)运行状态(Running)。进程已经获得必要的资源及CPU,正在处理机上运行,这时的状态称为运行状态。在多处理机系统中,可以有多个进程处于运行状态。而在单处理机系统中,最多只能有一个进程处于运行状态。(3)阻塞状态又称等待状态(Blocked)。进程因某等待某种事件发生(例如I/O请求、某些原语操作等)而处于暂停执行的状态,此时即使将CPU分配给它,它也无法执行。在系统中,将处于阻塞状态的进程的PCB组织成一个队列,或根
8、据阻塞原因不同而将进程的PCB排在不同的队列中,这些队列称为阻塞队列。2.1.3 进程的状态模型(1)就绪运行:处于就绪状态的进程被进程调度程序选中后,就分配到处理机上来运行。(2)运行就绪:处于运行状态的进程在其运行过程中,分给它的处理机时间片用完而让出处理机;在可剥夺的操作系统中,当有更高优先级的进程就绪时,操作系统调度程序可以将正运行进程从运行状态改变为就绪状态,让更高优先级进程运行。2.1.3 进程的状态模型(3)运行阻塞:当进程请求某个资源且必须等待时,例如,当进程请求操作系统服务,而操作系统得不到所需的资源,或进程请求一个输入/输出操作,操作系统已启动外设,但输入/输出尚未完成,或
9、进程要与其它进程通讯,要接收对方还未发出的信息时,进程都会被阻塞。(4)阻塞就绪:当进程要等待的事件到来时,它从阻塞态变到就绪态。2.1.3 进程的状态模型为便于进程管理,有必要增加一种有用的状态,我们称为新建态,对应于刚刚创建的进程,操作系统还没有把它加入到就绪队列中,通常是进程控制块已经创建但还没有加载到内存中的新进程。同样,进程从系统中退出时,也增加一种有用的状态,进程被终止直到释放PCB所处的状态,我们称为退出态。3.五状态模型2.1.3 进程的状态模型 五状态模型中的状态转换:(1)空新建:创建一个程序的新进程。(2)新建就绪:当进程被创建完成,初始化后,一切就绪准备运行时转换到就绪
10、态。(为了限制系统资源不过分分散,也可以限制从新建转入就绪状态的进程数,这样做可以使系统内存等系统资源集中给有限的进程使用。因此可能进程处于新建状态但很长时间不能转入就绪队列,等操作系统把它调入时才可以分配好所有资源,转变为就绪状态。(3)就绪运行:处于就绪状态的进程被进程调度程序选中后,就被分配到处理机上来运行。(4)运行就绪:处于运行状态的进程在其运行过程中,当分给它的处理机时间片用完时便让出处理机;在可剥夺的操作系统中,当有更高优先级的进程就绪时,操作系统调度程序可以将正在运行的进程从运行状态转变为就绪状态,让更高优先级进程运行。2.1.3 进程的状态模型(5)运行阻塞:当进程请求它必须
11、等待的某些事件,则进入阻塞态。例如,当进程请求操作系统服务,而操作系统得不到提供服务所需的资源;或进程请求一个输入/输出操作,操作系统已启动外设,但输入/输出尚未完成,或进程要与其它进程通讯,要接收对方还未发出的信息时,进程都会被阻塞。(6)阻塞就绪:当进程要等待的事件到来时,它从阻塞变到就绪。(7)运行退出:如果当前正在运行的进程表示自己已经完成或取消,则它将被操作系统终止。(8)就绪退出:为了清楚起见,上述模型图中没有表示这种转换。在某些系统中,父进程可以在任何时刻终止一个子进程。如果一个父进程终止,与该父进程相关的所有子孙进程都将被终止。(9)阻塞退出:原因同上。2.1.3 进程的状态模
12、型 4.七状态模型 当内存中没有进程处于就绪状态时,操作系统将其中一个阻塞进程转移到磁盘上的挂起队列中,然后调入另一进程。这时,操作系统有两种选择,它既可以接受一个新进程,又可以调入一个原先挂起的进程。显然后者可以减轻整个系统的负担。因为每个进程有两个独立的概念:是否在等待一个事件(阻塞与否)和进程是否已经被换出内存(挂起与否)。这样两两组合,得到以下四种状态:(1)活动就绪态:进程在内存中并可以被调度执行。(2)活动阻塞态:进程在内存中并等待某事件的发生。(3)静止阻塞态:进程在外存并等待某事件的发生。(4)静止就绪态:进程在外存,但是只要被调入内存就可以被调度执行。2.1.3 进程的状态模
13、型图2-8 有挂起态的七状态模型 事件发生静止就绪活动 就绪运 行分派超时释放退出活动 阻塞等待事件静止阻塞激活挂起激活事件发生新建挂起准许准许挂起 在新的状态模型中,比较重要的新转换如下:(1)活动阻塞静止阻塞:当内存紧张而系统中又没有就绪进程时,一个阻塞态进程就会被挂起。2.1.3 进程的状态模型(2)静止阻塞静止就绪:当一个处于静止阻塞状态的进程所等待的事件发生后,它就进入静止就绪态。(3)静止就绪活动就绪:当内存中没有就绪进程时,操作系统将调入一个静止就绪态的进程继续执行。(4)活动就绪静止就绪:通常,操作系统会优先选择挂起阻塞进程而不是就绪进程。如果没有阻塞进程,那它就只能挂起就绪进
14、程来缓解内存紧张的情况。除此之外,如果操作系统确定高优先级的阻塞进程将很快变为就绪时,它也可能会选择挂起低优先级的就绪进程。(5)新建活动就绪以及新建静止就绪:当一个进程产生后,通常会加入到活动就绪队列,但这时如果内存没有足够空间,也可能会发生新建静止就绪的转换。2.1.3 进程的状态模型(6)静止阻塞活动阻塞:如果一个进程终止并释放了一些内存空间,静止阻塞队列中有一个进程比静止就绪队列中的任何进程的优先级都要高,并且操作系统认为引起阻塞的事件会很快发生,这时会把静止阻塞态进程调入内存而不是静止就绪态进程。(7)运行静止就绪:通常,进程在运行时间片到了之后会转入活动就绪态。这时,如果位于静止阻
15、塞队列的具有较高优先级的进程变得不再被阻塞,操作系统会抢先调度这个进程,而直接把运行进程转换到静止就绪队列中,以腾出一些内存空间。(8)各种状态退出:在典型情况下,一个进程在运行时终止,或者是因为已经完成,或者是因为出现了一些错误条件。但是,某些操作系统中,一个进程可以被创建它的进程终止,或当父进程终止时被终止。如果这样,则进程在任何状态时都可以转换到退出态。2.2 进程控制块 2.2.1 PCB的作用 2.2.2 PCB的内容 2.2.3 PCB的组织结构 2.2.1 PCB的作用 操作系统要管理进程和资源,就必须拥有每个进程和资源的描述信息及当前状态信息。所以操作系统必须建立一个结构来描述
16、该进程的存在及状态。这个结构被称为进程控制块,它描述了进程标识、空间、运行状态、资源使用等信息。可以这样说,进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,操作系统是根据进程控制块来对并发执行的进程进行控制和管理的。PCB是进程存在的唯一标志。2.2.2 PCB的内容进程标识信息处理器状态信息进程调度信息图2-9 进程控制块进程控制信息(1)进程标识信息。包括:本进程的标识符,可分为外部标识符和内部标识符两种。其中,外部标识符也称作进程的外部名,是进程的创建者提供的进程名字,通常由字符串组成。内部标识符
17、也称作进程的内部名,是系统为进程命名的一个代码,通常是一个整型数。父进程(也就是创建本进程的进程)的标识符。用户标识符,进程所属用户的标识符。2.2.2 PCB的内容(2)处理机状态信息。包含的内容有:通用寄存器的内容,包括数据寄存器、段寄存器等。程序计数器的值,其中存放了要访问的下一条指令的地址。程序状态字PSW,其中含状态信息,如条件码、执行方式、中断屏蔽标志等。进程的堆栈指针。(3)进程调度信息。系统为了对进程实施调度,必须参考进程控制块中记录的调度信息,包括:进程优先级。进程状态信息,描述进程当前处于何种状态。其它调度信息。2.2.2 PCB的内容(4)进程控制信息。这部分信息包括:程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2-第2章 进程管理操作系统原理 进程 管理 操作系统 原理
限制150内