处理Docker和Host之间的任务结构

时间:2015-10-14 04:59:37

标签: process docker

如果Docker和主机进程中的进程任务结构有何不同,则docker与host之间的任何特定模块都不同?

1 个答案:

答案 0 :(得分:1)

由于处理过程在内核中由称为“task_struct”的结构表示,因此容器中的结构相同。

容器基于 system calls 到主机内核,任何与内核相关的结构直接来自所述内核。

请参阅“Architecting Containers: Why Understanding User Space vs. Kernel Space Matters

  

典型的程序通过抽象层访问内核中的资源,类似于下图:

https://rhelblog.files.wordpress.com/2015/07/user-space-vs-kernel-space-system-calls-gears.png?w=300

  

内核为安全性,硬件和内部数据结构提供抽象。 open()系统调用通常用于获取文件句柄

     

请注意,在下图中bash进行getpid()调用,请求自己的进程标识。
  另请注意,cat命令通过文件/etc/hosts请求访问open()

https://rhelblog.files.wordpress.com/2015/07/user-space-vs-kernel-space-basic-system-calls.png?w=584&h=219