进程的状态有哪些?如何切换状态?有什么细节?

 我来答
户如乐9318
2022-06-01 · TA获得超过6734个赞
知道小有建树答主
回答量:2559
采纳率:100%
帮助的人:150万
展开全部
首先,进程的状态有三个:创建状态、就绪状态、运行状态、阻塞状态、终止状态。但是主要还是就绪状态、运行状态、阻塞状态。

创建态

在创建状态完成之后,进程已经准备好所有的资源,但是还未获得处理器资源,无法运行,然后进入就绪状态。

就绪态

在就绪态的进程都获得了除了处理机以外的其他所有资源,只等待处理机的调度了。

运行态

就绪态的进程获得处理机调度进入运行态,但是如果进程的时间片用完了就会再次进入就绪状态。或者需要某个资源但是获取不到或者I/O就会进入阻塞态,等到需要资源之后再进入就绪态。

阻塞态

在运行状态期间,如果进行了阻塞的操作,如耗时的I/O操作,或者等待需要的资源时进程暂时无法操作就进入到了阻塞状态,在这些操作完成后或者等到资源就进入就绪状态。

终止态

进程结束或者被系统终止,进入终止状态

进程切换就是进程控制,简单说就是我们要怎么才能让进程进行 进程的转换 。首先,需要注意是进程控制都是通过原语来实现的,原语是原子的,不可中断的,也就是说进程在状态转换的时候是不可以被打断的。为什么要用原语来实现进程控制呢?因为进程之间转换并不是那么简单的,是一个比较复杂的过程,比如,进程A要从运行态转换到阻塞态,需要先保存进程A在运行态的上下文,也就是当前的运行环境,还要修该自己的PCB(每个进程的唯一标识,而且还存储了对应进程的很信息)相应的内容,再把进程A从运行态队列放到阻塞队列。试想一下,如果这几步前面的步骤都走完了,但是在进入阻塞队列的时候中断了,那不就乱套了嘛。

1.创建原语

创建一个新的进程

2.撤消原语

从PCB集合找到需要终止进程的PCB,剥夺该进程的一切资源,并且终止其所有的子进程,删除PCB。

3.阻塞原语

将进程从运行态转到阻塞态。

4.唤醒原语

将进程从就绪态转到运行态。

5。切换原语

时间片到将进程从运行态转到就绪态。

注意:

进程不能从就绪态到阻塞态,因为阻塞态是进程自己主动切换到的,而就绪态的进程根本就没有处理机调度,不可能”主动“。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
中智咨询
2024-08-28 广告
在当今竞争激烈的商业环境中,企业需要不断提高自身的竞争力,以保持市场份额和增加利润。通过人效提升,企业可以更有效地利用有限的资源,提高生产力和效益,从而实现盈利目标。中智咨询提供全方位的组织人效评价与诊断、人效提升方案等数据和管理咨询服务。... 点击进入详情页
本回答由中智咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式