专栏名称: 刘超的通俗云计算
刘超,网易云解决方案首席架构师,代码级略懂OpenStack、Hadoop、Docker、Lucene、Mesos等开源软件,曾出版《Lucene应用开发揭秘》,个人博客可搜索popsuper1982。
目录
相关文章推荐
51好读  ›  专栏  ›  刘超的通俗云计算

图说Linux进程之三

刘超的通俗云计算  · 公众号  · 架构  · 2017-09-02 21:58

正文


图说Linux进程


图说Linux进程之二


五、计算机体系结构相关数据


在task_struct里面有一个thread_info




为什么需要单独的这个数据结构呢?因为不同的体系结构可能会有不同的实现。



从代码可以看出不同的体系结构有不同的实现。



在thread_info里面有一个指针指向task_struct。


这个指针有什么用的,当一个用户态的进程进入到内核的时候,如何找到对应的task_struct呢?


一般是从当前CPU的一个寄存器里面,通过函数current_thread_info得到在内核态里面的thread_info的地址,然后就可以通过指针找到task_struct了。


六、进程树



task_struct中有一系列指针是用来维护进程树的。



parent指向的是一个进程的原来的父进程,real_parent指向的是进程的当前的父进程,这两个值大多数情况下是一致的。


但是有一种情况下不一致,就是在一个进程被Debug的时候,这个时候GDB就变成了当前的父进程。








请到「今天看啥」查看全文