2.1.2 操作系统之进程的状态(运行、就绪、阻塞、创建、终止)及转换(就绪->运行、运行->就绪、运行->阻塞、阻塞->就绪)

本文介绍了操作系统的进程状态,包括创建态、终止态、就绪态、运行态和阻塞态,并详细阐述了进程在这些状态间的转换过程,如时间片耗尽、资源等待和系统调用等场景下的上下文切换。同时,提到了进程状态转换的关键点,如从创建到运行的转换以及由运行到终止的条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 思维导图总览

在这里插入图片描述

五种状态:

创建态、终止态、就绪态、运行态、阻塞态。

2 进程的状态

2.1 三种基本状态(就绪、运行、阻塞)

在这里插入图片描述

三种基本的状态:

(1)运行态:占有CPU,并在CPU上运行;

(2)就绪态:已经具备运行条件,但是由于没有空闲的CPU,而暂时不能运行;

(3)阻塞态:因为等待某一事件而暂时不能运行。

2.2 创建态和结束态

在这里插入图片描述

 创建态

在这里插入图片描述

结束态

在这里插入图片描述

 3 进程状态之间的转换

  • 进程一共有如下5种状态,那么他们之间如何实现切换呢?

在这里插入图片描述

从一个进程的从无到有看起,来了解进程5种状态之间的转换

在这里插入图片描述

 (1)创建态:系统完成创建进程的一系列工作。只能转换到就绪态。

(2)就绪态:拥有除过CPU之外的其他所需的所有资源。当拥有CPU时就可以转换到运行态。

(3)运行态:用于CPU和所需的所有资源。

                当时间片到或者处理机被抢占了,就转换到就绪态;

                当进程用【系统调用】的方式申请某种系统资源或者请求等待某个事件的发生,则进入阻塞态。(主动)

(4)阻塞态:没有所需要的资源。当所需要的资源得到分配时,进入就绪态(被动)。

(5)终止态:进程运行结束或者于大盘不可修复的错误时,由运行态转到终止态。

发生进程上下文切换有哪些场景?

  • 为了保证所有进程可以得到公平调度,CPU 时间被划分为一段段的时间片,这些时间片再被轮流分配给各个进程。这样,当某个进程的时间片耗尽了,进程就从运行状态变为就绪状态,系统从就绪队列选择另外一个进程运行;
  • 进程在系统资源不足(比如内存不足)时,要等到资源满足后才可以运行,这个时候进程也会被挂起,并由系统调度其他进程运行;
  • 当进程通过睡眠函数 sleep 这样的方法将自己主动挂起时,自然也会重新调度;
  • 当有优先级更高的进程运行时,为了保证高优先级进程的运行,当前进程会被挂起,由高优先级进程来运行;
  • 发生硬件中断时,CPU 上的进程会被中断挂起,转而执行内核中的中断服务程序;

转载:2.1.2 操作系统之进程的状态(运行、就绪、阻塞、创建、终止)及转换(就绪->运行、运行->就绪、运行->阻塞、阻塞->就绪)_BitHachi的博客-CSDN博客_运行就绪阻塞的转换

请根据我给的格式,使用markdown格式生成一篇文章,用于发布在csdn上面,主要目的是为了获取更多粉丝和浏览量,要求内容详细,易懂,并提供示例,回答不能太简单,示例如下:第 1计算机系统概述 1.1 操作系统的基本概念 1.1.1 操作系统的概念、功能和目标(系统资源的管理者、提供接口、作为扩充机器、虚拟机) 1.1.2 操作系统的特征(并发、共享、虚拟、异步) 1.2 操作系统的发展和分类 1.2.1 操作系统的发展和分类(手工、单道/多道批处理、分时、实时、网络、分布式、嵌入式、个人计算机1.3 操作系统运行机制和体系结构 1.3.1 操作系统运行机制和体系结构(大内核、小内核) 1.3.2 中断和异常(内中断和外中断、中断处理过程) 1.3.3 系统调用(执行过程、访管指令、库函数与系统调用) 1.0.0 第一章操作系统概述错题整理 第 2进程管理 2.1 进程与线程 2.1.1 进程的定义、特征、组成、组织 2.1.2 进程的状态运行就绪阻塞创建终止)及转换就绪->运行运行->就绪运行->阻塞阻塞->就绪2.1.3 原语实现对进程的控制 2.1.4 进程之间的通信(共享通信、消息传递、管道通信) 2.1.5 线程概念与多线程模型 2.2 处理机的调度 2.2.1 处理机调度的概念及层次 2.2.2 进程调度的时机(主动放弃与被动放弃)、切换与过程(广义与狭义)、方式(非剥夺与剥夺) 2.2.3 度算法的评价指标(cpu利用率、系统吞吐量、周转时间、等待时间、响应时间) 2.2.4 作业/进程调度算法(FCFS先来先服务、SJF短作业优先、HRRN高响应比优先) 2.2.5 作业/进程调度算法(时间片轮转调度算法、优先级调度算法、多级反馈队列调度算法) 2.3 进程的同步与互斥 2.3.1 进程的同步与互斥 2.3.2 实现临界区进程互斥的软件实现方法 2.3.3 实现临界区进程互斥的硬件实现方法 2.3.4 信号量机制(整型信号量、记录型信号量P、V) 2.3.5 信号量机制实现进程的互斥、同步与前驱关系 2.3.6 进程同步与互斥经典问题(生产者-消费者问题、多生产者-多消费者问题、吸烟者问题、读者-写者问题、哲学家进餐问题) 2.3.7 管程和java中实现管程的机制 2.4 死锁 2.4.1 死锁详解(预防、避免、检测、解除)
03-11
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值