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:
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:
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 agetpid()
call which requests its own process identity.
Also, notice that thecat
command requests access to/etc/hosts
with a fileopen()
call.