From 659cdc750d56f94ca424084a670c7452396ab5bd Mon Sep 17 00:00:00 2001 From: gatieme Date: Wed, 11 May 2016 17:43:21 +0800 Subject: [PATCH] ... --- study/process/task/pid/README.md | 12 ++++++------ .../task/pid/{ => image}/namespace-level.jpg | Bin .../pid/{ => image}/per-task_struct-per-pid.png | Bin .../process/task/pid/{ => image}/pid-namespace.png | Bin .../pid/{ => image}/pidnamespace-and-process.png | Bin .../pid/{ => image}/task_struct-with-namespace.png | Bin .../pid/{ => image}/task_struct-with-pidtype.png | Bin 7 files changed, 6 insertions(+), 6 deletions(-) rename study/process/task/pid/{ => image}/namespace-level.jpg (100%) rename study/process/task/pid/{ => image}/per-task_struct-per-pid.png (100%) rename study/process/task/pid/{ => image}/pid-namespace.png (100%) rename study/process/task/pid/{ => image}/pidnamespace-and-process.png (100%) rename study/process/task/pid/{ => image}/task_struct-with-namespace.png (100%) rename study/process/task/pid/{ => image}/task_struct-with-pidtype.png (100%) diff --git a/study/process/task/pid/README.md b/study/process/task/pid/README.md index 57f9cff..d3fa8cb 100644 --- a/study/process/task/pid/README.md +++ b/study/process/task/pid/README.md @@ -63,7 +63,7 @@ pid是 Linux 中在其命名空间中唯一标识进程而分配给它的一个 命名空间有的还有层次关系,如PID命名空间 -![命名空间的层次关系图](./namespace-level.jpg) +![命名空间的层次关系图](./images/namespace-level.jpg) @@ -159,7 +159,7 @@ struct pid_namespace | level | 代表当前命名空间的等级,初始命名空间的level为0,它的子命名空间level为1,依次递增,而且子命名空间对父命名空间是可见的。从给定的level设置,内核即可推断进程会关联到多少个ID。| | parent | 指向父命名空间的指针 | -![PID命名空间.png](./pid-namespace.png) +![PID命名空间.png](./images/pid-namespace.png) 实际上PID分配器也需要依靠该结构的某些部分来连续生成唯一ID,但我们目前对此无需关注。我们上述代码中给出的下列成员更感兴趣。 @@ -305,7 +305,7 @@ struct task_struct 那么最终,linux下进程命名空间和进程的关系结构如下: -![进程命名空间和进程的关系结构](./pidnamespace-and-process.png) +![进程命名空间和进程的关系结构](./images/pidnamespace-and-process.png) 可以看到,多个task_struct指向一个PID,同时PID的hash数组里安装不同的类型对task进行散列,并且一个PID会属于多个命名空间。 @@ -356,7 +356,7 @@ struct pid 结构示意图如图 -![一个task_struct对应一个PID](./per-task_struct-per-pid.png) +![一个task_struct对应一个PID](./images/per-task_struct-per-pid.png) #如何快速地根据局部ID、命名空间、ID类型找到对应进程的 task_struct @@ -435,7 +435,7 @@ struct pid 假如现在有三个进程A、B、C为同一个进程组,进程组长为A,这样的结构示意图如图 -![增加ID类型的结构](./task_struct-with-pidtype.png) +![增加ID类型的结构](./images/task_struct-with-pidtype.png) @@ -477,7 +477,7 @@ struct upid 举例来说,在level 2 的某个命名空间上新建了一个进程,分配给它的 pid 为45,映射到 level 1 的命名空间,分配给它的 pid 为 134;再映射到 level 0 的命名空间,分配给它的 pid 为289,对于这样的例子,如图4所示为其表示: -![增加PID命名空间之后的结构图](./task_struct-with-namespace.png) +![增加PID命名空间之后的结构图](./images/task_struct-with-namespace.png) 图中关于如果分配唯一的 PID 没有画出,但也是比较简单,与前面两种情形不同的是,这里分配唯一的 PID 是有命名空间的容器的,在PID命名空间内必须唯一,但各个命名空间之间不需要唯一。 diff --git a/study/process/task/pid/namespace-level.jpg b/study/process/task/pid/image/namespace-level.jpg similarity index 100% rename from study/process/task/pid/namespace-level.jpg rename to study/process/task/pid/image/namespace-level.jpg diff --git a/study/process/task/pid/per-task_struct-per-pid.png b/study/process/task/pid/image/per-task_struct-per-pid.png similarity index 100% rename from study/process/task/pid/per-task_struct-per-pid.png rename to study/process/task/pid/image/per-task_struct-per-pid.png diff --git a/study/process/task/pid/pid-namespace.png b/study/process/task/pid/image/pid-namespace.png similarity index 100% rename from study/process/task/pid/pid-namespace.png rename to study/process/task/pid/image/pid-namespace.png diff --git a/study/process/task/pid/pidnamespace-and-process.png b/study/process/task/pid/image/pidnamespace-and-process.png similarity index 100% rename from study/process/task/pid/pidnamespace-and-process.png rename to study/process/task/pid/image/pidnamespace-and-process.png diff --git a/study/process/task/pid/task_struct-with-namespace.png b/study/process/task/pid/image/task_struct-with-namespace.png similarity index 100% rename from study/process/task/pid/task_struct-with-namespace.png rename to study/process/task/pid/image/task_struct-with-namespace.png diff --git a/study/process/task/pid/task_struct-with-pidtype.png b/study/process/task/pid/image/task_struct-with-pidtype.png similarity index 100% rename from study/process/task/pid/task_struct-with-pidtype.png rename to study/process/task/pid/image/task_struct-with-pidtype.png