目录
进程定义
进程状态
PCB(进程控制块)
PCB的内容
PCB的组织方式
进程的控制
进程的创建
4种主要事件会导致进程的创建:
进程创建的过程
进程的终止
终止原因
终止过程
进程同步
临界资源
信号量同步机制
1、整型信号量
2、AND型信号量
3、信号量集
经典进程同步问题
进程定义
进程是系统进行资源分配和调度的一个独立单位,进程包括程序段、数据和PCB
进程状态
3种基本状态:
就绪状态:进程获得了除处理机CPU之外的所有资源(可以有多个,排成就绪队列)执行状态:进程的程序正在处理机上执行(单CPU中只有一个进程处于该状态)阻塞状态:因发生某事件(如请求I/O,申请缓存空间等)而暂停执行的状态(也称为睡眠状态或等待状态)
引入挂起状态后则有5种进程状态,关系如下图
PCB(进程控制块)
PCB的内容
1、进程标识符
用于唯一标识一个进程,可分为2种,一种是
内部标识符,是进程的唯一序号,一种是
外部标识符,由创建者提供名字
2、处理机状态
CPU处理进程的现场信息,包括
通用寄存器、指令计数器、程序状态字PSW、用户堆栈指针等信息3、进程调度信息
进程状态
进程优先级
进程调度的其它信息(如进程已等待CPU的时间、进程已执行的时间总和等)
事件(进程由执行状态变成阻塞状态的事件,即阻塞原因)
4、进程控制信息
程序和数据的地址
进程同步和通信机制(如消息队列,信号量等)
资源清单(列出进程在运行期间所需的全部资源)
链接指针(给出本进程所在队列的下一个进程的PCB的首地址)
PCB的组织方式
线性方式、链接方式、索引方式
进程的控制
进程的创建
4种主要事件会导致进程的创建:
1、系统初始化
2、正在运行的程序执行了创建进程的系统调用
3、用户请求创建一个新进程
4、一个批处理作业的初始化
进程创建的过程
1、申请空白PCB(获得唯一数字标识符,并从PCB集合中取一个空白PCB)
2、为新进程分配其运行所需的资源(包括各种物理和逻辑资源,如内存、文件、I/O设备、CPU时间等)
3、初始化PCB
4、如果进程就绪队列能够纳新进程,便将新进程插入就绪队列
进程的终止
终止原因
1、正常退出
2、出错退出
3、严重错误
4、被其它进程杀死
终止过程
根据标识符从PCB集合中找出该进程的PCB
若进程处于执行状态,则立即终止进程的执行,
若进程还有子孙进程,应将所有子孙进程也都终止
将进程的资源归还给父进程或者系统
将进程的PCB从队列中移出
进程同步
临界资源
一个时刻只能由一个进程使用的资源,对临界资源的使用,应采用互斥的原则,如何互斥?有许许多多不同的方法,各有优劣
临界资源的同步准则:
1、空闲让进(临界资源空闲时允许一个进程进入临界区使用资源)
2、忙则等待(当临界资源被访问时,其它进程需等待)
3、有限等待(进程应保证在有限时间内可以进入临界区,避免进入“死等”状态)
4、让权等待(当进程不能进入临界区时,应立即让出CPU)
信号量同步机制
1、整型信号量
由以上P、V操作两个操作实现
2、AND型信号量
为解决一个进程需使用多个临界资源而设计的
3、信号量集
对AND信号量的扩展,更方便使用
经典进程同步问题
生产者消费者问题
阅览室管理问题
读者写者问题
过独木桥问题
哲学家进餐问题