操作系统-关于进程间的三种状态的转移 能不能结合具体的程序实例说明一下

问题描述

关于进程间的三种状态的转移 能不能结合具体的程序实例说明一下
running stateready statewaiting state这三种不同的状态之间的相互转换,能不能结合具体的程序实例说明一下 比如编译器等等

解决方案

运行、阻塞、就绪 是进程的3种基本状态,有些划分成更细的则分成4个状态(运行、就绪、睡眠、阻塞)
就以楼主分的这3种基本状态来解释:
运行态:进程正在执行时的状态
阻塞态:进程由于需要进行的IO操作,不得不等待其他进程IO或者某个IO事件完成,此时进入阻塞等待状态
就绪态:进程的资源操作已经就绪,只需操作系统调用时的状态

更细划分中,还有个睡眠态,他其实是阻塞态分出来的,他的含义是,由于用户请求,进程进入睡眠状态,等待时机满足,进程将被操作系统执行唤醒操作转为就绪状态
这些问题楼主如果有什么问题可随时问我

解决方案二:
运行态很好理解,程序正常执行
等待态,程序被阻塞
就绪态,程序万事俱备,只是因为当前运行的程序过多,不得不等下

解决方案三:
http://blog.csdn.net/evankaka/article/details/44366239

解决方案四:
http://m.blog.sina.com.cn/s/blog_3fe961ae0101lgej.html?sudaref=www.baidu.com#page=2

这个讲的比较清楚。

解决方案五:
http://www.xttblog.com/?p=177

解决方案六:
首先,你应该明白什么叫进程,它需要资源的。操作系统为它申请资源后,它就进入就绪队列,这就是就绪状态,当一个进程运行完以后轮到它执行了,就是运行状态,如果还要申请资源,如:打印机或者是内存的某个变量,就需要释放处理器,进入阻塞状态,申请到了资源又进入就绪队列,又到就绪状态,直至运行完成。我个人的理解希望对你有帮助吧!

解决方案七:
这些状态和具体的程序没有关系,和操作系统有关。
假设你的计算机只有1个cpu,那么你的计算机实际上同一个时间只能运行一个进程(的一个线程)。

程序被操作系统调度,正在运行,这个叫做运行态。
程序异步调用了某个资源,比如说读取文件,但是文件读取的结果尚未返回,此时操作系统出于性能的考虑,不能干等着,于是搁置这个程序,切换到另一个程序执行,这个叫做等待态。
当然,你的程序一直都不需要读写文件、网络等需要延迟的操作,也不能一直老让这个程序执行,操作系统会主动剥夺这个进程的执行,转而执行另一个,或者说你的程序在等待态下,异步资源的调用已经有返回了,有了继续执行的条件了。此时程序就是就绪态。

时间: 2024-09-12 04:18:07

操作系统-关于进程间的三种状态的转移 能不能结合具体的程序实例说明一下的相关文章

一个io端口如何控控制电机的三种状态(正向转动,停止,反向转动)

问题描述 一个io端口如何控控制电机的三种状态(正向转动,停止,反向转动) 2C 一个io端口如何控控制电机的三种状态(正向转动,停止,反向转动)? 解决方案 需要加测速装置吧,I/O口输出PWM信号控制电机转动的速度,用PID算法进行实时控制.

【SSH系列】-- Hibernate持久化对象的三种状态

       在上一篇博文中,小编主要简单的介绍了[SSH系列]--hibernate基本原理&&入门demo,今天小编来继续介绍hibernate的相关知识, 大家知道,Java对象的生命周期,是从通过new语句创建开始,到不再被任何引用变量引用结束,结束后它占用的内存将被JVM垃圾回收机制收回.在hibernate中持久化类的对象可以划分为三种状态,分别是瞬态,持久态,脱管态.       一.瞬态(Transient),也叫临时态.处于这种状态的对象具备的特征如下:       a.

checkbox三种状态

JS操作checkbox http://honeyao.iteye.com/blog/238424 翻页后保持checkbox选中状态的实现方法:在界面中,使用纯js完成.把选中的checkbox中的id,其中包括模块id,操作id,拼接成一个字符串,然后把字符串传递提交 Java代码   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1

【hibernate框架】对象的三种状态Transient-Persistent-Detached

三种状态分别是 Transient(游离状态),Persistent(持久化状态),Detached(脱管状态). Teacher t=new Teacher(); t.setName("t12");//游离状态 t.setTitle("中级");//游离状态 t.setBrithday(new Date());//游离状态 t.setZhicheng(ZhiCheng.A);//游离状态 SessionFactory sessionFactory=new Conf

style-.net framework 4.0中WPF的checkbox控件的三种状态样式变更

问题描述 .net framework 4.0中WPF的checkbox控件的三种状态样式变更 当前使用.Net Framework 4.0 WPF开发一个界面,需要使用CheckBox的控件的isThreeState= true ,设置为三种状态,分别是未点击时白框,单击时显示对勾,再单击时显示中间一个小蓝框.分别对应checked值为false, true和 null. 我需要的是,如何装饰checked值为null时,其显示效果由蓝色框更换为一个红色叉的效果. 谢谢.

【HIBERNATE框架开发之五】HIBERNATE对象的三种状态&amp;&amp;SESSION的常用方法

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/hibernate/814.html  1. Hibernate对象的三种状态:(图解如下:)   如图所示,Hibernate对象有三种状态,1.Transient  2.Persistent 3.Detached; 三种状态的区别如下: 1. 当对象处于Transient时,只在内存中有一个对象,没ID,而且在缓存和数据库中没有: 2.

数据库的三种状态RESTRICT、QUIESCE和SUSPEND

数据库的三种状态RESTRICT.QUIESCE和SUSPEND 数据库的这三种状态有相似之处,这里简单总结一下. 这一篇介绍RESTRICT状态.     在Oracle中,有时候要执行一些管理性的操作,而这些操作运行的时候不能有其他用户同时访问数据库.对于这种情况可以设置系统进入RESTRICTED SESSION状态禁止普通用户登陆数据库. 数据库可以在启动的时候以RESTRICT方式来启动数据库: SQL> conn / as sysdba 已连接. SQL> shutdown imm

hibernate映射对象三种状态的分析

一,首先hibernate中对象的状态有 三种:瞬态.游离态和持久态,三种状态转化的方法都是通过session来调用,瞬态到持久态的方法有save().saveOrUpdate(). get().load():持久态到瞬态的方法有delete():游离态到持久态的方法有update().saveOrUpdate(). lock():持久态到游离态的方法有:session.close().session.evict().session.clear(). 二,Hibernate的状态 hiberna

简述SQL SERVER触发器内INSERT,UPDATE,DELETE的三种状态

一个触发器内三种INSERT,UPDATE,DELETE状态 CREATE   TRIGGER   tr_T_A   ON     T_A   for   INSERT,UPDATE,DELETE        如IF   exists   (select   *   from   inserted)   and   not   exists   (select   *   from   deleted)   则为   INSERT  如IF   exists(select   *   from