(五)进程管理:进程的状态与控制
文章目录
- 一、进程的状态
- 二、进程控制
- 1. 进程控制的原语
- 2. 挂起与激活
一、进程的状态
进程的生命周期:从创建到终止的过程
进程的三种基本状态
- 就绪(Ready)
- 可运行而未运行的状态,进程已经分配到除了处理机外的所有资源,等待执行权
- 在执行状态时间片用完也会进入到就绪状态
- 执行(Running)
- 进程从就绪状态获取到了处理机的执行权就会开始执行(进程调度)
- 阻塞(Blocked)
- 执行状态的进程进行I/O操作时就会进入阻塞状态(I/O和计算是由两套设备负责处理,DMA和CPU)
- 进程同步、通信、申请缓存等其他操作也会导致进程阻塞
进程的创建和终止状态
- 创建(New)
- 操作系统将应用从磁盘读取到内存,将整个进程的结构加载进来,最后将进程加到就绪队列等待执行
- 终止(Terminated)
- 进程执行完成,发出终止命令,操作系统将当前进程标记为已终止,资源释放和回收,在内存清除进程的PCB
二、进程控制
1. 进程控制的原语
即OS对进程实现有效的管理,包括创建新进程、撤销已有进程、挂起、阻塞和唤醒、进程切换等多种操作。OS通过原语(Primitive)操作实现进程控制。
- 原语的概念
- 由若干条指令组成,完成特定的功能,是一种原子操作(Action Operation)
- 原语的特点
- 原子操作,要么全做,要么全不做,执行过程不会被中断
- 在管态/系统态/内核态下执行,常驻内存
- 是内核三大支撑功能(中断处理、时钟管理、原语操作)之一
- 进程控制相关原语
- 创建原语:create
- 用户登录
- 作业调度
- 提供服务
- 应用请求
- 阻塞原语:block
- 请求某种服务
- 启动某种操作
- 数据未达到
- 无工作可做
- 唤醒原语:wakeup
- 撤销原语:destory
- 正常结束
- 异常结束
- 外界干预
2. 挂起与激活
为了系统和用户观察和分析进程(方便debug)
- 挂起原语:suspend
- 静止就绪:放外存,不调度
- 静止阻塞:等待事件
- 激活原语:active
- 活动就绪:等待调度
- 活动阻塞:等待唤醒
挂起将程序从内存拷贝到外存进行挂起操作
激活将程序从外存拷贝回内存进行激活