• 技术文章 >常见问题

    一个进程被唤醒意味着什么

    青灯夜游青灯夜游2022-07-08 17:06:58原创3326

    一个进程被唤醒意味着进程变为就绪状态。进程状态反映进程执行过程的变化,进程被唤醒就是激活这个进程,意味着它变为就绪状态,也表示该进程具备运行条件,等待系统分配处理器以便运行;但进入就绪状态后并不马上移至就绪队列队首,而是在队尾参加排队。

    php入门到就业线上直播课:进入学习

    本教程操作环境:windows7系统、Dell G3电脑。

    一个进程被唤醒意味着进程变为就绪状态。

    进程:并发执行的程序在执行过程中分配和管理资源的基本单位。

    进程状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。

    三态模型

    一个进程从创建而产生至撤销而消亡的整个生命期间,有时占有处理器执行,有时虽可运行但分不到处理器、有时虽有空闲处理器但因等待某个事件的发生而无法执行,这一切都说明进程和程序不相同,它是活动的且有状态变化的,这可以用一组状态加以刻画。为了便于管理进程,一般来说,按进程在执行过程中的不同情况至少要定义三种不同的进程状态:

    (1)运行(running)态:进程占有处理器正在运行。

    (2)就绪(ready)态:进程具备运行条件,等待系统分配处理器以便运行。

    (3)等待(wait)态:又称为阻塞(blocked)态或睡眠(sleep)态,指进程不具备运行条件,正在等待某个事件的完成。

    通常,一个进程在创建后将处于就绪状态。每个进程在执行过程中,任意时刻当且仅当处于上述三种状态之一。同时,在一个进程执行过程中,它的状态将会发生改变。引起进程状态转换的具体原因如下:

    (1)运行态一一等待态:等待使用资源或某事件发生,如等待外设传输;等待人工干预。

    (2)等待态一一就绪态:资源得到满足或某事件己经发生,如外设传输结束;人工干预完成。

    (3)运行态一一就绪态:运行时间片到,或出现有更高优先权进程。

    (4)就绪态一一运行态:CPU空闲时被调度选中一个就绪进程执行。

    五态模型

    在一个实际的系统里进程的状态及其转换比上节叙述的复杂一些,例如,引入专门的新建态(new)和终止态(exit )。

    引入新建态和终止态对于进程管理来说是非常有用的。新建态对应于进程刚刚被创建的状态,创建1个进程要通过两个步骤,首先,是为一个新进程创建必要的管理信息;然后,让该进程进入就绪态。此时进程将处于新建态,它并没有被提交执行,而是在等待操作系统完成创建进程的必要操作。必须指出的是,操作系统有时将根据系统性能或主存容量的限制推迟新建态进程的提交。

    类似地,进程的终止也要通过两个步骤,首先,是等待操作系统进行善后;然后,退出主存。当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结,它将进入终止态。进入终止态的进程以后不再执行,但依然保留在操作系统中等待善后。一旦其他进程完成了对终止态进程的信息抽取之后,操作系统将删除该进程。引起进程状态转换的具体原因如下:

    (1)NULL一一新建态:执行1个程序,创建一个子进程。

    (2)新建态一一就绪态:当操作系统完成了进程创建的必要操作,并且当前系统的性能和内存的容量均允许。

    (3)运行态一一终止态:当1个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结。

    (4)终止态一一NULL:完成善后操作。

    (5)就绪态一一终止态:未在状态转换图中显示,但某些操作系统允许父进程终结子进程。

    (6)等待态一一终止态:未在状态转换图中显示,但某些操作系统允许父进程终结子进程。

    更多相关知识,请访问常见问题栏目!

    以上就是一个进程被唤醒意味着什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:进程状态 进程
    上一篇:微机中访问速度最快的储存器是什么 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 聊聊各种可能导致 Node.js 进程退出的情况• linux怎么用pid查看进程是否存在• linux下查询进程的命令是什么• 详细了解Python进程池与进程锁• linux中的进程一般分为哪三类
    1/1

    PHP中文网