操作系统陆丽娜版课件

上传人:我*** 文档编号:146045742 上传时间:2020-09-25 格式:PPT 页数:86 大小:504KB
返回 下载 相关 举报
操作系统陆丽娜版课件_第1页
第1页 / 共86页
操作系统陆丽娜版课件_第2页
第2页 / 共86页
操作系统陆丽娜版课件_第3页
第3页 / 共86页
操作系统陆丽娜版课件_第4页
第4页 / 共86页
操作系统陆丽娜版课件_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《操作系统陆丽娜版课件》由会员分享,可在线阅读,更多相关《操作系统陆丽娜版课件(86页珍藏版)》请在金锄头文库上搜索。

1、2020/9/25,1,第二章 进程与线程,进程的基本概念 线程的基本概念,2,一、进程的基本概念,1.进程的引入 2.进程的定义 3.进程的特征 4.进程的状态及其转换 5.进程控制块 6.进程的控制,3,1.进程的引入,(1)顺序程序 顺序环境: 计算机系统中只有一个程序在运行 该程序独占系统中所有资源 其执行不受外界影响,4,顺序程序(续),特点: 顺序性: 一个程序在顺序处理器上的执行是严格按序的,即每个操作必须在下一个操作开始之前结束。 封闭性: 程序一旦开始执行,其计算结果不受外界的影响,当程序的初始条件给定之后,其后的状态只能由程序本身确定,即只有本程序才能改变它。 计算过程的可

2、再现性: 只要程序的初始条件相同,它的执行结果是相同的,不论它在什么时间执行,也不管计算机的运行速度。 给程序的编制、调试带来很大方便,其缺点是计算机系统效率不高。,5,(2)并发程序,并发环境: 一定时间内,物理机器上有两个或两个 以的程序同处于开始运行但尚未结束的 状态,并且次序不是事先确定的 引入并发的目的: 提高资源利用率,从而提高系统效率,6,(2)并发程序(续1),7,程序并发执行(定义),程序并发执行: 若干个程序段同时在系统中运行,这些程序的执行在时间上是重迭的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重迭是很小的,也称这几个程序段是并发执行的。,8,程序

3、并发执行的描述,程序并发执行的描述 cobegin S1;S2;S3;.;SN coend; 其中Si(i=1,2,3,.,n)表示n个语句(程序段),这n个语句用cobegin和coend括起来表示这n个语句是可以并发执行的。 说明:co是concurrent的头两个字符。,9,并发程序(续3),特点: (1)程序执行结果的不可再现性 并发程序执行的结果与其执行的相对速度有关, 是不确定的 (2)程序和计算不再一一对应 (计算:一个程序的执行) (3)独立性和制约性 独立的相对速度、起始时间; 进程之间可相互作用(制约),见图2-3,见图2-4,10,终端2 程序 P2 排队等待售票 if

4、X1 then begin X=X-1 售票 end else 无票,终端1 程序 P1 排队等待售票 if X1 then begin X=X-1 售票 end else 无票,见图2-3,11,见图2-4,12,(3)进程的引入,OS基本特征是并发与共享,即在系统中(内存)同时存在几个相互独立的程序,他们交叉地运行,并共享资源,这就会引起下列问题: 资源的竞争 程序之间的合作与协同 程序之间的通信等 要解决这些问题,用程序的概念已经不能描述程序在内存中运行的状态,必须引入新的概念进程,13,2.进程的定义,定义:Process 进程是程序的一次执行过程,是系统进行资源分配和调度的一个基本单

5、位。 MIT称进程(process), Massachusettes Institute of Technology (美国)麻省理工学院 IBM 公司称任务(task ) Univac公司称活动(active ),14,2.进程的定义,进程是程序的一次执行 进程可以和别的计算并发执行的计算 进程可定义为一个数据结构及能在其上进行操作的一个程序 进程是一个程序及其数据在处理机上顺序执行时所发生的活动 进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。,15,3.进程的特征,动态性:有生命周期 并发性:并发执行 独立性:独立获得资源、独立运行单位 异步性:推进速度不可

6、预知、执行结果不确定 结构性:由程序段、数据段和PCB组成,16,问题,程序与进程之间的联系与区别? 联系 进程由程序组成 进程执行程序 区别 静态- 动态 永久- 暂时 一个程序对应多个进程/一个进程包括多个程序,17,4. 进程的状态及其转换,(1)进程的三种基本状态: 运行态(Running): 就绪态(Ready): 等待态(Blocked):阻塞态、封锁态、睡眠态,进程在生命消亡前处于且仅处于三种基本状态之一,18,(2)三种基本状态及其转换,进程状态转换: 就绪运行(进程调度) 运行就绪(时间片到等) 运行等待(服务请求,如请求I/O等) 等待就绪(服务完成/事件来到),19,(3

7、)五种状态进程模型,在三种基本状态中增加挂起状态和激活状态 引入挂起状态的原因: 用户要求 负荷调节 父进程请求,20,引起进程挂起的原因,系统中的进程均处于等待状态,处理器空闲,此时需要把一些阻塞进程对换出去,以腾出足够的内存装入就绪进程运行。, 进程竞争资源,导致系统资源不足,负荷过重,此时 需要挂起部分进程以调整系统负荷,保证系统的实时 性或让系统正常运行。, 把一些定期执行的进程(如审计程序、监控程序和记 账程序)对换出去,以减轻系统负荷。,21, 用户要求挂起自己的进程,以便根据中间执行 情况和中间结果进行某些调试、检查和改正。, 父进程要求挂起自己的后代子进程,以进行 某些检查和改

8、正。, 操作系统需要挂起某些进程,检查运行中资 源使用情况,以改善系统性能;或当系统出 现故障或某些功能受到破坏时,需要挂起某 些进程以排除故障。,22,五种状态进程模型(续),五种状态: 就绪状态(Ready):进程在内存且可立即进入 运行状态 阻塞状态(Blocked):进程在内存并等待某事件 的出现 阻塞挂起状态(Blocked suspend):进程在外存 并等待某事件的出现 就绪挂起状态(Ready suspend):进程在外存, 但只要进入内存,即可运行 运行态,23,五种状态进程模型(续),24,五种状态进程模型(续),挂起(Suspend):把一个进程从内存转到外存;可能有以下

9、几种情况: 阻塞阻塞挂起:操作系统根据当前资源状况和性能要求,可以决定把等待态进程对换出去成为挂起等待态。 就绪就绪挂起:操作系统根据当前资源状况和性能要求,也可以决定把就绪态进程对换出去成为挂起就绪态。 运行就绪挂起:当一个具有较高优先级的挂起等待态进程的等待事件结束后,它需要抢占CPU ,而此时主存空间不够,从而,可能导致正在运行的进程转化为挂起就绪态。另外,处于运行态的进程也可以自己挂起自己。,25,五种状态进程模型(续),激活(Activate):把一个进程从外存转到内存,可能有以下几种情况: 就绪挂起就绪:没有就绪进程或挂起就绪进程 优先级高于就绪进程时,发生转换 阻塞挂起阻塞:当一

10、个进程释放足够内存时, 系统会把一个高优先级阻塞挂起(系统认为会很 快出现所等待的事件)进程,26,(4)创建状态与终止状态,27,创建(新new)状态,OS 已完成为创建一进程所必要的工作 已构造了进程标识符 已创建了管理进程所需的表格 但还没有允许执行该进程(尚未同意) 因为资源有限,28,终止(退出exit)状态,中止后进程移入该状态 它不再有执行资格 表格和其它信息暂时由辅助程序保留 例子: 为处理用户帐单而累计资源使 用情况的财务程序,29,新增状态转换,NULL新建态:执行一个程序,创建一个子进程。 新建态就绪态:当操作系统完成了进程创建的必要操作,并且当前系统的性能和虚拟内存的容

11、量均允许。 运行态终止态:当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结。 终止态NULL:完成善后操作。 就绪态终止态:未在状态转换图中显示,但某些操作系统允许父进程终结子进程。 阻塞态终止态:未在状态转换图中显示,但某些操作系统允许父进程终结子进程。,30,进程的描述,进程由三部分组成:进程控制块、有关程序段和该段程序段对其进行操作的数据集合。 程序。主要用于描述进程所要完成的功能。 数据集合。包括程序执行时所需的数据、堆栈和工作区。 进程控制块(PCB),31,5. 进程控制块(Process Control Block),概念

12、: 记录OS所需的、用于描述进程的当前情况以及控制进程运行的全部信息,是进程存在的唯一标志,常驻内存。 (又称进程描述符、进程属性) PCB的内容: 进程标识符 处理机状态(CPU现场) 进程调度信息:状态、优先级、时间、事件 进程控制信息:地址、通信信息、资源 进程与PCB是一一对应的,32,(1)进程的组成,33,(2)PCB表组织方式,系统把所有PCB组织在一起,并把它们放在内 存的固定区域,就构成了PCB表 链接结构: 同一状态进程的PCB组成一个链表,不同状态对应多个不同的链表 就绪链表、阻塞链表 索引结构: 对具有相同状态的进程,分别设置各自的PCB索引表,表明PCB在PCB表中的

13、地址 进程队列:不同状态进程分别组成队列 运行队列、就绪队列、等待队列,34,35,PCB表组织方式(续2),36,为了防止OS及关键数据如PCB等,受到用户程序的破坏,将处理机的执行状态分成系统态和用户态两种。 OS内核通常是运行在系统态的,而进程控制是由OS内核实现的。,6. 进程控制,37,Os的内核,通常将一些与硬件紧密相关的模块(中断处理程序,常用设备的驱动,运行频率较高的时钟管理、进程调度、公用的一些操作)都安排在紧靠硬件的软件层次中,并使他们常驻内存。,38,OS的支撑功能,中断处理 时钟管理 原语操作 原语本身是有若干条指令所构成、用于 完成一定功能的一个过程。它是一个原子操

14、作。,39,6. 进程控制,进程控制是由OS内核完成的 OS内核通过执行相应的原语来实现进程的控制 进程控制原语:创建、终止、阻塞与唤醒、挂起与激活,40,进程的创建,创建一个PCB 赋予一个统一进程标识符 为进程映象分配空间 初始化进程控制块 许多默认值(如: 状态,使用I/O设备,优先级等) 设置相应的链接 如: 把新进程加到就绪队列的链表中 进程家族 创建进程称为父进程(Parent Process),被创建的 进程称为子进程(Child Process), 子进程可以继承父进程所拥有的资源,并且子进 程又可以通过创建原语再创建它自己的子进程, 从而形成一个进程家族树,图2.13,41,

15、进程创建流程图,创建失败,入口,查PCB链表,有空PCB?,取空PCB(i),将有关参数填入PCB(i)相应表项,PCB(i)入就绪队列,PCB(i)入进程家族或进程链,返回,无,有,42,进程撤消,收回进程所占有的资源 撤消该进程的PCB,43,进程撤消流程图,出错处理,入口,查进程链表或进程家族,有此PCB?,释放该进程所占有的资源,释放该PCB结构本身,返回,该PCB有子进程吗?,有,有,无,无,44,进程阻塞和进程唤醒,处于运行状态的进程,在其运行过程中期待某一事件发生,如等待键盘输入、等待磁盘数据传输完成、等待其它进程发送消息,当被等待的事件未发生时,由进程自己执行阻塞原语,使自己由

16、运行态变为阻塞态,45,进程阻塞与进程唤醒流程图,保存当前进程的CPU现场,置该进程为阻塞状态,被阻塞进程入等待队列,转进程调度,从等待队列中摘下被唤醒进程,将被唤醒进程置为就绪状态,将被唤醒进程送入就绪队列,转进程调度或返回,入口,入口,46,进程切换与模式切换,进程切换 把一个进程让出CPU,由另一个进程占用CPU的过程称 为“进程切换”。进程切换是由进程状态的变化引起的 进程上下文 操作系统中把进程物理实体和支持进程运行的环境合称为进程上下文 进程上下文切换 进程切换是让处于运行态的进程中断运行,让出处理器,这时要做一次进程上下文切换 进程切换的步骤,47,模式切换 当中断发生时,暂时中断正在执行的用户进程,把CPU的工作状态从用户态切换到核心状态,去执行操作系统例行程序以获得服务,这是一次CPU模式切换 模式切换不同于进程切换,

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

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

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