前言
此篇文章是我在B站学习时所做的笔记,大部分图片都是课件老师的PPT,方便复习用。此篇文章仅供学习参考。
提示:以下是本篇文章正文内容
知识总览
一、进程的状态
1、三种基本状态
注意:单核处理机环境下,每时刻最多只有一个进程处于运行态。
(双核环境下可以同时有两个进程处于运行态)
2、另外两种状态
新建进程的初始化工作,需要为新的进程分配它所需要的内存空间(如:存放程序段和数据段的空间),还要为进程新建进程的PCB,即进程控制块,所有的初始化工作做完之后,这个进程才可以正式投入运行,所以其实在进程开始运行之前,需要做一系列相应处理的,在这个处理的过程中,进程就处于所谓的创建态
二、进程状态的转换
中央处理器cpu主要由运算器和控制器组成;CPU是电子计算机的主要设备之一,电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据;CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。
一个进程被新建的时候,在初始化的过程中,进程肯定是处于创建态的,如果系统完成了创建进程的一系列工作之后,进程就可以到就绪态,就绪态的进程其实就是有除了处理机之外的其他所有资源,所以一旦进程进入就绪态,就意味着它已经有机会被处理机调度了,被CPU服务,一旦处于就绪态的进程被调度,就可以进入运行态,从而被CPU处理,被处理机处理。所以一个处于运行态的进程,它其实拥有了处理机资源,也拥有了除了处理机之外的其他所有它所需要的资源。而如果处于运行态的时间片到了,或者此时有个优先级更高的进程把处理机抢占了,那么这个进程就会从运行态回到就绪态,重新回到就绪队列里。如果处于运行态的进程,通过“系统调用”这样的请求来申请操作系统的资源,或者请求等待某个事件的发生,比如请求等待另外一个进程的运算结果,在这个情况下,进程由于这些事件还没发生,所以进程会从运行态转向阻塞态,如果一个进程进入阻塞态,处理机资源已经被剥夺,并且它所需要的其他的这些资源还没就位,只有这些需要的资源就位了,或者说它所等待的事件发生了之后,这个进程才可以重新从阻塞态转化为就绪态,从而又有机会被处理机调度。
阻塞态不能直接转化为运行态
就绪态也不能直接转化为阻塞态