计算机操作系统实用教程教学课件作者王旭启3

上传人:w****i 文档编号:102851808 上传时间:2019-10-04 格式:PPT 页数:102 大小:770.50KB
返回 下载 相关 举报
计算机操作系统实用教程教学课件作者王旭启3_第1页
第1页 / 共102页
计算机操作系统实用教程教学课件作者王旭启3_第2页
第2页 / 共102页
计算机操作系统实用教程教学课件作者王旭启3_第3页
第3页 / 共102页
计算机操作系统实用教程教学课件作者王旭启3_第4页
第4页 / 共102页
计算机操作系统实用教程教学课件作者王旭启3_第5页
第5页 / 共102页
点击查看更多>>
资源描述

《计算机操作系统实用教程教学课件作者王旭启3》由会员分享,可在线阅读,更多相关《计算机操作系统实用教程教学课件作者王旭启3(102页珍藏版)》请在金锄头文库上搜索。

1、第3章进程管理,3.1进程的引入和定义 3.2进程的状态与转换 3.3进程的描述 3.4进程的调度 3.5进程间的通信 3.6死锁 3.7线程 3.8综合应用,3.1进程的引入和定义,3.1.1 程序的顺序执行与特点 当用户要求计算机完成某项工作时,必须使用一定的指令,按照一定的步骤编写能在计算机上运行的“程序”。“程序”是指令的集合,它体现了用户要求计算机完成特定功能的执行步骤。 在早期的计算机系统中,编制一个程序时,通常是按顺序进行设计的。这个程序运行时,将独占整个计算机系统中的各种软件、硬件资源,其他程序只能等待。我们把一个具有独立功能的程序独占处理机直至得到最终结果的过程称为程序的顺序

2、执行。,下一页 返回,3.1进程的引入和定义,假设有n个用户作业,每个作业都有相应的3个程序段。若用节点代表各程序段的操作:用节点I代表输入,节点P代表计算,节点O代表打印,用箭头指示操作的先后次序,则顺序程序的执行过程如图3-1表示。 显然,程序的顺序执行具有下述特征。 1顺序性 处理机的操作严格按照程序所规定的顺序执行。一个程序开始执行时必须要等到前一个程序已执行完成。绝对不可能出现在一个程序执行过程中,又夹杂另一个程序执行的现象。,上一页 下一页 返回,3.1进程的引入和定义,2封闭性 程序执行的最终结果由给定的初始条件决定。程序一旦开始执行,其执行结果不受外界因素的影响。任何时候,位于

3、内存中的程序可以使用系统中的一切资源,不可能有其他程序与之竞争。 3可再现性 程序执行的最终结果与执行速度无关,只要程序执行时的环境和初始条件相同,无论执行多少次,程序的运算结果都是相同的。 程序执行时独占系统中的全部软、硬件资源,资源的使用状态(除了初始状态)只能由程序本身确定。换言之,只有该程序的操作才能改变它,它不受外界因素的影响。,上一页 下一页 返回,3.1进程的引入和定义,3.1.2程序的并发执行及其特点 为了提高计算机系统的处理能力和资源的利用率,就应该让多道程序同时在计算机中交替执行。当一道程序不使用CPU时,另一道程序应马上占用CPU,使CPU和各种外设并行工作,这样就可大大

4、提高CPU的利用率。由于通道和中断技术的出现,在计算机系统中引入了多道程序系统,使得多个程序在时间上可以重叠执行,称之为并发执行。 采用多道程序后系统资源得到了充分的利用。在内存中可同时驻留多道程序,从宏观上看,多道程序在同时执行,而微观上这几道程序是交替地按顺序执行的,如图3-2所示。,上一页 下一页 返回,3.1进程的引入和定义,对于单CPU系统而言,它们只能轮流地占用CPU。也就是说,程序的并发执行是指一组在逻辑上互相独立的程序在一段时间间隔之内的交替执行。由此可见,程序的并发执行在其执行时间上存在着宏观上的相互重叠。 相对单道程序系统而言,并发程序的引入提高了系统资源的利用率,但由于并

5、发进程共享处理机、内存、外设等系统资源,并发进程的执行就产生了与单道环境下的顺序程序执行不同的特点,具体如下。 1程序的封闭性和可再现性不复存在 由于多道程序共享系统内的各种资源,使得资源的状态不再受制于一道程序,而是由多道程序的活动共同决定。,上一页 下一页 返回,3.1进程的引入和定义,2程序之间的相互制约性 一组并发程序执行时,虽然它们各白具有相对独立的功能,但由于它们共享系统中的软、硬件资源,同时程序之间相互合作完成一项共同任务,这使得并发程序之间常常相互依赖、相互制约。 由此可见,相互制约将导致并发程序具有“执行-暂停-执行”的活动规律,使程序的执行出现了间断性。 3程序与计算不再一

6、一对应 程序是指令的有序集合,是静态的概念;而计算是指令序列在CPU上的执行过程,是动态的概念。程序顺序执行时,一个程序只能对应一个计算,程序与计算之间存在着一一对应的关系。,上一页 下一页 返回,3.1进程的引入和定义,而程序并发执行时,一个共享程序可被多个用户作业调用,以使该程序处于多个执行过程中,从而形成了多个计算,显然这时程序与计算已不再一一对应。 4独立性 并发程序在执行过程中,既然是一个独立的执行实体,它也就必然作为一个独立的单位去获取资源,否则将无法独立运行。例如,每当某接收程序要接收数据时,必须申请相应数量的缓冲区,只要系统为它分配了所需的缓冲区后,它便可执行接收操作。由于信息

7、的到达是随机的,因此接收进程随时都有申请缓冲区的要求,用完后要立即释放缓冲区。,上一页 下一页 返回,3.1进程的引入和定义,3.1.3进程的定义与特征 1进程的定义 多道程序在执行时,需要共享系统资源,从而导致各程序在执行过程中出现相互制约的关系,程序的执行表现出间断性的特征。这些特征都是在程序的执行过程中发生的,是动态的过程,而传统的程序本身是一组指令的集合,是一个静态的概念,无法描述程序在内存中的执行情况,即无法从程序的字面上看出它何时执行,何时停顿,也无法看出它与其他执行程序的关系,因此,程序这个静态概念已不能如实反映程序并发执行过程的特征。为了深刻描述程序动态执行过程的性质,人们引入

8、了“进程( process)”概念。,上一页 下一页 返回,3.1进程的引入和定义,进程这一概念的引入,主要是为描述多道程序并发活动的复杂性。由于进程是一个动态过程,它不像静态的程序那样可以编制和存储。正是因为进程随时处于变化之中,人们强调的侧重点不同,使进程的概念难以统一。比较典型的定义为:进程是并发程序在一个数据集合上的一次执行过程,是系统进行资源分配和调度的一个独立单位。 2.进程与程序的区别和联系 从进程的定义可以看出,进程与程序有关,而又与程序不同。进程是对程序进一步抽象的描述,进程与程序的区别和联系可以简要描述如下: (1)进程是程序的执行过程,是一个动态的概念;而程序是指令的有序

9、集合,是一个静态的概念。,上一页 下一页 返回,3.1进程的引入和定义,(2)进程是程序的一次执行过程,因而它是有生命周期的,也就是说,进程的存在是暂时的,而程序的存在是永久的。 (3)进程具有并发性,可以反映各自的执行过程,而程序则不能。 (4)进程的组成包括程序和数据等,而程序仅是指令的有序集合。 (5)进程间常常存在相互制约的关系,而程序很难反映各自的制约关系。 (6)一个程序可以对应多个进程。 (7)一个进程也可以包含多个程序,因为主程序执行时可以调用子程序。,上一页 下一页 返回,3.1进程的引入和定义,3进程的特征 进程具有以下5大特征: 1)动态性 进程的实质是程序的一次执行过程

10、,因此,动态性是进程最重要的特征。进程由操作系统建立与撤消,具有一定的生命周期。它由“创建”产生,由“调度”执行,因得不到所需资源而暂停执行,最后由“撤消”而死亡。 2)并发性 在一个系统中,可能同时存在多个进程,这些进程轮流占用CPU和各种系统资源,同时在系统中运行。,上一页 下一页 返回,3.1进程的引入和定义,3)独立性 进程是一个能够独立运行的基本单位,同时也是系统进行资源分配和调度的一个独立单位。进程在获得其必需的资源后便可执行,而当系统不能提供它所要求的资源时,它便暂停执行。在具有并发活动的系统中,未建立进程的程序不能作为一个独立单位运行。 4)异步性 各进程按照各白独立的、不可预

11、知的速度向前推进,为了保证进程之间能协调运行和共享资源,系统必须提供某些设施来协调各进程的推进速度。,上一页 下一页 返回,3.1进程的引入和定义,5)结构性 为了描述进程的运行变化过程,并使之能够独立运行,应为每个进程配置一个进程控制块PCB。这样,从结构上看,进程是由程序、数据和进程控制块3部分组成的。,上一页 返回,3.2进程的状态与转换,3.2.1进程的状态 进程在其存在的生命周期内,由于并发执行及相互制约,使得它们的状态不断发生变化。例如,一个进程在等待输入输出完成时不能继续运行;另一种情形是一个进程是可以运行的,但由于操作系统把处理机分配给了别的进程使用,于是它只能处于等待状态。只

12、有当前占用CPU的进程,才是真正处于运行状态。为了描述进程在其生命周期内的变化过程及活动规律,我们采用一组状态来对进程的活动规律进行描述,但由于系统的不同,而又有所区别。一般来说,进程有3种基本状态:就绪状态、运行状态和阻塞状态。,下一页 返回,3.2进程的状态与转换,1就绪状态(ready) 当进程获得除CPU外的一切所需资源,一旦得到CPU即可运行,则称此进程处于就绪状态。这是一种逻辑上的可运行状态。在多道程序系统中,处于就绪状态的进程可能是多个,为了便于管理,一般把它们排成一个队列,称就绪队列。 2运行状态( running) 当进程获得了CPU及其他所需资源,正在CPU上运行,则称进程

13、处于运行状态。在单CPU系统中,只有一个进程处于运行状态。在单机处理系统中,某一时刻,只有一个进程处于运行状态;在多机系统中,有多个进程同时处于运行状态。,上一页 下一页 返回,3.2进程的状态与转换,3阻塞状态( blocked) 阻塞状态又称等待状态。正在运行的进程,因等待某一事件而暂时不能运行,它在等待某一事件的发生,则称此进程处于阻塞状态。这时即使CPU空闲,也会因为阻塞尚未消除而不能运行,所以称之为逻辑上的不可运行状态。处于阻塞状态的进程按不同的阻塞原因形成多个阻塞队列。 3.2.2进程状态的转换 进程在其生命周期内并非处于某个状态不变,而是随着白身的推进和外界条件的不断变化而相应地

14、变化,从而使其从一种状态转变成另一种状态。,上一页 下一页 返回,3.2进程的状态与转换,3种基本状态的转换可用图3-3表示。 对于进程的状态转换过程应注意以下3点: (1)一个进程从阻塞状态到运行状态必须经过就绪状态,而不能直接转换到运行状态。因为当某进程解除阻塞时,系统中可能有多个进程都处于就绪状态,这时系统必须根据一定的算法,选择一个就绪进程占用CPU(由进程调度完成)。 (2)一个进程由阻塞状态变为就绪状态总是由外界事件引起的,而不是由该进程自己引起的。 (3)一个进程由运行状态转换为阻塞状态,一般是由运行进程自己提出的。,上一页 下一页 返回,3.2进程的状态与转换,进程之间由于存在

15、同步、资源竞争、相互制约等关系,因此导致了各进程在其生命周期内存在状态的变化。以上3种状态是最基本的状态,但在实际操作系统中,往往不只这3种基本状态。不同的系统,处于对调度策略的考虑,有时把进程的状态做进一步的细化,如在不少系统中又加入了新建和终止这两种状态,如图3-4所示。 (1)新建状态:当一个新进程刚刚建立,还未将其放入就绪队列时的状态,称为新建状态。操作系统在新建状态为新的用户进程分配资源,一旦新建进程进入就绪队列,它便从新建状态转变为就绪状态。,上一页 下一页 返回,3.2进程的状态与转换,(2)终止状态:当一个进程已经正常结束或异常结束,操作系统已将其从系统队列中移出,但尚未撤消,

16、这时称为终止状态。一般操作系统要在此状态收集一些数据或信息,如了解该进程用了多少CPU时间,使用了哪些资源等,以便记录。,上一页 返回,3.3进程的描述,3.3.1进程的组成 进程由程序、数据和进程控制块3部分组成: (1)程序:主要用于描述进程所要完成的功能,是进程所依附的实体。 (2)数据:包括程序执行时所需要的数据和工作区。该部分只能为一个进程专用,是进程可修改的部分。数据和程序是进程完成所需功能的基础。 (3)进程控制块(PCB):记录了进程的描述信息和控制信息,是进程动态特性的集中反映。进程控制块是进程存在的唯一标志,系统通过检测PCB的存在而感知进程的存在。,下一页 返回,3.3进程的描述,3.3.2进程控制块 为了对进程实现有效地管理和控制,当系统创建进程时,为每一个进程设置了一个进程控制块(process control block,PCB)。当进程被撤消时,系统收回其PCB。因此,系统对PCB的管理体现了对进程的管理。所以有必要了解进程控制块所包含的内容,但根据操作系统的不

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号