进程状态 (★)
·
1 三大基础状态
进程是程序的执行过程,有自己的生命周期 分为如下三个状态
-
就绪态(Ready)
-
当进程创建完成之后,便进入"就绪态" 处于就绪态的进程表明其已经具备了运行条件,但由于没有空闲的CPU ,暂时不能上CPU运行
-
准备工作已经做好了,等待CPU空闲,就可以执行啦
-
系统中可以有多个进程处于就绪态
-
-
运行态(Running)
-
当CPU空闲时,操作系统就会调度一个就绪态进程,让其上CPU运行 此处处于运行态
-
如果一个进程此时在CPU上运行 那么这个进程处于运行态
-
CPU正在执行进程的指令
-
单CPU同一物理时刻只能有一个进程处于运行态
-
-
阻塞态(Blocking/waiting)
-
进程等待外部事件:IO读写、资源等待、sleep、等待信号,在这个事件发生之前,进程无法继续往下执行,此时操作系统会让进程下CPU 这个进程进入阻塞态
-
主动让出CPU ,等待的事件完成后回到就绪态,不能直接进入运行态
-
2 进程状态切换

-
就绪队列:ready queue
-
所有处于 ready 状态的进程 都在一个就绪队列
-
通常会把高优先级的进程放在队头
-
-
调度程序:
-
负责下一个进入 running状态的进程
-
当两个或多个进程处于Ready 状态时 CPU通过调用程序选择下一个上CPU运行的进程 ,通过调度算法(eg:时间片轮转、顺序调度、优先级调用)调度
-
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)