江苏师范大学操作系统ppt第3章课件

上传人:我*** 文档编号:143784718 上传时间:2020-09-02 格式:PPT 页数:46 大小:551KB
返回 下载 相关 举报
江苏师范大学操作系统ppt第3章课件_第1页
第1页 / 共46页
江苏师范大学操作系统ppt第3章课件_第2页
第2页 / 共46页
江苏师范大学操作系统ppt第3章课件_第3页
第3页 / 共46页
江苏师范大学操作系统ppt第3章课件_第4页
第4页 / 共46页
江苏师范大学操作系统ppt第3章课件_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《江苏师范大学操作系统ppt第3章课件》由会员分享,可在线阅读,更多相关《江苏师范大学操作系统ppt第3章课件(46页珍藏版)》请在金锄头文库上搜索。

1、第1/46页,第3章 进程管理,3.1 进程的引入 3.2 进程的结构 3.3 进程控制 3.4 进程的同步与互斥 3.5 进程间通信 3.6 进程调度 3.7 死锁 3.8 线程,第2/46页,程序的顺序执行,程序之间 在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。一道程序执行完后另一道才能开始。 程序内部 一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种程序执行的方式就称为程序的顺序执行。,第3/46页,程序顺序执行示例,程序的顺序执行 语句的顺序执行,S1:a=x+y S2:b=a-5 S3:c=b+1,S1,S2,S3,第4/46页,

2、程序的顺序执行的特征,顺序性 处理机严格按照程序所规定的顺序执行,即每个操作必须在下一个操作开始之前结束。 封闭性 程序一旦开始执行,其计算结果不受外界因素影响。当程序的初始条件给定之后,其后的状态只能由程序本身确定,即只有本程序才能改变它。 资源独占 程序执行结果的可再现性 程序的结果与它的执行速度无关(即与时间无关),只要给定相同的输入,一定会得到相同的结果。 与运行速度无关,第5/46页,程序的并发执行,若干个程序同时在系统中运行,这些程序的执行在时间上是重迭的,一个程序的执行尚未结束,另一个程序的执行已经开始,即使这种重迭是很小的,也称这几个程序是并发执行的。,第6/46页,程序并发执

3、行示例,在系统中有3个程序,每个程序都有三个处理步骤,输入数据、处理、输出,即Ii,Ci,Pi (i=1,2,3)。 这些程序在系统中执行时是对时间的偏序,有些操作必须在其它操作之前执行,这是有序的,但有些操作是可以同时执行的。例如: I1、C1、P1的执行必须严格按照I1,C1,P1的顺序,而P1与I2,C1与I2,I3与P1是可以同时执行的。,若每个操作执行时间是1分钟,则顺序执行需9分钟,并发执行需5分钟,第7/46页,程序并发执行时的特征(1),间断性 在并发环境下程序的执行是间断性的: 执行停执行 失去了程序的封闭性 由于并发程序共享系统中的资源,因而这些资源的状态可以由多个程序来改

4、变,程序在执行的过程中必然会受到其他程序的影响。,第8/46页,程序并发执行时的特征(2),程序结果的不可再现性 程序经过多次执行后,虽然它们执行时的环境和初始条件相同,但得到的结果却各不相同。,count=100; PA S1:N=count; S2:N=N+100; S3:count=N;,PB S4:M=count; S5:M=M+200; S6:count=M;,执行情况: (1) PA PB ,PB PA count=400 (2) S1 PBS2S3 count=200 (3) S4 PAS5S6 count=300 ,第9/46页,程序并发执行时的特征(3),程序与计算不再一一对

5、应 在程序顺序执行时,一个程序总是对应一个具体的计算,但在程序的并发执行时,可能有多用户共享使用同一个程序,但处理(计算)的对象却是不同的, 例如,在多用户环境下,可能同时有多个用户调用C语言的编译程序,这就是典型的一个程序对应多个用户源程序的情况。 注:计算,一个程序的执行。,第10/46页,进程的引入,在多道程序设计的环境下,为了刻划系统内部出现的情况,描述系统内部各程序的活动规律,必须引人新的概念进程。 进程的概念来自于麻省理工的MULTICS、IBM的 TSS/360,在IBM的OS/360/370系统中也曾叫过任务(task)。,第11/46页,进程的定义,进程有很多各式各样的定义,

6、如: 进程是这样的计算部分,它是可以和其它计算并行的一个计算。(Donovan) 进程是执行中的程序。(Ken Thompson and Dennis Ritchie ) 行为的一个规则叫做程序,程序在处理机上执行时所发生的活动称为进程(Dijkstra) 进程是一个程序与其数据一道通过处理机的执行所发生的活动 。 (Alan.C. Shaw) 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。 例 板书,第12/46页,进程同程序的比较,进程更能真实地描述并发,而程序不能。 进程是动态的,程序是静态的。程序是指令的有序集合,其本身没有任何运行的含义

7、,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。 进程的存在是暂时的,而程序的存在是相对长久的。程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。 进程=程序+数据+PCB。 同一程序可以对应多个进程,一个进程只对应一个程序。同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。 进程具有创建其他进程的功能,而程序没有。,第13/46页,进程的特征(1),(1)结构性 进程的组成:代码段数据段PCB 又称“进程映象” (2)动态性 进程是程序执行的过程; 进程有生命期: 创建、执行、暂停、消亡; 说明:程序是静态的概念,

8、在机内外都存在,而 进程只存在于系统内部。,第14/46页,进程的特征(2),(3)并发性 指多个进程实体同时存在于内存中,能在一段时间内同时运行(并发)。 (4)独立性 进程是一个运行的独立单位 系统资源分配和保护的独立单位。 (5)异步性 进程以各自独立的、不可预知的速度向前推进。,第15/46页,进程的三种基本状态,就绪状态(Ready) 一个进程已经具备运行条件,但由于无CPU暂时不能运行的状态(当调度给其CPU时,立即可以运行)。 运行状态(Running) 进程占有CPU,并在CPU上运行。 阻塞状态(Wait / Blocked ) 指进程因等待某种事件的发生而暂时不能运行的状态

9、。(即使CPU空闲,该进程也不可运行),第16/46页,进程状态转换(1),在进程运行过程中,由于进程自身进展情况及外界环境的变化,这三种基本状态可以依据一定的条件相互转换。 就绪 - 运行 调度程序选择一个新的进程运行 运行 - 就绪 运行进程用完了时间片 运行进程被中断,因为一高优先级进程处于就绪状态,第17/46页,进程状态转换(2),运行 - 阻塞 当一进程必须等待时 OS尚未完成服务; 对一资源的访问尚不能进行; 初始化I/O 且必须等待结果; 等待某一进程提供输入 阻塞- 就绪 当所等待的事件发生时,第18/46页,进程三状态的转换模型,第19/46页,思考题,如果单CPU系统中有

10、N个进程,运行状态的进程最多几个,最少几个?就绪状态的进程最多几个,最少几个?阻塞状态的进程最多几个,最少几个? 有没有这样的状态转换 阻塞运行,就绪阻塞。 一个状态转换的发生,是否一定导致另一个状态转换发生,列出所有的可能。,第20/46页,五状态模型,第21/46页,进程为何有“挂起”状态,由于进程的不断创建,系统资源已不能满足进程运行的要求,就必须把某些进程挂起(suspend),对换到磁盘镜像区中,暂时不参与进程调度,起到平滑系统操作负荷的目的。 (1)终端用户的请求 (2)父进程的请求 (3)负荷调节的需要 (4)操作系统的需要,第22/46页,新增加的状态,挂起就绪态(ready

11、suspend) 表明进程具备运行条件但目前在二级存储器中,当它被对换到主存才能被调度执行。 挂起阻塞态(blocked suspend) 表明进程正在等待某一个事件且在二级存储器中。,第23/46页,具有挂起功能的进程状态及其转换,第24/46页,具有挂起进程状态转换的具体原因(1),阻塞态挂起阻塞态 当前不存在就绪进程,至少一个等待态进程将被对换出去成为挂起等待态. 挂起阻塞态挂起就绪态 引起进程等待的事件发生之后,相应的挂起等待态进程将转换为挂起就绪态。,第25/46页,具有挂起进程状态转换的具体原因(2),挂起就绪态就绪态 内存中没有就绪态进程,或挂起就绪态进程具有比就绪态进程更高的优

12、先级,将把挂起就绪态进程转换成就绪态。 就绪态挂起就绪态 系统根据当前资源状况和性能要求,决定把就绪态进程对换出去成为挂起就绪态。,第26/46页,挂起进程具有如下特征,该进程不能立即被执行。 挂起进程可能会等待事件,但所等待事件是独立于挂起条件的,事件结束并不能导致进程具备执行条件。 进程进入挂起状态是由于操作系统、父进程或进程本身阻止它的运行。 结束进程挂起状态的命令只能通过操作系统或父进程发出。,第27/46页,进程的实体,在操作系统中,一个进程是通过其物理实体被感知的,进程的物理实体又称为进程的静态描述。进程的静态描述由三部分组成: 程序:描述了进程所要完成的功能; 数据:进程运行所需

13、要的数据和工作区; 进程控制块(PCB):它包含了进程的描述信息、控制信息和资源信息,是进程动态特性的集中反映,是进程存在的唯一标志;,第28/46页,进程控制块(PCB),进程的组成 进程与PCB一一对应 当系统或父进程创建一个进程时,就为它建立了一个PCB;进程结束时又回收其PCB,进程也随之消亡。,第29/46页,进程控制块(PCB)的作用,PCB的作用 PCB是操作系统中最为重要的数据结构,记录了进程的全部信息,PCB既能标识进程的存在,又能刻画出进程的动态特征,它是一个进程仅有的被系统真正感知的部分,OS系统是根据PCB来对并发执行的进程进行控制和管理的,所以PCB是进程存在的唯一标

14、志。,第30/46页,PCB中的信息(1),进程标识符信息 内部标识符 进程标识符(process ID),唯一,通常是一个整数 外部标识符 进程名,通常基于可执行文件名(不唯一) 处理机状态信息 寄存器值(通用、程序计数器PC、状态PSW,地址包括栈指针) 指向赋予该进程的段/页表的指针,第31/46页,PCB中的信息(2),进程调度信息 当前状态 优先级(priority) 进程调度所需的其他信息 阻塞原因 进程控制信息 代码执行入口地址 程序的外存地址 运行统计信息(执行时间、页面调度) 进程间同步和通信; 进程的队列指针、进程的消息队列指针,第32/46页,struct PCB /PC

15、B结构体 char name9; /进程名 int priority; /权限 int arrive; /到达时间 int demand; /需要运行时间 int use; /已运行次数 process-state state; /状态 ,PCB结构定义,第33/46页,PCB表,系统把所有PCB组织在一起,并把它们放在内存的固定区域,就构成了PCB表。 PCB job50 PCB表的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度。 (注:多道程序中的多道与系统并发度不同),第34/46页,PCB的链接组织方式,相同状态的进程PCB组成一个链表,不同状态对应多个不同的链表。,第35

16、/46页,PCB的索引组织方式,对具有相同状态的进程,分别设置各自的PCB索引表,表明PCB在PCB表中的地址。各索引表在内存中的首址记录在内存的一些专用单元中。,第36/46页,进程控制,概念 进程是有生命周期的:创建、运行、暂停、终止,对进程的这些操作叫进程控制。 进程控制包括 进程创建 进程撤消 进程阻塞 进程唤醒 进程挂起 进程激活 这些控制和管理功能是由操作系统中的原语来实现的。,第37/46页,进程控制原语,原语 内核提供核外调用的过程或函数。 原语是用若干条机器指令编写的,用以完成特定功能的一段程序,在执行过程中不允许中断。用户不能直接使用,需通过特殊的系统调用来使用原语。 操作系统使用系统原语(primitive)控制进程状态改变。,第38/46页,进程的创建(1),引起创建进程的事件 用户登录 作业调度 提供服务 存在的进程创建新的进程( 进程孵化 ) 进程图 描述一个进程的家族关系的有向图;

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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