- 博客(6)
- 资源 (1)
- 收藏
- 关注
转载 signal_pending函数解析
经常我们在睡眠的代码中 会看到这样的例子: if (signal_pending(current)) { ret = -ERESTARTSYS; return ret; } 关于 -ERESTARTSYS 到底是什么意思? -ERESTARTSYS表示信号函数处理完毕后重新执行信号函数前的某个系统调用.也就是说,如果信号函数前有发生系统调用,在调度用户...
2018-06-25 10:14:06 1647
转载 wait_event族函数浅析
周末闲暇无事,聊聊内核中的wait_event*类函数的具体实现,等待事件必定涉及到某个条件,而这些函数的区别主要是等待后唤醒的方式……直奔主题,上源码wait_event_interruptible#define wait_event_interruptible(wq, condition) \({ ...
2018-06-25 10:05:01 2674
转载 TASK_INTERRUPTIBLE 和TASK_UNINTERRUPTIBLE 的区别
TASK_INTERRUPTIBLE是可以被信号和wake_up()唤醒的,当信号到来时,进程会被设置为可运行。而TASK_UNINTERRUPTIBLE只能被wake_up()唤醒。信号本质信号是在软件层次上对中断机制的一种模拟,软中断信号来源信号事件的发生有两个来源:硬件来源:(比如我们按下了键盘或者其它硬件故障);软件来源:最常用发送信号的系统函数是kill, raise, alarm和se...
2018-06-25 10:04:09 1607
转载 Set_current_state(TASK_INTERRUPTIBLE) 简介 进程状态
进程状态定义:include/linux/sched.hTASK_RUNNING : 进程处于可运行状态,但并不意味着进程已经实际上已分配到 CPU ,它可能会一直等到调度器选中它。该状态只是确保进程一旦被 CPU 选中时立马可以运行,而无需等待外部事件。TASK_INTERRUPTIBLE : 这是针对等待某事件或其他资源而睡眠的进程设置的。在内核发送信号给该进程时表明等待的事件已经发生或资源已...
2018-06-25 10:01:49 7541
转载 进程资源和进程状态 TASK_RUNNING TASK_INTERRUPTIBLE TASK_UNINTERRUPTIBLE
摘要:本文主要介绍进程资源和进程状态.进程资源由两部分组成:内核空间进程资源以及用户空间进程资源.进程状态,就绪/运行状态、等待状态(可以被中断打断)、等待状态(不可以被中断打断)、停止状态和僵死状态.1.进程资源 进程是Linux系统下资源管理的基本单位,每个进程都有自己的独立的运行空间.为了更好的管理Linux所访问的资源,系统引入了进程控制(PCB)的概念,PCB结构体. 进程资...
2018-06-25 09:41:20 955
转载 睡眠--TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLE
睡眠--TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLE Two states are associated with sleeping, TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLE. They differ only in that tasks in the TASK_UNINTERRUPTIBLE state i...
2018-06-25 09:35:48 384
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人