Структура задачи процесса между Docker и Host

Чем отличается структура задачи процесса как в докере, так и в хост-процессе, отличается ли конкретный модуль в докере от хоста?

1 ответ

Поскольку обработанные представлены в ядре структурой под названием 'task_struct', эта структура одинакова в контейнере.

Контейнер основан на системных вызовах ядра хоста, и любая связанная с ядром структура происходит непосредственно из указанного ядра.

См. " Архитектура контейнеров: почему понимание пространства пользователя по сравнению с пространством ядра"

Типичная программа получает доступ к ресурсам в ядре через уровни абстракции, подобные следующей диаграмме:

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

Другие вопросы по тегам