码迷,mamicode.com
首页 >  
搜索关键字:task_struct    ( 206个结果
linux 进程管理与调度(一)
进程结构 进程在内核的源代码中以结构体表示,篇幅很长,在此列举一小段关键代码,可以发现是个双向链表,具体的可以在内核目录下找一个叫“sched.h”的头文件。 struct task_struct { struct task_struct *real_parent; /* real parent p...
分类:系统相关   时间:2015-11-27 19:34:55    阅读次数:220
Linux进程状态解析之R、S、D、T、Z、X
Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。Linux进程状态:R (TASK_RUNNING),可执行状态。只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结...
分类:系统相关   时间:2015-11-20 10:33:35    阅读次数:359
文件系统VFS数据结构(超级块 inode dentry file)(收集整理)
Linux虚拟文件系统四大对象:1)超级块(superblock)2)索引节点(inode)3)目录项(dentry)4)文件对象(file)一个进程在对一个文件进行操作时各种对象的引用过程如下:通过task_struct得到files_struct,然后通过文件描述符(int fd)获得相应的文件...
分类:其他好文   时间:2015-11-04 14:31:05    阅读次数:1718
创建进程的函数
clone()、fork()、vfork()都是Linux的系统调用。进程一般由代码段、数据段和PCB进程控制块组成。fork 创造的子进程复制了父亲进程的资源,包括内存的内容task_struct内容,新旧进程使用同一代码段,复制数据段和堆栈段,这里的复制采用了注明的copy_on_write技术...
分类:系统相关   时间:2015-11-02 23:09:39    阅读次数:345
linux内核堆栈
一:进程的堆栈 内核在创建进程的时候,在创建task_struct的同时会为进程创建相应的堆栈。每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存 在于内核空间。当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,cpu堆栈指针寄存...
分类:系统相关   时间:2015-09-12 10:46:40    阅读次数:243
linux process management
CREAT PROCESSfork()|clone(參数,决定父子函数的共享内容)|do_fork()|copy_process()|dup_task_struct()创建子进程的内核堆栈。复制父进程的进程描写叙述符(task_struct)进程描写叙述符的非常多成员被清除或者设为初值设置子进程的状...
分类:系统相关   时间:2015-08-21 18:49:34    阅读次数:232
把握linux内核设计(八):进程管理分析
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】         进程其实就是程序的执行时的实例,是处于执行期的程序。在linux内核中,进程列表被存放在一个双向循环链表中,链表中每一项都是类型为task_struct的结构,该结构称作进程描述符,进程描述符包含一个具体进程的所有信息,这个结构就是我们在操作系统中所说的PCB...
分类:系统相关   时间:2015-07-29 21:24:35    阅读次数:223
分析Linux内核创建一个新进程的过程
分析Linux内核创建一个新进程的过程进程描述 进程描述符(task_struct)用来描述进程的数据结构,可以理解为进程的属性。比如进程的状态、进程的标识(PID)等,都被封装在了进程描述符这个数据结构中,该数据结构被定义为task_struct 进程控制块(PCB)是操作系统核心中一种数据结构,主要表示进程状态。 进程状态fork()fork()在父、子进程各返回一次。在父进程中返回子进程的 p...
分类:系统相关   时间:2015-07-29 14:09:04    阅读次数:245
分析Linux内核创建一个新进程的过程
新进程的执行源于以下前提: - dup_task_struct中为其分配了新的堆栈 - 调用了sched_fork,将其置为TASK_RUNNING - copy_thread中将父进程的寄存器上下文复制给子进程,保证了父子进程的堆栈信息是一致的 - 将ret_from_fork的地址设置为eip寄存器的值 最终子进程从ret_from_fork开始执行...
分类:系统相关   时间:2015-07-29 14:08:57    阅读次数:198
深入理解Linux内核-进程
1、进程的静态特性进程:程序执行时的一个实例进程描述符(task_struct): 进程的基本信息(thread_info)、指向内存区描述符的指针(mm_struct)、进程相关的tty(tty_struct)、当前目录(fs_struct)、指向 文件描述符的指针(fi...
分类:系统相关   时间:2015-07-13 21:51:32    阅读次数:594
206条   上一页 1 ... 13 14 15 16 17 ... 21 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!