Process task structure between Docker and Host

2019-01-20 05:53发布

How the process task structure is different in both docker and the host process any specific module is differed in docker apart from host?

1条回答
乱世女痞
2楼-- · 2019-01-20 06:17

Since processed are represented in kernel by structure called ‘task_struct', that structure is the same in a container.

A container is based on system calls to the host kernel, and any kernel-related structure comes directly from said kernel.

See "Architecting Containers: Why Understanding User Space vs. Kernel Space Matters"

A typical program gets access to resources in the kernel through layers of abstraction similar to the following diagram:

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

The kernel provides abstraction for security, hardware, and internal data structures. The open() system call is commonly used to get a file handle

Notice in the following drawing that bash makes a getpid() call which requests its own process identity.
Also, notice that the cat command requests access to /etc/hosts with a file open() call.

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

查看更多
登录 后发表回答