【OS】2.1.2 进程的状态与转换_进程的组织

Blog's 主页: 白乐天_ξ( ✿>◡❛)

🌈 个人Motto:他强任他强,清风拂山冈!

🔥 所属专栏:C++深入学习笔记

💫 欢迎来到我的学习笔记!

一、进程的状态

1.1.创建态

......的同时正在创建进程,这就是创建态。在创建态中,操作系统会为进程分配资源、初始化PCB。创建态又叫做"新建态"。

1.2.就绪态

创建完的进程会进入就绪态,此时它已经具备运行条件,但是由于没有空闲的CPu,就暂时无法运行。

1.3.运行态

系统中不只有一个进程处于"就绪态"。CPU空闲时就会任选一个进程上机运行,此时该进程处于"运行态",CPU就会执行该进程对应的程序(执行指令序列)。

1.4.阻塞态

正在运行中的进程可能会请求某个事件的发生(比如等待某种系统资源的分配或者等待其他进程响应)。在这个时间发生之前,该进程无法继续往下执行,此时操作系统就会让这个进程下CPU,让它进入"阻塞态"。

等待的事件发生后,该进程就会从"阻塞态"转换为"就绪态",此时进程就会拥有再次上机运行的能力。

"阻塞态"又叫做"等待态"。

1.5.终止态

一个进程可以执行exit系统调用,请求操作系统终止该进程,此时进程就进入"终止态"。操作系统会让该进程下CPU,并回收内存空间等资源,最后还要回收该进程的PCB。

终止态又叫做结束态。

二、进程状态的转换(进程五状态模型)

三、进程的组织

3.1.链接方式

  1. 按照进程的状态将PCB分为多个队列;
  2. 操作系统持有指向各个队列的指针。

3.2.索引方式

  1. 根据进程状态的不同,建立几张索引表;
  2. 操作系统持有指向各个索引表的指针。
相关推荐
就爱敲代码16 分钟前
怎么理解ES6 Proxy
1024程序员节
憧憬一下16 分钟前
input子系统的框架和重要数据结构详解
arm开发·嵌入式·c/c++·1024程序员节·linux驱动开发
TT哇25 分钟前
【Java】数组的定义与使用
java·开发语言·笔记
三日看尽长安花25 分钟前
【Tableau】
1024程序员节
sswithyou1 小时前
Linux的调度算法
1024程序员节
武子康1 小时前
大数据-187 Elasticsearch - ELK 家族 Logstash Filter 插件 使用详解
大数据·数据结构·elk·elasticsearch·搜索引擎·全文检索·1024程序员节
互联网杂货铺1 小时前
Python测试框架—pytest详解
自动化测试·软件测试·python·测试工具·测试用例·pytest·1024程序员节
黑叶白树2 小时前
包和模块(上) python复习笔记
开发语言·笔记·python
GDAL2 小时前
JavaScript正则表达式利器:exec()方法深度解析与应用实例
正则表达式·1024程序员节
L_Z_J_I2 小时前
超子物联网HAL库笔记:多指针定位+循环收发缓冲区方案设计
笔记