✨ Blog's 主页: 白乐天_ξ( ✿>◡❛)
🌈 个人Motto:他强任他强,清风拂山冈!
🔥 所属专栏:C++深入学习笔记
💫 欢迎来到我的学习笔记!
一、进程的状态
1.1.创建态
......的同时正在创建进程,这就是创建态。在创建态中,操作系统会为进程分配资源、初始化PCB。创建态又叫做"新建态"。
1.2.就绪态
创建完的进程会进入就绪态,此时它已经具备运行条件,但是由于没有空闲的CPu,就暂时无法运行。
1.3.运行态
系统中不只有一个进程处于"就绪态"。CPU空闲时就会任选一个进程上机运行,此时该进程处于"运行态",CPU就会执行该进程对应的程序(执行指令序列)。
1.4.阻塞态
正在运行中的进程可能会请求某个事件的发生(比如等待某种系统资源的分配或者等待其他进程响应)。在这个时间发生之前,该进程无法继续往下执行,此时操作系统就会让这个进程下CPU,让它进入"阻塞态"。
等待的事件发生后,该进程就会从"阻塞态"转换为"就绪态",此时进程就会拥有再次上机运行的能力。
"阻塞态"又叫做"等待态"。
1.5.终止态
一个进程可以执行exit
系统调用,请求操作系统终止该进程,此时进程就进入"终止态"。操作系统会让该进程下CPU,并回收内存空间等资源,最后还要回收该进程的PCB。
终止态又叫做结束态。
二、进程状态的转换(进程五状态模型)
三、进程的组织
3.1.链接方式
- 按照进程的状态将PCB分为多个队列;
- 操作系统持有指向各个队列的指针。
3.2.索引方式
- 根据进程状态的不同,建立几张索引表;
- 操作系统持有指向各个索引表的指针。