进程与进程管理.ppt
《进程与进程管理.ppt》由会员分享,可在线阅读,更多相关《进程与进程管理.ppt(42页珍藏版)》请在三一办公上搜索。
1、操作系统,第三章 进程与进程管理,第三章 进程与进程管理,3-1 进程的引入3-2 进程3-3 进程调度3-4 线程的基本概念3-5 Linux的进程与进程管理,3.1 进程的引入,3-1-1前趋图的定义 前趋图(Procedence Graph)是一个有向无循环图(DAG)。图中的每个结点可用于表示一条语句、一个程序段或进程;结点间的有向边则表示在两结点之间存在的偏序或前趋关系“”,=(Pi,Pj)|Pi必须在Pj开始前完成。,3.1 进程的引入,3-1-2 程序顺序执行 定义 程序在执行时,必须按照某种先后次序逐个执行,仅当前一操作执行完后,才能执行后继操作。程序顺序执行的特征 程序执行的
2、顺序性 处理机的操作严格按程序规定的顺序执行,即只有前一操作结束后才能执行后继操作。程序执行的封闭性 程序一旦开始运行,其执行结果不受外界因素的影响。,3.1 进程的引入,程序执行结果的确定性 程序执行的结果与它的执行速度、时间无关。程序结果的可再现性 程序执行时的环境和初始条件相同,当程序多次重复执行时,都将获得相同的结果。3-1-3 程序并发执行 定义图中对一个作业的输入、计算和打印三个操作必须顺序执行,但并不存在PiIi+1关系,因而在对几批数据进行处理时,可使它们并发执行,3.1 进程的引入,程序并发执行特征 程序执行的间断性 程序执行的相互制约将导致并发程序具有“执行暂停执行执行”这
3、种间断性的活动规律 程序执行失去封闭性 因多个程序共享系统中的资源,所以某程序在执行时必然会受到其他程序的影响 程序执行结果的不可再现性 由于失去了封闭性,也将导致失去其可再现性,3.1 进程的引入,例如,共享变量n a=n;b=n;a+;b+;n=a;n=b;程序和计算不再一一对应 程序和计算是两个不同的概念,在程序并发执行中一个共享程序可对应多个“计算”,程序与“计算”已不再一一对应.,3.1 进程的引入,3-1-4 多道程序设计 定义 在采用多道程序设计的计算机系统中,允许多个程序同时进入一个计算机系统的主存储器并运行,这种让多个程序同时进入计算机计算的方法称为多道程序设计。目的 提高处
4、理器的效率,从而提高整个系统的效率 必须解决的问题 存储保护与程序浮动 处理器的管理和调度 系统资源的管理和调度,3.2 进程,3-2-1 引入进程的原因 为了使程序在多道程序环境下能够并发执行,并对并发执行的程序加以控制和描述,引入进程的概念.程序段、数据段及进程控制块三部分构成了一个进程的实体.3-2-2 进程的概念 进程的定义 进程是具有独立功能的可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的独立单位”。或者说,“进程”是进程实体的运行过程。,3.2 进程,程序与进程的区别与联系 进程是程序的一次执行,是一个动态的概念,程序是完成某个特定功能的指令的有序序列,是一
5、个静态的概念;一个进程可以执行一个或几个程序,同一程序也可能由多个进程同时执行 进程是系统进行资源分配和调度的一个独立单位,程序则不是 程序可以作为一种软件资源长期保存,而进程是程序的一次执行过程,它是临时的,有生命期的 进程是具有结构的,3.2 进程,进程的特征 _ 动态性 _ 并发性 _ 独立性 _ 异步性 _ 结构特征3.2.2 进程的基本状态及其转换进程的三种基本状态 就绪状态 当进程已分配到除CPU以外的所有必要的资源后,只要能再获得处理机便可立即执行,这时的状态称为就绪状态,3.2 进程,执行状态 指进程已获得处理机,其程序正在执行 阻塞状态 进程因发生某种事件(如I/O请求、申请
6、缓冲空间等)而暂停执行时的状态,亦即进程的执行受到阻塞,故称这种状态为阻塞状态,有时也称为“等待”状态或“睡眠”状态。进程状态的转换 就绪执行状态 处于就绪状态的进程,当进程调度为之分配了处理机后,3.2 进程,执行阻塞状态 正在执行的进程因发生某种事件而无法执行 执行就绪状态 正在执行的进程如因时间片用完或一个优先权高的进程到来而被暂停执行 阻塞就绪状态 处于阻塞状态的进程,其等待的事件已经发生,3.2 进程,进程的挂起状态 挂起状态的引入 终端用户的需要 父进程的需要 操作系统的需要 对换的需要 负荷调节的需要 进程状态的转换 活动就绪静止就绪 活动阻塞静止阻塞 静止就绪活动就绪 静止阻塞
7、活动阻塞,3.2 进程,3.2 进程,3-2-3 进程控制块PCB 进程控制块的作用 进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程 操作系统是根据进程控制块PCB来对并发执行的进程进行控制和管理的 PCB是进程存在的唯一标志,3.2 进程,进程控制块中的信息 进程标识符信息 进程标识符用于唯一地标识一个进程,通常有外部标识符和内部标识符 处理机状态信息 处理机状态信息主要是由处理机各种寄存器中的内容所组成 进程调度信息 存放了一些与进程调度和进程对换有关的信息 进程控制信息,3.2 进程,PCB的组织方式-链接
8、方式思考:如何申请一个进程PCB,算法怎么写?,练习,进程控制块区域:struct pcbdata data;/pcb中其他信息 int next;/指向下一个pcb pcbarean;写出:进程控制块区域初始化;pcb队列中出队和入队操作;,3.2 进程,-索引方式,3.2 进程,3-2-4 进程控制 进程控制的主要任务是创建和撤消进程以及实现进程的状态转换 操作系统内核 定义 通常,将一些与硬件紧密相关的模块诸如中断处理程序、各种常用设备的驱动程序以及运行频率较高的模块(诸如时钟管理、进程调度以及许多模块公用的一些基本操作)都安排在紧靠硬件的软件层次中并使它们常驻内存,以便提高操作系统的运
9、行效率,并对它们加以特殊的保护,把这一部分称为操作系统的内核 操作系统内核的功能 中断处理、进程管理、资源管理中的基本操作,3.2 进程,原子操作 所谓原子操作是指:一个操作中的所有动作,要么全做,要么全不做。换言之,原子操作是一个不可分割的操作 进程的创建 进程图 进程图是用于描述进程家族关系的有向树 子进程可以继承父进程所拥有的资源,当子进程撤销时,应将从父进程那里获得的资源归还给父进程;在撤销父进程时,也必须同时撤销其所有的子进程,3.2 进程,引起创建进程的事件 用户登录、作业调度、提供服务、应用请求 进程的创建过程 调用进程创建原语create()创建进程 申请空白PCB 为新进程分
10、配资源 初始化进程控制块 将新进程插入就绪队列 进程的终止 引起进程终止的事件 正常结束、异常结束、外界干预,3.2 进程,进程的终止过程 调用进程终止原语destroy()终止进程 根据被终止进程的标识符从PCB集合中检索出该进程的PCB,从中读出该进程的状态 若被终止进程正处于执行状态,应立即终止该进程的执行并设置调度标志为真 若该进程还有子孙进程,还应将其所有子孙进程予以终止 将该进程所拥有的全部资源,或者归还其父进程或者归还给系统 将被终止进程的PCB从所在队列中移出,等待其他程序来搜集信息,3.2 进程,进程的阻塞与唤醒 引起进程阻塞和唤醒的事件 请求系统服务、启动某种操作、新数据尚
11、未到达、无新工作可作 进程阻塞过程 进程便通过调用阻塞原语block()把自己阻塞 立即停止当前进程的执行 把进程控制块中的现行状态由“执行”改为“阻塞”,并把它插入到阻塞队列 调度程序进行重新调度,保留被阻塞进程的处理机状态(在PCB中),再按新进程的PCB中的处理机状态设置CPU环境,3.2 进程,进程唤醒过程 调用唤醒原语wakeup()将等待该事件的进程唤醒 把被阻塞进程从等待该事件的阻塞队列中移出 将其PCB中的现行状态由“阻塞”改为“就绪”然后再将该进程插入到就绪队列中 进程的挂起与激活 进程的挂起过程 当出现了引起进程挂起的事件时,系统就利用挂起原语suspend()将指定进程或
12、处于阻塞状态的进程挂起 检查被挂起进程的状态,若正处于活动就绪状态,便将其改为静止就绪;对于活动阻塞状态的进程,则将其改为静止阻塞,3.2 进程,如被挂起的进程正在执行,则转调度程序重新调度 进程的激活过程 当发生激活进程的事件时系统将利用激活原语active()将指定进程激活 将进程从外存调入内存,检查该进程的现行状态:若是静止就绪,便将其改为活动就绪;若为静止阻塞,便将其改为活动阻塞 假如采用的是抢占调度策略,检查是否要进行重新调度,3.3 进程调度,3-3-1 调度的基本概念 高级、中级和低级调度 一个作业从提交开始直到完成,往往要经历三级调度 高级调度 高级调度又称为作业调度,它决定将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 进程 管理

链接地址:https://www.31ppt.com/p-6351069.html