一、进程的定义与特征
为了使参与并发执行的每个程序都能独立地允许,在操作系统中为程序配置一个专门的数据结构,称为进程控制块(Process Control Block,PCB)。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程
进程是程序的一次执行;是一个程序及其数据在处理机上顺序执行时所发生的活动;是具有独立功能的程序,是系统进行资源分配和调度的一个独立单位
特征:
(1)动态性:进程实体具有一定的生命周期,程序则只有一组有序指令的集合。程序是静态的,进程是动态的
(2)异步性:进程是各自独立,以不可预知速度执行的。多个进程以各自的速度执行,可能由于执行顺序的随机性,导致执行结果不同
(3)独立性:进程实体是一个能独立运行、独立获取资源和独立接收调度的基本单位
(4)并发性:多个进程实体共同存在内存中,并且能在一段时间内同时运行
二、进程的五种基本状态
进程的五种状态为:就绪状态、执行状态、阻塞状态、创建状态、终止状态
就绪状态:指进程已处于准备好运行的状态
执行状态:进程已经获得CPU资源,正处于执行状态
阻塞状态:正在执行的进程由于IO等事件暂时无法继续执行
创建状态:进程申请空白PCB,并在PCB中写入进程相关信息,再将该进程转入就绪状态
终止状态:将PCB清零,并将PCB空间返回系统。进程终止并消失
![](https://i-blog.csdnimg.cn/blog_migrate/ef6be3c95eaa1e3eca22f91caa0d8880.png)
在许多系统中,进程还有挂起操作。如果进程被挂起,则该进程处于静止状态,如果进程正在执行,将暂停执行。若进程原本就处于就绪状态,则该进程暂时不接受调度
挂起原语Suspend和激活原语Active。通过这两个原语操作实现对进程的挂起与激活
![](https://i-blog.csdnimg.cn/blog_migrate/f9eaac39c073ddeb654058fd6d5e5ada.png)
三、PCB
在计算机系统中,对每个资源和每个进程都设置了一个数据结构,用于表征其实体。这个数据结构称为资源信息表或进程信息表,也称为进程控制块PCB
PCB的作用是使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程
PCB的功能
①是独立运行单位的标志
②能实现间断性运行方式
③提供进程管理所需的信息
④提供进程调度所需的信息
⑤实现与其它进程的同步与通信
进程控制块PCB中的信息
①进程标识符。分为用户提供的外部标识符和系统提供的内部标识符
②处理机状态。由各种寄存器中内容组成
③进程调度信息。包括进程状态、进程优先级、进程调度所需的其他信息、事件(即阻塞原因)
④进程控制信息。包括程序和数据的地址、进程同步和通信机制、所需资源清单、PCB链接指针
进程控制块的组织方式包括:线性方式、链接方式、索引方式
四、进程创建与终止
进程控制是进程管理中最基本的功能,进程控制一般是由OS内核中的原语来实现,原语的执行是不可以被中断的
OS内核为了防止被破坏,将处理机执行状态分为系统态(管态、内核态)和用户态(目态)。系统态具有较高的特权,能执行一切指令,访问所有寄存器和存储区
OS提供的三种最基本的制程功能是:中断处理、时钟管理、原语操作
在OS中,允许一个进程创建另一个进程,通常把创建进程的进程称为父进程,被创建的进程称为子进程。子进程可以继承父进程所拥有的资源
引起创建进程的事件
(1)用户登录:用户登录后系统将为用户创建一个进程,并将进程插入就绪队列中,这进程是父进程
(2)作业调度:在多道批处理系统中,作业调度程序按照算法调度作业,将其装入内存,并为它创建进程,再将进程插入就绪队列中
(3)提供服务:用户提出请求后,操作系统创建进程来提供用户所需的服务
(4)应用请求:用户自己创建进程
其中前三个都是由操作系统自己建立进程,只有应用请求由用户自己创建进程
进程创建的过程
每当出现创建新进程的请求后,OS便调用创建原语Creat按照如下步骤创建一个新进程:
①申请空白PCB
②为新进程分配其运行所需的资源,包括物理和逻辑资源,内存、IO等
③初始化进程控制块PCB,包括标识信息、处理机状态信息、处理机控制信息
④如果进程就绪队列可以容纳新进程,则将新进程插入就绪队列
引起进程终止的事件
(1)正常结束:进程任务完成,准备退出运行
(2)异常结束:进程在运行过程中,由于某种异常事件,导致程序无法继续运行
异常事件包括越界错误、保护错误、非法指令、特权指令错误、运行超时、等待超时、算术运算错误、IO故障
(3)外界干预:操作员或操作系统干预、父进程请求、父进程终止