进程的描述与控制——进程的基本概念、进程控制块(PCB)
目录
第二章 进程的描述与控制
文章目录
前言
大学期间的笔记,温故而知新。帮助自己梳理知识,也希望可以给需要的你提供帮助。温学之路,如有错误,请纠正,万分感谢!
来自笔者内心理解(以及结合相关文献 综合思考后)的正文:
操作系统——进程的描述与控制——进程的基本概念 与 PCB
了解进程前,我们先来了解几个概念吧!
一、程序的顺序执行
特性 顺序性
封闭性 运行时独占全机资源、结果不受外界干扰
可再现性 初始条件、环境相同时,执行多少次结果都相同(不管是否走走停停)
优点 为程序员检测和矫正程序的错误带来很大方便
二、前趋图(DAG)
定义 是一个有向无环图
意义 更直观地描述进程之间的先后关系
结点 描述一个程序或程序段或一条语句
节点间的有向边 表示偏序关系(前趋关系)
举个例子吧!~ 假设我的图中有这样一个关系:
Pi—>Pj 表示:
Pj是Pi的直接后继
Pi是Pj的直接前驱
Pi是这段关系中的初始结点
Pj是这段关系中的终止结点
重量(权重)可以写在箭头上
三、程序的并发执行
并发与并行的区别 并发:一个时间段内可以同时执行
并行:一个时刻可以同时执行
特性 间断性:程序在并发时共享系统资源,为完成同一项任务相互合作,在并发执行的程序之间形成了相互制约的关系
失去封闭性①
不可再现性①
注:① 程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态由多个程序改变,致使程序运行失去了封闭性,也会导致其失去可再现性
聊了这么多,快来看看什么是进程吧!!
四、进程的特征与状态
定义
进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位
特征
结构特征 一个进程实体(进程“映像”)包含程序段、数据段、PCB②
动态性 此特性相对于程序,程序是静态的。
进程实质上是进程实体的一次执行过程,有一定的生命周期:
并发性 一段时间内同时运行,多进程实体同存于内存中
独立性 进程实体是一个能独立运行、独立分配资源、独立接受调度的基本单位
异步性 进程实体按各自独立的、不可预知的速度向前推进
注释:② PCB:你可以理解为它是使程序独立运行的进程控制块,创建进程实际上就是在创建PCB,详细介绍参照下文[五、进程控制块],别❤急哦。
状态
基本状态
就绪状态 就差CPU了,组成就绪队列
执行状态 单独处理机只能有一个在此状态
阻塞状态(等待状态/封锁状态) 提出I/O请求或申请缓冲空间等,处于阻塞状态的进程排成多个队列
进程三种基本状态之间的转换如下:
挂起状态(静止状态)
原因 终端客户的请求;
或 父进程的请求(考查、修改或调度子进程);
或 负荷调节的需要(OS);
或 操作系统的需要 (e.g.记账)
性质 如果程序正在执行,将暂停执行;如果处于就绪状态,则该进程此时暂不接受调度
挂起状态与非挂起状态进程之间的转换如下(别看多,在上一张图的基础之上,相信你会很好理解的):
创建状态和终止状态
创建状态(没给内存)
为一个进程创建一个PCB,把进程转入就绪状态并插入就绪队列中(给了内存才是创建完成,看给不给)
优点:整个调度更灵活
终止状态
终止后,等待OS进行善后处理③,将PCB清零,并将PCB空间返还系统
注释:③ OS保存一个记录,供其他进程收集,完成信息提取之后,OS删除该进程
啥时候终止? 达到自然结束,或出现了无法克服的错误,或操作系统终结,或被其他进程终止
创建、终止、挂起状态的进程之间的转换如下(在上一张图的基础之上,只有小的增加,很容易明白):
五、进程控制块(PCB)
定义
进程控制块PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。 是操作系统中最重要的记录型数据结构。
作用
使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程:
即
作为独立运行的基本单位的标志;
能实现间断性运行方式;
提供进程管理所需信息;
提供进程调度所需信息;
实现与其他进程的同步和通信信息
PCB 是进程存在的惟一标志:OS根据进程的PCB感知进程的存在,OS根据PCB来对并发执行的进程进行控制和管理
PCB可以被OS中的多个模块读或修改,常驻内存,系统将所有PCB组织成若干队列(或链表)
类型
记录型数据结构(记录全部数据)
内容
进程标识符:
内部标识符(系统用的):数字标识符;
外部标识符(创建者):字母、数字
处理机状态:包括所有寄存器状态
通用寄存器(用户可视):存放进程当前暂存信息;
指令计数器(PC):存放要访问的下一条指令的地址信息;
程序状态字(PSW):存放进程的状态信息;
用户栈指针:存放过程和系统要调用的参数及调用地址
进程调度信息(进程调度、对换):
进程状态;
进程优先级;
进程调度所需的其他信息;
事件:e.g.阻塞原因
进程控制信息
程序和数据地址;
进程同步和通讯机制;
资源清单:除CPU以外的全部资源;
链接指针:本CPU所在的队列中下一个PCB的首地址
组织方式
线性方式 线性表,适用于简单、开销小,适合进程数目不多的项目
链接方式 处于同一状态的PCB用链接字链接成一个队列,形成一个就绪队列,若干阻塞队列、空白队列
(首指针在专门的地方存放)
索引方式 索引表
上一篇:何为操作系统?它的目标、作用、特性、功能、结构是怎样的?
下一篇:进程控制