-
为什么引入进程这个概念?
进程是资源分配的基本单位。在多道程序环境下,程序并发执行破坏了程序的封闭性、可再现性,为了更好的描述程序活动的新特征,引入了进程这个概念。 -
什么是进程?进程由什么组成?
进程的定义五花八门,比如:
- 进程是一个数据结构以及能在其上进行操作的一个程序。
- 进程是程序在处理器上的一次执行过程。
- 进程是一个程序关于某个数据集合在处理器上顺序执行所发生的活动。
显然,很多描述都阐述了进程和数据、处理器相关。
那么,进程由什么组成呢?
一个进程由一个进程控制块(PCB, Process Control Block)、数据段、程序段组成,这三块组成了进程映像,也叫进程实体。
其中PCB由进程标识符、进程当前状态、进程队列指针、进程优先级、程序和数据地址、CPU现场保护区、占有资源清单、通信信息等组成。创建进程,实质上就是创建进程的PCB。
- 进程的几个状态以及转换
创建状态:进程正在被创建,未转到就绪状态。
就绪状态:除了处理器以外的资源均已获取的状态[万事俱备只欠东风]
运行状态:获取处理器资源,进程执行中。
阻塞状态:由于某时间进程暂时无法执行下去(如等待I/O等),进程变成阻塞状态。
结束状态:进程结束。
注意:就绪是除了处理机之外的资源均已获取,和阻塞状态不同。如果运行的进行因为时间片用完,那状态会变成就绪状态。
进程状态转换:
- 执行-->就绪:剥夺调度或时间片用完。
- 执行-->阻塞:等待IO等事件。
- 阻塞-->就绪:等待的时间已经完结了。
- 就绪-->执行:获取处理器资源。
- 进程阻塞与唤醒
- 阻塞:进程本身将进程由执行-->阻塞状态。
- 唤醒:其他进程将进程的状态由阻塞-->就绪状态。
后续:
进程的调度、同步、互斥、死锁等。
网友评论