博客
关于我
操作系统~进程的状态、转换、控制
阅读量:333 次
发布时间:2019-03-04

本文共 710 字,大约阅读时间需要 2 分钟。

文章目录

进程的状态

操作系统中的进程有五个核心状态, 分别为运行态, 就绪态, 阻塞态, 创建态, 终止态
其中运行态和就绪态和阻塞态为最基本的三个状态
在这里插入图片描述

三种基本状态

进程是程序的一次执行。在这个执行过程中,有时进程正在被CPu处理,有时又需要等待CPU服务,可见,进程的状态是会有各种变化。为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态。

三个基本状态的核心区别就是在于是不是正在CPU上执行和合适可以在CPU上执行

在这里插入图片描述

另外两种状态

这俩个状态表示的是进程创建和销毁
在这里插入图片描述

进程状态的转移

在这里插入图片描述
由上图我们可以看到, 运行态到阻塞态是因为发送某种系统调用,是进程主动发生, 而阻塞到就绪态是进程被动的完成了某个条件才可以到达的状态

总结

在这里插入图片描述

进程控制

在这里插入图片描述

什么是进程控制

进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。

简化理解:反正进程控制就是要实现进程状态转换
在这里插入图片描述

如何实现进程控制?

用原语实现进程控制。
原语的特点是执行期间不允许中断,只能一气呵成。这种不可被中断的操作即原子操作。
原语采用“关中断指令”和“开中断指令”实现
在这里插入图片描述
显然,关/开中断指令的权限非常大,必然是只允许在核心态下执行的特权指令

进程控制会导致进程状态的转换。无论哪个原语,要做的无非三类事情:
1.更新PCB中的信息(如修改进程状态标志、将运行环境保存到PCB、从PCB恢复运行环境)
a.所有的进程控制原语一定都会修改进程状态标志
b.剥夺当前运行进程的CPU使用权必然需要保存其运行环境
c.某进程开始运行前必然要恢复期运行环境
2.将PCB插入合适的队列
3.分配/回收资源
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

转载地址:http://qaee.baihongyu.com/

你可能感兴趣的文章
QT17 - 对话框及其类型 QDialog
查看>>
设备驱动之阻塞
查看>>
Binder进程间通信系统第三篇-----Binder进程间通信之 MediaServer 简析
查看>>
电平触发设备休眠唤醒--输入子系统+内核线程
查看>>
python数据类型
查看>>
机器学习之九:提升树和GBDT
查看>>
Ubuntu安装TensorFlow C++
查看>>
win10正版系统安装 win10系统启动盘制作 小白装机第一步(U盘装机)
查看>>
VL53L0x TOF激光测距的 stm32 HAL库驱动代码
查看>>
怎么玩LOG4J
查看>>
Oracle创建用户,分配表空间
查看>>
自定义标签(JSP2.0)简单标签
查看>>
MyBatis自定义类型转换器
查看>>
机器学习(湖北师范大学教程)-极大似然估计算法
查看>>
2019年下半年总结
查看>>
读《红楼梦》有感
查看>>
【C# 重构】—参数化查询, 需要参数,但未提供该参数
查看>>
决策树(二)—— ID3和C4.5
查看>>
leetcode做题记录0059
查看>>
leetcode做题记录0062
查看>>