当前位置:  技术问答>linux和unix

休眠和阻塞的区别?

    来源: 互联网  发布时间:2015-12-11

    本文导语:  看《linux设备驱动程序-第三版》这本书的第六章中提到休眠和阻塞的概念,结果还是没有能理解这两者之间的区别。 记得以前学操作系统的时候进程状态只有:运行、阻塞、就绪、挂起。 有谁能说说这里的休眠和...

看《linux设备驱动程序-第三版》这本书的第六章中提到休眠和阻塞的概念,结果还是没有能理解这两者之间的区别。
记得以前学操作系统的时候进程状态只有:运行、阻塞、就绪、挂起。
有谁能说说这里的休眠和阻塞的区别?举例子最好了

|
内核中的运行状态和进程的运行状态是有区别的,休眠是指进程上下文的,内核不可能休眠,阻塞对两个都适用,休眠是进程获取资源不到,被驱动sleep 到驱动等待队列的,也可以自己休眠到内核定时队列,阻塞应该包括休眠吧,当然它有很多的同步等待,内核中有很多的Lock 引起的等待应该是阻塞。
可以看看这里:http://soft.yesky.com/os/lin/10/2303010.shtml

|
和楼上几位的看法有点不一样,不知道是否我理解错?
睡眠是程序主动放弃时间片竞争,例如程序调用sleep
阻塞是程序的I/O请求得不到满足,必须等待别的进程释放资源才能继续,属于被动无法得到时间片

|
休眠也是通过设置进程的标识来实现的,时间也是一种资源,所说的阻塞,同样可以阻塞在时间这种资源上,所以说休眠与阻塞有什么区别吗????都是阻塞在一种资源上面

|
不会吧~~OS书里面写了只有四种状态吗?
Linux有九点状态哦~~
用户状态,内核状态,内存中就绪,内存中睡眠,就绪且换出,睡眠且换出,被抢先,创建状态,僵死状态.

|
休眠是当发生阻塞时的一种处理方式。但很多时候阻塞并不会休眠,比如一段持有自旋锁的代码。

|
阻塞是进程在等待某种资源,但是不能马上得到,内核就切换其它进程运行
你的说休眠一般为主动式的放弃一段CPU时间
挂起是运行时间片到了,内核要调度其它进程运行,被动式的失去CPU

|
睡眠状态是指进程没得到资源,要等待~~

阻塞? 我一直以为阻塞这个概念是用在线程同步的时候.

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 休眠、 时间
  • 关于休眠的疑惑
  • java/j2ee iis7站长之家
  • 如何解除ubuntu自动待机休眠
  • 关于线程休眠的问题
  • 关于进程和线程休眠的问题
  • 不用 signal,如何实现线程的休眠与唤醒
  • 请问如何进行毫秒休眠?
  • 有什么方法使多个线程进入休眠,并唤醒其中一个??
  • 如何通过ipmi使服务器休眠、唤醒?
  • 有关系统休眠跟定时任务问题
  • (高分)关于在休眠唤醒中进行msleep
  • 求助!! 笔记本下安装Redhat 8.0中文版总是『休眠』
  • 在线程中sleep函数休眠的问题
  • 探讨:如何修改Android超时休眠时间
  • redhat9.0启动到输入用户名(字符方式)时系统马上自动休眠,高人指点!!100分
  • 送分! UNIX C编程。 如何休眠5秒钟? 类似WINDOWS下的Sleep(5000).
  • fedora图形模式下之前有shutdown->ibernate休眠这个选项的,现在怎么没有了。
  • 休眠问题
  • 怎么判断linux内核函数是否会引起休眠?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3