进程管理
Linux内核进程管理机制。
tanglinux
专注于Linux内核以及C/C++应用程序的开发。
展开
-
Linux进程管理之执行新的程序
内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 无论是在Ubuntu的伪终端(Terminal软件)还是在实终端(如通过串口访问开发板时),无论是直接执行./program命令还是使用shell脚本,它们的实现原理都是当前的shell程序(如bash)首先fork一个子进程,然后子进程调用execve系统调用来完成一个程序的执行(执行pr原创 2012-03-30 22:21:04 · 5512 阅读 · 0 评论 -
Linux进程管理之进程的终止
内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 进程终止时,一般是调用exit库函数(无论是程序员显式调用还是编译器自动地把exit库函数插入到main函数的最后一条语句之后)来释放进程所拥有的资源。 $ man 3 exit void exit(int status);$ man 2 exit_group原创 2012-04-03 13:44:00 · 13079 阅读 · 0 评论 -
Linux进程管理之task_struct结构体(上)
内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 进程是处于执行期的程序以及它所管理的资源(如打开的文件、挂起的信号、进程状态、地址空间等等)的总称。注意,程序并不是进程,实际上两个或多个进程不仅有可能执行同一程序,而且还有可能共享地址空间等资源。 Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程,这原创 2012-03-09 08:41:00 · 48842 阅读 · 6 评论 -
Linux进程管理之task_struct结构体(下)
9、进程地址空间 struct mm_struct *mm, *active_mm;#ifdef CONFIG_COMPAT_BRK unsigned brk_randomized:1;#endif#if defined(SPLIT_RSS_COUNTING) struct task_rss_stat rss_stat;#endif mm指向进程所拥有的内存原创 2012-03-09 09:00:47 · 14902 阅读 · 5 评论 -
Linux进程管理之进程的创建
开发平台:Ubuntu 11.04 内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 在Linux应用程序的开发中,可以通过fork、vfork和clone等系统调用来创建一个子进程,它们在Linux内核中的入口点分别为sys_fork、sys_vfork和sys_clone函数。 /* linux-2.6.38.8/arch原创 2012-03-29 10:47:43 · 6215 阅读 · 0 评论 -
Linux进程管理之内核线程
内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 在Linux系统中,进程和线程都使用task_struct结构体来表示,线程只不过是一种特殊(所谓的特殊也不过是在被创建时使用不同的clone标志组合而已)的进程罢了。 内核线程只运行在内核态,只能使用大于PAGE_OFFSET的线性地址空间。 1、进程0 在L原创 2012-03-29 21:57:08 · 7586 阅读 · 0 评论