Chinaunix首页 | 论坛 | 博客
  • 博客访问: 183097
  • 博文数量: 57
  • 博客积分: 2215
  • 博客等级: 大尉
  • 技术积分: 635
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-09 15:47
个人简介

非淡泊无以明志,非宁静无以致远

文章分类

全部博文(57)

文章存档

2013年(12)

2011年(15)

2010年(30)

我的朋友

分类: LINUX

2011-02-23 16:11:46

wo states are associated with sleeping, TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLE. They differ only in that tasks in the TASK_UNINTERRUPTIBLE state ignore signals, whereas tasks in the TASK_INTERRUPTIBLE state wake up prematurely and respond to a signal if one is issued. Both types of sleeping tasks sit on a wait queue, waiting for an event to occur, and are not runnable.
    休眠有两种相关的进程状态:TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLE。它们的惟一却不是处于TASK_UNINTERRUPTIBLE状态的进程会忽略信号,而处于 TASK_INTERRUPTIBLE状态的进程如果收到信号会被唤醒并处理信号(然后再次进入等待睡眠状态)。两种状态的进程位于同一个等待队列上,等 待某些事件,不能够运行。
    

因为等待事件而进入睡眠状态的方法:
    the recommended method for sleeping in the kernel is a bit more complicated. 
    在内核中进行休眠的推荐操作相对复杂一些.

The task performs the following steps to add itself to a wait queue: 
进程通过执行下面几步将自己加入到一个等待队列中:

1. Creates a wait queue entry via DECLARE_WAITQUEUE().
调用DECLARE_WAITQUEUE%2
阅读(2048) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~