操作系统中,进程的静止就绪和活动就绪有什么区别?

lanseqiuyu 2009-08-27 09:53:30
如题,谢谢回答!
...全文
3191 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
long_magic 2021-06-18
  • 打赏
  • 举报
回复

学习了

jianghuyouxiaoyu 2011-10-12
  • 打赏
  • 举报
回复
你先明白:当系统内存不够的时候,操作系统会把外存的一部分虚拟成内存来使用。

当内存不够的时候,用户进程请求将自己挂起或者父进程请求将自己的子进程挂起,则会出现静止就绪和静止阻塞。其过程是:首先检查被挂起的进程的状态,如果:
1.该进程为活动就绪(在计算机内存中),则用挂起原语suspend()将其改为静止就绪(计算机外存——但操作系统虚拟成内存使用);
2.该进程为活动阻塞(在计算机内存中),也调用挂起原语suspend()将其改为静止阻塞(计算机外存,OS虚拟成内存来使用)。

简单来说,活动就绪和活动阻塞时在计算机内存里面的;但是静止就绪和静止阻塞实在计算机外存,但该外存被计算机操作系统虚拟成内存来使用。
ezcloud 2009-11-11
  • 打赏
  • 举报
回复
路过,学习了!
sandyfish 2009-08-27
  • 打赏
  • 举报
回复
学习了
xiaozejun 2009-08-27
  • 打赏
  • 举报
回复
进程的基本状态

1、三种基本状态

①就绪状态

进程已获得了除CPU之外的所有资源,处于就绪态的进程有多个,它们存放在就绪队列中。

②执行状态

处于就绪状态的进程,只要获得处理机,就可执行。在单处理机系统中,只有 一个进程处于执行态,在多处理机系统中,

有多个进程处于执行态。

③阻塞态

进程因发生某个事件(如请求I/O、申请缓冲空间)而暂停执行的状态。即进程的执行受到阻塞。(等待/睡眠)处于阻塞

态的进程有多个,通常把它们排成一个阻塞队列。有的系统中,根据阻塞的原因不同,把它们排成多个阻塞队列。

2、新状态和终止状态(对一个进程而言,处于新状态和终止状态的只有一次。

①新状态

一个进程刚刚建立,还未送入就绪队列时的状态。

②终止状态

指一个进程正常或异常结束,OS把它从就绪队列中移出,但尚未将它撤消时的状态。

3、进程状态的转换

(1)新状态———就绪态

就绪队列接纳新进程

(2)就绪态———执行态

处于就绪态的进程,当进程调度为之分配了处理机之后,会转换为执行态。

(3)执行态———阻塞态

正在执行的进程,因发生某个事件而无法执行。

(4)执行态———终止态

当一个进程已经完成或发生某个事件,如地址越界、非法指令、算术运算错而异常结束时。

yanliang_xt 2009-08-27
  • 打赏
  • 举报
回复
嗯。。。。
当进程被加载到内存后,分配了相应的资源(就差cpu了)后,就处理活动就绪状态。
当就绪的进程挂起后,它的程序和数据被放到了外存,此时就处于静止就绪状态。
如果想深入了解的话,看操作系统
justinavril 2009-08-27
  • 打赏
  • 举报
回复
进程的3个主要状态,你肯定知道,就是就绪,执行和等待。

当一个进程被创建的时候,处于就绪状态,严格地说是静止就绪状态,等到被激活,该进程就处于活动就绪状态,如果时间片轮到该进程,那么该进程就执行;执行期间,如果时间片过了,那么该进程退回到活动就绪状态,如果该进程被挂起,就回到静止就绪状态。

大致就是这样一个过程,不知道能不能回答你的问题。区别就在于进程就绪时,是否被激活或者挂起。
yanliang_xt 2009-08-27
  • 打赏
  • 举报
回复
它这么做也是为了节省内存的开销啊。
lanseqiuyu 2009-08-27
  • 打赏
  • 举报
回复
进程的三个状态和相互转换关系我知道,但是,我不明白的是,为什么就绪还要分静止和活动,一个就绪状态不就行了,为什么分这么细,分了两个,还要用什么挂起操作,如果不分这么细,不就不会用到挂起原语了吗?
qlzf11140820 2009-08-27
  • 打赏
  • 举报
回复
up
feishare 2009-08-27
  • 打赏
  • 举报
回复
进程的3个主要状态,就绪,执行和等待。

当一个进程被创建的时候,处于就绪状态,等到被激活,该进程就处于活动就绪状态,如果时间片轮到该进程,那么该进程就执行;执行期间,如果时间片过了,那么该进程退回到活动就绪状态,如果执行过程中需要用到其它资源的话,而且其它资源被占用的话,这是该进程就退回到了等待状态。

其实画个图楼主就很清楚了,这中图网上很多的,配合详解
cmhx007 2009-08-27
  • 打赏
  • 举报
回复
三个状态:就绪,执行和等待
一个进程被创建的时候,处于就绪状态,严格地说是静止就绪状态,等到被激活,该进程就处于活动就绪状态,如果时间片轮到该进程,那么该进程就执行;执行期间,如果时间片过了,那么该进程退回到活动就绪状态,如果该进程被挂起,就回到静止就绪状态。关于操作系统的书上有更详细的介绍,在这里就不多罗嗦了
yanliang_xt 2009-08-27
  • 打赏
  • 举报
回复
其实也就换了个名:
就绪 --> 挂起就绪
阻塞 --> 挂起阻塞
justinavril 2009-08-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wtk870424 的回复:]
就绪有静止就绪和活动就绪之分的吗?以前学操作系统好像没见过的啊

[/Quote]
其实就是就绪(ready)状态的细分,对应的还有静止等待和动态等待。
WTK870424 2009-08-27
  • 打赏
  • 举报
回复
就绪有静止就绪和活动就绪之分的吗?以前学操作系统好像没见过的啊
leedone1989 2009-08-27
  • 打赏
  • 举报
回复
当进程处于未被挂起的就绪状态时,称此为活动就绪状态,表示为Readya。当用挂起原语Suspend将该进程挂起后,该进程便转变为静止就绪状态。表示为Readys(处在Readys状态的进程,不再被调度执行)

处于Readys状态的进程,若用激活原语Active激活后,该进程将转变为Readya状态.

其它方面1、2楼说得很好了

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧