【CPU】进程管理之五状态模型
本文为第三篇,进程管理之五状态模型,进程在操作系统里边是有多个状态的,本文就是了解进程在操作系统中的多个状态
1、进程的五个状态
- 创建状态
- 就绪状态
- 阻塞状态
- 执行状态
- 终止状态
2、进程处于这五种状态时在做什么
(1)就绪状态
- 当进程被分配到除CPU以外的所有必要资源后,就处于就绪状态
- 只要再获得CPU的使用权,就可以里立即运行
- 其它资源都准备好,只差CPU资源的状态,就是就绪状态
其它资源包括进程控制块(PCB)、内存、栈空间、堆空间等
在操作系统里边,我们知道,多个程序可以并发的运行,这个时候就可能存在多个就绪状态的进程,这些进程通常会排成一个队列,这个队列就称为就绪队列,在就绪队列里边有多个就绪的进程
(2)执行状态
- 进程获得CPU使用权,其程序正在执行,称为执行状态
- 在单处理机(一个CPU只有一个核的情况),在某个时刻只能有一个进程是处于执行状态
(3)阻塞状态
进程由于某种原因,如:其它设备未就绪而无法继续执行,从而放弃CPU的状态,就称为阻塞状态
比如说有个进程要请求打印机,但是由于打印机正处于被占用的情况,进程收不到回应,那么就会处于阻塞状态。当多个进程同时请求打印机时,也会处于阻塞状态,此时也有阻塞队列的概念
(4)创建状态
创建状态分为两步:
a、分配PCB
b、插入就绪队列
创建进程时,拥有PCB,但其它资源尚未就绪的状态称为创建状态
(5)终止状态
终止状态也分为两步:
a、系统清理
b、归还PCB
进程结束由系统清理或者归还PCB的状态称为终止状态
3、就绪、阻塞、执行三种状态之间的切换
当进程发生进程调度的时候,就会由就绪状态变为执行状态,当某一个进程发生进程调度的时候就会获取到CPU的资源,当执行状态的进程的CPU资源用完了,它就会切换回就绪的状态,插入到就绪队列中,这里的CPU资源用完指的是,分配给某一个进程执行CPU的时间用完了
当执行状态的进程发生IO请求的时候就有可能变成阻塞状态(前边有说到请求打印机的例子)。当发生IO完成的时候,就会由阻塞状态切换到就绪状态
在快速变化的技术中寻找不变,才是一个技术人的核心竞争力。知行合一,理论结合实践
【CPU】进程管理之五状态模型的更多相关文章
- Linux进程管理之状态(二)
二.进程的生命周期 进程是一个动态的实体,所以他是有生命的.从创建到消亡,是一个进程的整个生命周期.在这个周期中,进程可能会经历各种不同的状态.一般来说,所有进程都要经历以下的3个状态: 就绪态.指进 ...
- .Neter玩转Linux系列之五:crontab使用详解和Linux的进程管理以及网络状态监控
一.crontab使用详解 概述:任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类: (1)系统工作:有些重要的工作必须周而 复始地执行. (2)个别用户工作:个别用户可能希望执 行 ...
- linux进程管理和系统状态查看命令简介
1 进程管理简介 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础 2 常用命令 2.1 pstree 2.1.1 功能描 ...
- linux进程管理和系统状态常用命令简介
1 进程管理简介 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础 2 常用命令 2.1 pstree 2.1.1 功能描 ...
- Linux 进程管理、系统状态查询
1.内存给进程一段空间让他启动,让内核通过cpu来管理它. 2.ps命令查看命令信息. 用户.pid号.使用cpu.使用内存.虚拟内存.真实内存.控制台.状态.启动时间.运行时间.名 USER PID ...
- UNIX环境编程学习笔记(21)——进程管理之获取进程终止状态的 wait 和 waitpid 函数
lienhua342014-10-12 当一个进程正常或者异常终止时,内核就向其父进程发送 SIGCHLD信号.父进程可以选择忽略该信号,或者提供一个该信号发生时即被调用的函数(信号处理程序).对于这 ...
- Linux网络技术管理及进程管理(week2_day4)--技术流ken
OSI七层模型和TCP/IP四层模型 OSI七层模型:OSI(Open System Interconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联 ...
- Linux网络技术管理及进程管理
OSI七层模型和TCP/IP四层模型 OSI七层模型:OSI(Open System Interconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联 ...
- Liunx网络技术管理及进程管理
Linux网络技术管理及进程管理(week2_day4) OSI七层模型和TCP/IP四层模型 OSI七层模型:OSI(Open System Interconnection)开放系统互连参考模型 ...
随机推荐
- Collection的使用
常用方法 Modifier and Type Method and Description boolean add(E e) 确保此集合包含指定的元素(可选操作). boolean addAll(Co ...
- c#重写和多态
多态是基于重写的 继承:向子类中添加父类没有的成员,子类对父类的横向扩展 重写:纵向扩展,成员没有增加,但成员的版本增加了 引言 Rider JetBrains:Rider.ReSharper.dot ...
- bit操作常见trick
x&(x-1)可以消去最右边的1, 如果判断一个数是否是2的指数的快捷方法,比如8,二进制位1000, 那么8&(8-1)为0,只要为0就是2的指数
- HttpServletResponse接口详解
在 Servlet API 中,定义了一个 HttpServletResponse 接口,它继承自 ServletResponse 接口.HttpServletResponse 对象专门用来封装 HT ...
- golang中结构体的嵌套、方法的继承、方法的重写
package main import "fmt" type human struct { name, phone string age int8 } type student s ...
- IDEA中导入Maven工程(module)
导入其它Maven工程时可能会出现依赖代码变红等等可以重新导入 右键pom.xml文件 --->Maven---->Reimport ,idea强制刷新内容,一般能解决依赖没有识别的问题 ...
- 图文并茂理解iptables
原文地址:http://www.zsythink.net/archives/1199 以下是转载内容: iptables详解:图文并茂理解iptables | 朱双印博客 这篇文章会尽量以通俗易懂的方 ...
- contos 6.9 和 centos7 配置docker?
一.contos 6.9 配置docker? 1.检查centos的内核,因为目前docker的版本所支持的centos最低内核版本为2.4 // uname -r // 2.6.32-696.el6 ...
- AT2347 [ARC070C] NarrowRectangles
首先不难看出一个暴力的 \(dp\) 解法,考虑令 \(dp_{i, j}\) 表示考虑完前 \(i\) 个矩形,第 \(i\) 个矩形左端点在 \(j\) 时所需要的最小花费. 不难有转移: \[d ...
- CentOs7.6配置邮件服务并发送邮件
1.使用Yum 来安装依赖包 yum -y install sendmail yum -y install mailx 2.获取授权码 下面以腾讯为例 https://service.mail.qq. ...