码迷,mamicode.com
首页 >  
搜索关键字:task_struct    ( 206个结果
Linux进程状态(ps stat)之R、S、D、T、Z、X 转:http://blog.csdn.net/huzia/article/details/18946491
Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。Linux进程状态:R (TASK_RUNNING),可执行状态。只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结...
分类:Web程序   时间:2014-06-25 16:04:52    阅读次数:384
Linux内核设计基础(九)之进程管理和调度
在Linux中进程用结构体task_struct来管理一个进程所需的所有信息(所以一般较大,在32位机上,大约有1.7KB)。为了提高效率,Linux使用了一些卓越的技术。 通过slab分配task_struct结构 Linux创建进程迅速,正是因为slab分配器预先分配和重复使用task_struct,这样就避免了动态分配和释放所带来的资源消耗(毕竟一个task_struct较大,而...
分类:系统相关   时间:2014-06-15 12:15:30    阅读次数:374
Linux-0.12内核sleep_on函数分析
sleep_on用于进程休眠,原型如下: void sleep_on(struct task_struct **p) 当进程访问某个互斥资源时,如果资源被另外进程占用,当前进程就需要休眠。 假设资源的结构如下: struct res { .... struct task_struct *wait; } 其实我们参考下文件系统的i节点就会发现,i节点也是一种资源,它的结构体中就有一...
分类:系统相关   时间:2014-05-26 04:28:02    阅读次数:439
linux0.12内核的内存组织和进程结构
进程结构 Linux0.12中的每个进程都有如下的结构: 在gdt中占有两项,一项是tss段描述符,一项是ldt段描述符。 在task数组中占有一项,指向一页物理内存,该物理内存低端是进程控制块task_struct(里面包括tss段和ldt段),其余部分是进程的内核态堆栈。 在页目录表和页表中设置有相关项。 Linux0.12中,最多只有64个进...
分类:系统相关   时间:2014-05-25 18:19:08    阅读次数:329
Linux Kernel HomeWork---/proc/mtest
Memory management1.listvmastatic void mtest_dump_vma_list(void){ struct task_struct *task = current; //get the task_struct of the current process stru...
分类:系统相关   时间:2014-05-15 22:29:30    阅读次数:555
《linux 内核完全剖析》 exit.c 代码分析笔记
exit.c 代码分析笔记  release           释放进程的函数release() 主要根据指定进程的任务数据结构指针,在任务数组中删除指定的进程指针,释放相关内存页,并立刻让内核重新调度进程的运行。 void release(struct task_struct * p) //释放p指向的进程 { int i; if (!p) //常规检测...
分类:系统相关   时间:2014-05-07 23:35:51    阅读次数:576
206条   上一页 1 ... 19 20 21
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!