【操作系统学习笔记】处理器管理1.2
参考书籍: 王道考研
视频地址: Bilibili
进程的状态与转换、进程的组织
状态
- 进程正在被创建时,它的状态是创建态,在这个阶段操作系统会为进程分配资源、初始化 PCB
- 当进程创建完成后,便进入就绪态,处于就绪态的进程已经具备运行条件,但由于没有空闲 CPU,暂时无法运行
- 当 CPU 空闲时,操作系统会选择一个就绪进程,让它上处理机运行
- 如果一个进程此时在 CPU 上运行,那么这个进程就处于运行态
- 在进程运行的过程中,可能会请求等待某个事件的发生。在这个事件发生之前,进程无法执行,被下 CPU,处于阻塞态
- 当 CPU 空闲时,又会选择一个就绪态的任务执行
- 进程可以执行 exit 系统调用,操作系统会终止进程,它处于终止态
状态间转换
不能由阻塞态直接转换成运行态,也不能由就绪态直接转换成阻塞态(因为进入阻塞态必须是进程主动请求的,必然要先进入运行态才能发出请求)
创建态 -> 就绪态
就绪态 -> 运行态
- 进程被调度
运行态 -> 就绪态
- 时间片到,或处理机被抢占
运行态 -> 阻塞态
- 进程用系统调用的方式申请某种系统资源,或者请求等待某个事件发生
是进程自身做出的主动行为
阻塞态 -> 就绪态
- 申请的资源或等待的事件发生
不是进程自身能控制的,是一种被动行为
运行态 -> 终止态
进程的组织方式
进程 PCB 中,会有一个变量 state 来表示进程的当前状态。为了对同一个状态的各个进程进行统一的管理,操作系统会将各个进程的 PCB 组织起来
- 链接方式: 管理一个状态队列,状态队列中的状态指针指向状态队列
- 索引方式: 为状态简历索引表