进程基本概念PPT演示文稿

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
5、进程的分类
系统进程 系统进程起着资源管理和控制的作用。或者:
执行操作系统核心代码的进程。
用户进程:执行用户程序的进程。 (系统进程优先于用户进程)
另一种分类:计算进程,I/O进程等。
8
系统进程与用户进程的区别
1、系统进程被分配一个初始的资源集合,这些资源可 以为它独占,也能以最高优先权的资格使用。用户进 程通过系统服务请求的手段竞争使用系统资源; 2、用户进程不能直接做I/O操作,而系统进程可以做 显式的、直接的I/O操作。 3、系统进程在系统态(管态)下活动,而用户进程则 在用户态(目态)下活动。(当中央处理器处于管态 时,可以执行包括特权指令在内的一切面器指令,而 在目态下工作时不允许执行特权指令。)
29
3) 进程调度信息 在PCB中还存放一些与进程调度和进程对换有关的信息, 包括:① 进程状态,指明进程的当前状态,作为进程调度和 对换时的依据;② 进程优先级,用于描述进程使用处理机的 优先级别的一个整数,优先级高的进程应优先获得处理机; ③ 进程调度所需的其它信息,它们与所采用的进程调度算法 有关,比如,进程已等待CPU的时间总和、进程已执行的时 间总和等;④ 事件,指进程由执行状态转变为阻塞状态所等 待发生的事件,即阻塞原因。
9
二、进程的状态及其转换
不同系统设置的进程状态数目不同 1、三状态模型:
进程的三种基本状态:运行状态、 就绪状态、等待(阻塞)状态。
进程在生命消亡前总是处于且仅 处于三种基本状态之一。
10
运行态(Running):
当进程由调度/分派程序(Dispatcher)分派后,进程 占有CPU,并在CPU上运行。(注意:在系统中,总只有 一个进程处于此状态)
4
2、进程的构成
进程=PCB+程序+数据 其中,PCB(process control block)为记
录程序在并发系统中执行时的动态特性的数据结 构。
进程的这三部分构成进程在系统中存在和活 动实体,称为--“进程映象”or“进程实体”。
5
3、进程的特征
•并发性:任何进程都可以同其他进程一起向 前推进
运行 --> 等待 当一进程必须等待时 OS尚未完成服务 对一资源的访问尚不能进行 初始化I/O 且必须等待结果 等待某一进程提供输入 (IPC)
等待 --> 就绪 当所等待的事件发生时
13
进程三状态模型的内存跟踪示意图
14
进程三状态转换的再说明
进程之间的状态转换并非都是可逆的,进程 既不能从等待变为运行,也不能从就绪变为等 待;
(1) 内部标识符。在所有的操作系统中,都为每一个 进程赋予了一个惟一的数字标识符,它通常是一个进 程的序号。设置内部标识符主要是为了方便系统使用。 (2) 外部标识符。它由创建者提供,通常是由字母、 数字组成,往往是由用户(进程)在访问该进程时使用。 为了描述进程的家族关系,还应设置父进程标识及子 进程标识。此外,还可设置用户标识,以指示拥有该 进程的用户。
•处于核心段,通常不能由应用程序自身的代 码来直接访问,而要通过系统调用,或通过 UNIX中的进程文件系统(/proc)直接访问进程 映象(image)。文件名为进程标识(如: 00316),权限为创建者可读写。
27
3、PCB的内容
进程描述信息:
进程标识符(process ID):唯一,通常是 一个整数;
25
2、作用
系统利用PCB来控制和管理进程,所以 PCB是系统感知进程存在的唯一标志。
进程的状态转换、进程的推进也是以 PCB体现出来的。
26
注意:
•进程与PCB是一一对应的
•是每个进程在OS中的登记表项(可能有总数 目限制),OS据此对进程进行控制和管理 (PCB中的内容会动态改变),不同OS则不同
空 PCB 运行态 就绪态 等待 1 等待 2
PCB1
6
PCB2
7
PCB3
10
PCB4
PCB5
PCB6
5
PCB7
......
PCBn
15
33
索引表(常用方式):建立几个索引表(index table),记载相应状态进程的PCB,将状态相同的 进程的PCB组织在同一表中,每个索引表的表目中存 放该PCB的地址。各索引表在内存中的起始地址放在 专用的指针单元中。CPU的调度根据相应的索引表进 行的。
第二节 进程基本概念
上面所列的多道系统中的程序并发运
行的新特点,程序本身是无法描述的,为
此,当一个程序在并发系统中执行时,需 引进一个新的数据结构来记录和描述这些 特征。这样,新引进的数据结构与它所描 述的程序便形成了一个有机体。这个有机 体就是进程。
1
进程模型的提出:MIT(麻省理工学院), 60年代初期 进程的概念 进程的状态及其转换 进程控制块(Process Control Block)
进程之间的状态转换并非都是主动的,在很 多情况下是“它动的”,事实上,只有运行到 等待的转换是进程的主动行为(主动调用调度 管理程序),其它都是它动的,如,从执行到 就绪,通常是时钟中断引起的,从等待到就绪, 是一个进程把另一个进程唤醒。
15
其他状态
当然,除某些比较特殊的进程以外,大多数 进程有其发生、发展和消亡的过程,不会无 休止地在上述三种状态中循环。对这些进程 而言,还应该有其它状态,如: 创建状态,终止状态 挂起状态
阻塞挂起状态(Blocked suspend):进程 在外存并等待某事件的出现
就绪挂起状态(Ready suspend):进程在 外存,但只要进入内存,即可运行
21
七状态进程模型图
活动
挂起 事件 发生
活动
挂起 调度
超时
事件 发生
等待 事件
释放
挂起
22
新状态转换 (中期调度)
1)挂起(Suspend):把进程从内存转到外存, 可能有以下几种情况: 阻塞到阻塞挂起:释放内存; 就绪到就绪挂起:释放内存; 运行到就绪挂起:对抢先式分时系统,当有高 优先级阻塞挂起进程因事件完成而进入就绪时, 系统可能会把运行进程转到就绪挂起状态;
19
3、七状态模型(引入挂起状态)
该模型的出现是由于某些原因导致进程 被对换至外存,成为挂起状态。包括:
终端用户的需要:调试 父进程请求: 负荷调节的需要:内存等资源紧张 OS的需要:检查资源使用情况等(如银 行家算法)
20
状态:
就绪状态(Ready):进程在内存且可立即进 入运行态;
阻塞状态(Blocked):进程在内存等待某事 件出现
23
2)激活(Activate):把进程从外存转到内 存,可能有以下几种情况:
就绪挂起到就绪:没有就绪进程或挂起就 绪进程优先级高于就绪进程时,会进行这种 转换;
阻塞挂起到阻塞:当Blocked Suspend队列 中有一个进程的阻塞事件可能会很快发生, 则可将一个Blocked/Suspend进程换入内存, 变为Blocked
17
五状态进程模型图
18
收容(Admit, 也称为提交):收容一个新进程, 进入就绪状态。由于性能、内存、进程总数 等原因,系统会限制并发进程总数。
释放(Release):由于进程完成或失败而中止 进程运行,进入结束状态;
➢运行到结束:分为正常退出Exit和异常 退出abort(执行超时或内存不够,非法指 令或地址,I/O失败,被其他进程所终止) ➢就绪或阻塞到结束:可能的原因有:父 进程可在任何时间中止子进程;
31
4、PCB表
系统把所有PCB组织在一起,并把它们放在内 存的固定区域,就构成了PCB表 PCB表的大小决定了系统中最多可同时存在的 进程个数,称为系统的并发度 (注:多道程序中的多道与系统并发度的区 别) PCB的组织方式:链表方式;索引表方式
32
链表方式:同一状态的进程其PCB成一链表, 多个状态对应多个不同的链表:就绪链表、阻 塞链表
寄存器,在RISC结构的计算机中可超过100个;② 指令计数
器,其中存放了要访问的下一条指令的地址;③ 程序状态字
PSW,其中含有状态信息,如条件码、执行方式、中断屏蔽
标志等;④ 用户栈指针,指每个用户进程都有一个或若干个
与之相关的系统栈,用于存放过程和系统调用参数及调用地
址,栈指针指向该栈的栈顶。
30
4) 进程控制信息 进程控制信息包括:① 程序和数据的地址,指进程的程 序和数据所在的内存或外存地(首)址,以便再调度到该进程执 行时,能从PCB中ቤተ መጻሕፍቲ ባይዱ到其程序和数据;② 进程同步和通信机 制,指实现进程同步和进程通信时必需的机制,如消息队列 指针、信号量等,它们可能全部或部分地放在PCB中;③ 资 源清单,即一张列出了除CPU以外的、进程所需的全部资源 及已经分配到该进程的资源的清单;④ 链接指针,它给出了 本进程(PCB)所在队列中的下一个进程的PCB的首地址。
2
一、进程的概念
1、进程定义:Process 进程是具有独立功能的程序在某
个数据集合上的一次运行活动,是系统 进行资源分配和调度的独立单位。
3
对进程定义的进一步分析
此定义包含有如下的含义: (1)进程是一个动态的概念,而程序是静态的; (2)进程包含了一个数据集合和运行其上的程序; (3)同一程序运行于若干不同的数据集合上时,它将 属于若干个不同的进程,或者说,两个不同的进程可包 含相同的程序; (4)系统分配资源是以进程为单位的,所以只有进程 才可能在不同的时刻处于几种不同的状态,即等待、就 绪、运行。 (5)从微观上看,进程是轮换地占有处理机而运行的, 从宏观上看,进程是并发地运行的。
(调节负载,父进程,操作系统,终端用 户)
16
2、五状态模型
引入了创建状态与终止状态 ✓创建( 新new)状态
OS 已完成为创建一进程所必要的工作(包括已构 造了进程标识符,已创建了管理进程所需的表 格),但还没有允许执行该进程 (尚未同意), 因为资源有限 ✓终止(退出exit)状态 进程已结束运行,回收除PCB之外的其他资源, 并让其他进程从PCB中收集有关信息 例: 为处理用 户帐单而累计资源使用情况的财务程序,当数据不再 需要后,进程(和它的表格)被删除
就绪态(Ready):
一个进程已经具备运行条件,但由于无CPU暂时不 能运行的状态(当调度给其CPU时,立即可以运行)
等待态(Blocked):阻塞态、挂起态、封锁态
冻结态、睡眠态
指进程因等待某种事件的发生(请求I/O、申请缓 冲空间等)而暂时不能运行的状态(注意:即使CPU空 闲,该进程也不可运行)
11
进程状态转换:
在进程运行过 程中,由于进程自 身进展情况及外界 环境的变化,这三 种基本状态可以依 据一定的条件相互 转换
就绪—运行
运行—就绪
运行—等待
等待—就绪
运行
就绪
等待
进程的状态及其转换
12
就绪 --> 运行 调度程序选择一个新的进程运行
运行 --> 就绪 运行进程用完了时间片 运行进程被中断,因为一高优先级进程处于就绪状态
24
三、进程控制块 Process Control Block,PCB
1、def: 存放进程的管理和控制信息的数据结
构称为进程控制块。 ➢ 它是进程管理和控制的最重要的数据结构,
在创建时,建立PCB,并伴随进程运行的全 过程,直到进程撤消而撤消; ➢ PCB就象我们的户口;系统用它来记录进程 的外部特征,描述进程的运动变化过程; ➢ 进程控制块是由OS维护的用来记录进程相关 信息的一块内存。
28
2) 处理机状态
处理机状态信息主要是由处理机的各种寄存器中的内容
组成的。处理机在运行时,许多信息都放在寄存器中。当处
理机被中断时,所有这些信息都必须保存在PCB中,以便在该
进程重新执行时,能从断点继续执行。这些寄存器包括:①
通用寄存器,又称为用户可视寄存器,它们是用户程序可以
访问的,用于暂存信息,在大多数处理机中,有 8~32个通用
•动态性:进程对应程序的执行;进程是动态 产生,动态消亡的;进程在其生命周期内,在 三种基本状态之间转换
•独立性:进程是CPU调度的一个独立单位
•异步性:每个进程都与其相对独立的不可预 知的速度向前推进
•结构性:进程的组成:程序+数据+PCB 6
4、程序与进程之间的区别
进程是动态的,程序是静态的:程序是有序代码 的集合;进程是程序的执行。通常进程不可在计算 机之间迁移;而程序通常对应着文件、静态和可以 复制。 进程是暂时的,程序的永久的:进程是一个状态 变化的过程,程序可长久保存。 进程与程序的组成不同:进程的组成包括程序、 数据和进程控制块(即进程状态信息)。 进程与程序的对应关系:通过多次执行,一个程 序可对应多个进程;通过调用关系,一个进程可包 括多个程序。
相关文档
最新文档