《深入理解linux内核》第三章 进程
2014-01-04 23:43
260 查看
进程的七种状态
在内核源码的 include/linux/sched.h文件中:
task_struct的status可表示
#define TASK_RUNNING 0 #define TASK_INTERRUPTIBLE 1 #define TASK_UNINTERRUPTIBLE 2 #define TASK_STOPPED 4 #define TASK_TRACED 8
task_struct和exit_status均可标识
#define EXIT_ZOMBIE 16 #define EXIT_DEAD 32
进程标识符
一个线程组中的所有线程和该线程组的领头线程具有相同的pid。
pid存放在task_struct结构的tgid字段中,但使用getpid()时返回的时tgid。
线程组领头线程的pid和tgid是相同的。
linux进程切换实质1.切换页全局目录
2.切换内核态堆栈和硬件上下文,即TSS段中的值。但linux是软件进程切换,所有的进程共享一个TSS段,使用mov指令手动装填TSS而非切换。
switch_to宏为什么是三个参数
最后一个参数last用来存储上个运行进程,因为切换到新进程时,从堆栈中恢复的prev指针很可能不是目前该进程的真实前一个进程。
linux创建进程的关键技术
1.写时复制
2.线程的创建可以共享父进程的地址空间,打开文件等信息。
3.vfork创建的进程共享整个父进程的地址空间,并且可以保证子进程比父进程有限执行。
我的博客:www.while0.com
相关文章推荐
- 《深入理解Linux内核》读书笔记-第三章-进程(1) .
- 《深入理解Linux内核》读书笔记-第三章-进程(2) .
- 《深入理解Linux内核》读书笔记-第三章-进程(1)
- 《深入理解Linux内核》读书笔记-第三章-进程(2)
- 《深入理解Linux内核》--第三章 进程:读书笔记
- 第三章:Creating Applications and activities-(五)理解应用的优先级以及进程状态
- 《深入理解Linux内核》笔记2:进程的数据结构与其生命周期
- 第三章读书笔记——进程管理
- Linux内核分析——第三章 进程管理
- 第三章:Creating Applications and activities-(五)理解应用的优先级以及进程状态
- [笔记]《Linux内核设计与实现》第三章进程管理
- 《深入理解Linux内核》-3.5. 进程的销毁
- WinCE 编程实验(第三章 进程与线程的描述和调度)
- 第三章 进程控制 3.1.3 exec系统调用2
- 第三章--进程
- 《深入理解Linux内核》读书笔记 - 绪论:进程
- 操作系统概念(第三章) 进程
- Linux内核设计与实现--学习笔记--第三章- 2(init进程)
- 《深入理解Linux内核》-3. 进程
- 《深入理解Linux内核》-3.1. 进程,轻量级进程,和线程