操作系统学习第二章ppt课件.ppt
《操作系统学习第二章ppt课件.ppt》由会员分享,可在线阅读,更多相关《操作系统学习第二章ppt课件.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 进程管理进程管理 在多道程序批处理系统和分时在多道程序批处理系统和分时系统中,系统中,程序程序并不能独立运行,并不能独立运行,作为资源分配和独立运行的基本作为资源分配和独立运行的基本单位是单位是进程进程。本章主要内容本章主要内容1.进程的概念2.进程的描述:PCB、状态、3.进程的控制:创建、撤消、阻塞、唤醒4.进程的低级通信:互斥、同步、P/V操作5.进程的高级通信:消息传递6.进程的调度:分配CPU给某一进程7.死锁:多进程竞争有限资源一、一、程序的顺序执行程序的顺序执行程序的顺序执行:程序的顺序执行:在任何时刻,机器只执行一个操作,只有在前一个操作执行完后,才能执行后继操作
2、。例例 作业i的输入操作、计算操作和打印操作分别用Ii、Ci、Pi表示。则顺序执行过程为:2.1 2.1 进程的引入和概念进程的引入和概念I1I2I3P1C1P2P3C2C3程序顺序执行的特点:程序顺序执行的特点:l顺序性顺序性:在任何时刻,机器只执行一个操作,只有在前一个操作完成后,才进行下一个操作。l封闭性封闭性:程序在运行时独占全机资源。因此,这些资源的状态只能由运行的这个程序决定和改变。不受外界因素影响。l可再现性可再现性:程序执行时,只要初始条件相同,无论程序连续运行,或断断续续地运行,程序的执行结果与其执行速度无关,其最终结果不变。1.优优点点:由于顺序程序的封闭性和可再现性,为程
3、序员调试程序带来了很大方便。2.缺缺点点:由于资源的独占性,使得系统资源利用率非常低。二、二、程序的并发执行程序的并发执行 程序的并发执行程序的并发执行:是指若干个程序(或程序段)同时在系统中运行,这些程序(或程序段)的执行在时间上是重叠的,一个程序(或程序段)的执行尚未结束,另一个程序(或程序段)的执行已经开始。l以资源的共享共享为条件l提高了系统资源利用率、系统吞吐量。例例例例 在下面的在下面的有向无环图有向无环图中,作业中,作业i i的输入操作、的输入操作、计算操作和打印操作分别用计算操作和打印操作分别用I Ii i、C Ci i、P Pi i表示。虽然表示。虽然同一作业中的输入、计算和
4、打印操作必须顺序执行,同一作业中的输入、计算和打印操作必须顺序执行,但对一批作业而言,情况就不同了。但对一批作业而言,情况就不同了。I1I2I3I4P1C1P2P3C2C3P4C4并发执行并发执行程序并发执行的特征:程序并发执行的特征:(1,2,3)1.失去了程序的封闭性和可再现性失去了程序的封闭性和可再现性 程序在并发执行时,多个程序共共享享系系统统中中的的各各种种资资源源,因而这些资源的状状态态将由多个程序来改改变变,致使程序的运行失去了封闭性;由于失去了封闭性,也将导致失去其可再现性。(1)失去了程序的封闭性和可再现性失去了程序的封闭性和可再现性 程程序序的的并并行行执执行行,使使得得系
5、系统统中中的的资资源的状态由并行执行的多道程序决定。源的状态由并行执行的多道程序决定。举例说明:举例说明:假假如如系系统统中中有有两两道道程程序序A和和B,这这两两个个程程序序都都正正在在打打印印机机上上输输出出。程程序序输输出出完成后将打印机释放。完成后将打印机释放。假假定定系系统统用用变变量量N来来记记录录打打印印机机的的可可用用数数量量。假假定定N的的当当前前值值为为1,也也即即还有一台空闲。还有一台空闲。当当A A、B B程序释放打印机后,系统的打印机数量为程序释放打印机后,系统的打印机数量为3 3台台 (即即N=3)N=3)。但由于。但由于两个程序并发执行,各程两个程序并发执行,各程
6、序执行释放操作是随机的,有可能使得序执行释放操作是随机的,有可能使得N的值的值结果不正确。结果不正确。下面是两个程序释放打印机的操作:下面是两个程序释放打印机的操作:int N=1;int N=1;program A:program B:program A:program B:begin beginbegin begin execute program A execute program A;execute program Bexecute program B;释放打印机:释放打印机:N=N+1 N=N+1;释放打印机:释放打印机:N=N+1 N=N+1;endend;endend;“N=N+
7、1”的的操操作作分分解解成成机机器器指指令令为:为:取取N到寄存器到寄存器A;A+1A;存存A到到N;由由于于程程序序A和和B都都以以各各自自独独立立的的速速 度度 向向 前前 推推 进进,故故 程程 序序 A执执 行行N=N+1的的操操作作与与程程序序B执执行行N=N+1操操作作是是随随机机的的。而而这这两两个个程程序序执执行行N的序列可用表描述如下:的序列可用表描述如下:时间 T0 T1 T2 T3 T4 T5程序 A N-A1A1+1-A1A1-N程序 BN-A2A2+1-A2 A2-NN 的值 1 1 2 2 2 3(a)顺序执行时间 T0 T1 T2 T3 T4 T5程序 AN-A1
8、A1+1-A1A1-N程序 B N-A2A2+1-A2A2-NN 的值 1 1 1 1 2 2 (b)交叉执行时间 T0 T1 T2 T3 T4 T5程序 AN-A1A1+1-A1A1-N程序 BN-A2 A2+1-A2A2-NN 的值 1 1 1 1 2 2 (c)交叉执行 若若系系统统只只有有一一台台打打印印机机,分分得得打打印印机机的的程程序序段段(假假设设A得得到到)可可以以继继续续运运行行,而而没没有有得得到到打打印印机机的的程程序序段段B就就不不得得不不暂暂停停执执行行,等等到到有有可可用用打打印印机机时时才才能能继继续续执执行行。我我们们称称这这种制约关系为间接关系。种制约关系为
9、间接关系。还还有有一一种种直直接接制制约约关关系系,是是各各并并发发执执行行的的程程序序段段之之间间需需要要协协调调共共同同完完成成同同一一个个任任务务而而引起的。引起的。例如:例如:type a.c|more 或或 dir|sort;这这两两条条命命令令就就需需要要两两个个程程序序通通过过管管道道实实现现两者之间协作完成用户希望的工作。两者之间协作完成用户希望的工作。在并发环境下程序的执行是间断性的:执行执行停停执行执行2.并行执行的程序间产生了相互制约关系并行执行的程序间产生了相互制约关系 因共共享享资资源源或协协调调完完成成同同一一任任务务,使得并发程序之间发生了相互制约关系。例例 系统
10、中并发执行的程序段A和B在运行过程中都希望使用打印机输出计算结果,若系统只有一台打印机,分得打印机的程序段(假设A得到)可以继续运行,而没有得到打印机的程序段B就不得不暂停,等到有可用打印机时才能继续执行。我们称这种制约关系为间接关系。还还有有一一种种直直接接制制约约关关系系,是是各各并并发发执执行行的的程程序序段段之之间间需需要要协协调调共共同同完完成成同同一一个任务而引起的。个任务而引起的。例如:例如:type a.c|more 或或 dir|sort;这这两两条条命命令令就就需需要要两两个个程程序序通通过过管管道道实现两者之间协作完成用户希望的工作。实现两者之间协作完成用户希望的工作。在
11、并发环境下程序的执行是间断性的:执行停执行3.3.程序与程序与CPUCPU执行的活动之间不再一一对应执行的活动之间不再一一对应l 程程序序:是完成某一特定功能的指令序列,是静态静态的概念;l CPUCPU执执行行的的活活动动:是一个动动态态概念,它是程序的执行过程。例例 在分时系统中,多个用户都调用C编译对自己的源程序进行编译,实际系统只保留一个编译程序,多个用户通过共享执行它完成各自源程序的编译工作。这样,系统虽然只保留一个编译程序,但CPU现正在为多个用户执行编译。由由于于并并发发程程序序的的上上述述这这些些特特点点,使使得得系系统统中中的的活活动动以以及及各各种种活活动动之之间间的的相相
12、互互关关系系非非常常复复杂杂。因因此此,“程程序序”这这个个静静态态的的概概念念已已不不能能如如实实地地反反映映系系统统中中的的活活动动情情况况。为此,现代操作系统引入了为此,现代操作系统引入了进程进程的概念。的概念。三、三、进程的概念进程的概念1 1、进程定义、进程定义 l 进程这个概念是为了描述系统中各并并发发活动活动而引入的。l“进进程程”(process)这一术语,在6060年代初期,首先在美国的麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统中引入的。只是IBM/360使用了另一个术语任任务务(task),但两者的实际含义是相同的。l 进程的定义进程的定义l进程是程
13、序的一次执行。l进程是可以和其它计算并行执行的计算。l进程是一个程序与其使用的数据在处理机上顺序执行时发生的活动。l进程是程序在一个数据集合上的运行过程。l进程是系统进行资源分配和调度的一个独立单位。2 2、进程与程序的联系和区别、进程与程序的联系和区别(5(5个个)(1 1)动态性:动态性:进程进程是程序的一次执行,它是一个动态的概念,是临时的,有生命期的,表现在它由创建而产生,完成任务后被撤消。程序程序是完成某个特定功能的指令的有序序列,它是一个静态的概念。程程序序可以作为一种软件资源长期保存。进程进程是把程序作为它的运行实体,没有程序,也就没有进程。我们把程序看成是一个菜谱,而进程则是按
14、照菜谱进行烹调的过程。(2 2)并发性:并发性:多个进程实体,同存于内存中,能在一段时间内同时执行;程序是不能并发执行的。(3 3)独立性:)独立性:进程是系统进行资源分配和调度的一个独立单位;程序则不是。例例 以多用户进程共享一个编译程序为例,为多个用户执行编译时,显然CPUCPU的的分配是以进程为单位分配是以进程为单位,而不是以程序为单位。因为主存只有一个编译程序,但几个用户的源程序都得到编译。(4)异异步步性性:进程以各自独独立立的的、不不可可预预知知的速度向前推进;或者说,进程按异步方式运行。正是这一特征,将导致程序执行的不不可可再再现现性性。因此,在OS中必须采取措施措施来保证各程序
15、之间能协调运行。(5)结结构构特特性性:为了描述和记录进程的运行变化过程,并使之能正确运行,应为每个进程配置一个进进程程控控制制块块。这样,从结构上看,每个进程是由程程序序段段、数数据据段段和和进程控制块进程控制块三部分组成。四、四、OS的控制结构的控制结构lOS为了管理进程和资源,必须掌握关于每个进程和资源当前状态每个进程和资源当前状态的信息。lOS构造并维护它所管理的每个实体的信息表信息表。共分四种不同类型的表。1.存储器存储器-存储表存储表2.I/O设备设备-I/O表表3.文件文件-文件表文件表4.进程进程-基本进程表基本进程表l存储表存储表:用于跟踪主存储器和辅助(虚拟)存储器。保留在
16、辅存中的进程使用某种类型的虚拟存储或简单的交换机制。lI/O表表:用于管理计算机系统中的I/O设备和通道。是否已分配给某个进程?l文件表文件表:提供关于文件是否存在、文件在辅存中的位置、当前状态和其它属性的信息。l进程表进程表:用于管理进程。进程控制块中的基本控制块占有进程表(proc)中的一项。2.2 2.2 进程的描述进程的描述一、进程控制块一、进程控制块PCBPCB(Process Control Block)lOS在管理和控制进程时必须知道什么?1.它必须知道进程的位置。它必须知道进程的位置。2.它必须知道在管理时所必需的进程属性它必须知道在管理时所必需的进程属性l进程控制块进程控制块
17、:与每个进程相关联的所有OS用于控制进程的属性的集合属性的集合。l进程映像进程映像(进程实体进程实体):用户程序、用户数据、系统栈和进程控制块。lPCB是进程存在存在系统中的唯一标识唯一标识。进程映像进程映像(进程实体进程实体)l用户程序用户程序:将被执行的程序。l用户数据用户数据:用户空间中的可修改部分。可以包括包括程序数据、用户栈区域和可修改的程序。l系统栈系统栈:每个进程有一个或多个系统栈,用于保存参数、过程调用地址和系统调用地址。lPCB:OS控制进程所需要的数据。PCB中的基本信息中的基本信息l进程标识符:进程标识符:用于唯一地标识一个进程。外部标识符:外部标识符:由创建者提供,通常
18、是由字母、数字所组成,往往是由用户访问进程时使用,便于记忆。如计算进程、打印进程、发送进程、接收进程等。内部标识符:内部标识符:OS为每一个进程赋予了一个唯一的整数,作为内部标识。父进程标识符、子进程标识符、用户标识符。l进程的状态:进程的状态:说明进程目前所处的状态,进程可能的状态在下一节描述。lCPUCPU现场保护区:现场保护区:当进程由于某种原因不能继续运行时,要将其CPU运行的现场信息保存起来,以便下次继续运行。通常,CPU的现场信息包括:程序计数器程序计数器(PC)(PC)、工作寄存器、程序、工作寄存器、程序状态字状态字等。lCPUCPU的的调调度度信信息息:包括进程优先级、进程所在
19、各种队列的指针。l进进程程要要执执行行的的程程序序在在主主存存和和外外存存起起始始地地址址,及及存存取保护信息。取保护信息。l进进程程使使用用的的资资源源信信息息:包括分配给进程的I/O设备、正在执行的I/O请求信息、当前进程正打开的文件等。l记记帐帐信信息息:包括CPU占用量,实际所用时间量,帐号等。l进进程程之之间间的的家家族族关关系系 在进程的树型结构系统(如UNIX系统)中,进程之间存在着家族关系。创建进程的进程称为父进程,被创建进程称为子进程。二、进程的状态二、进程的状态1 1、三种基本状态。三种基本状态。进程执行时的间断性间断性,决定了进程可能具有多种状态。(1)(1)运行态运行态
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 学习 第二 ppt 课件
限制150内