当前位置: 首页 > news >正文

进程的状态与转换

进程在其生命周期内,由于系统中各进程之间的相互制约及系统的运行环境的变化,使得进程的状态也在不断地发生变化。通常进程有以下5种状态,前三种是基础讷航的基本状态

1)运行态。进程正在处理机上运行。在单处理机机中,每个时刻只有一个进程处于运行态
2)就绪态。进程获得了除处理机外的一切所需资源,一旦得到处理机,便可立即运行。系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列
3:阻塞态,又称为等待态。进程正在等待某一事件而暂停运行。即处理机空闲,进程也不能运行。会把阻塞的进程排成一个队列,甚至会按照阻塞原因的不同,设置多个阻塞队列
4)创建态。进程正在被创建,尚未转到就绪态。创建进程需要多个步骤:首先申请一个空白PCB,并向PCB中填写用于控制和管理进程的信息;然后为该进程分配运行时所需的资源;最后把该进程转入就绪态并插入就绪队列。但是所需的资源尚不能得到满足,如内存不足,则创建尚未完成,进程所处的状态就是创建态
5) 终止态。进程正从系统中消失,可能是进程正常结束或其他原因退出运行。进程需要结束运行时,系统首先将该进程设置为终止态,然后进一步处理资源释放和回收等工作

要注意区别就绪态和等待态

就绪态---->运行态:处于就绪态的进程背调读后,获得处理机资源(分配处理机时间片)

运行态—>就绪态:处于运行态的进程在时间片用完后,不得不让出处理机资源,从而由运行态转换为就绪态。在可剥夺的操作系统中,当有更高优先级的进程就绪时,调度程序将正在执行的进程转换为就绪态,让更高优先级的进程执行

运行态—>阻塞态:进程请求某一资源(如外设)的使用和分配或等待某一事件的发生(如IO操作的完成)时,它就从运行态转换为阻塞态,进程以系统调用的形式请求操作系统提供服务,这是一种特殊的、由运行用户态程序调用操作系统内核过程的形式

阻塞态—>就绪态:进程等待的事件到来时,如IO操作结束和中断结束时,中断处理程序必须把相应进程的状态由阻塞态转换为就绪态

	需要注意的是,一个进程从运行态变成阻塞态是主动的行为,而从阻塞态变成就绪态是被动的行为,需要其他相关进程的协助
http://www.lryc.cn/news/125741.html

相关文章:

  • 用MariaDB创建数据库,SQL练习,MarialDB安装和使用
  • 【Docker】 使用Docker-Compose 搭建基于 WordPress 的博客网站
  • Hlang社区-前端社区宣传首页实现
  • 【LeetCode-Medium】833. 字符串中的查找与替换
  • 数据结构中公式前中后缀表达式-二叉树应用
  • Visual Studio 2022连接远程系统进行C/C++开发
  • TiDB数据库从入门到精通系列之二:TiDB数据库的简介
  • opencv视频截取每一帧并保存为图片python代码CV2实现练习
  • 虹科方案 | 汽车总线协议转换解决方案(二)
  • [Android] 通过JNI 让 JAVA 调用 android native 接口
  • MySQL高可用MHA
  • DoIP学习笔记系列:(五)“安全认证”的.dll从何而来?
  • 205、仿真-51单片机直流数字电流表多档位切换Proteus仿真设计(程序+Proteus仿真+原理图+流程图+元器件清单+配套资料等)
  • 服务器如何防止cc攻击
  • 解读注解@Value占位符替换过程
  • 浅谈5G技术会给视频监控行业带来的一些变革情况
  • Java常用API---快速达到Java工作水准系列(1)
  • Python中使用隧道爬虫ip提升数据爬取效率
  • 深入源码分析kubernetes informer机制(四)DeltaFIFO
  • UI设计师个人工作总结范文
  • explicit关键字 和 static成员
  • 安装Linux操作系统CentOS 6详细图文步骤
  • 新增守护进程管理、支持添加MySQL远程数据库,支持PHP版本切换,1Panel开源面板v1.5.0发布
  • 十、接口(1)
  • percentile_approx 聚合函数
  • 面试热题(全排列)
  • 一文走进时序数据库性能测试工具 TSBS
  • 通俗讲解-动量梯度下降法原理与代码实例
  • 【【STM32-USART串口协议】】
  • vue3.0组件通信