Как разделены пространства имен Linux? - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь понять пространство имен linux.

Вопрос 1. О глобальном (начальном) пространстве имен.

На рисунке 1 показан процесс создания нового пространства имен UTS1 после clone () в процессе P1 и помещения вновь созданного процесса 2 в пространство имен UTS1.Рисунок 2 - тот же процесс, что и на рисунке 1, но картина немного отличается.На рисунке 1 показано вновь созданное пространство имен UTS, как если бы оно было отдельным пространством.На рисунке 2 показано исходное пространство имен UTS, содержащее вновь созданное пространство имен UTS1.

Мне интересно, какое из двух изображений является правильным.Обычно в пространстве имен монтирования есть глобальное пространство имен монтирования, и теперь в нем есть несколько пространств имен, поэтому может ли UTS быть одинаковым?

Question1_picture

Вопрос 2. Использование нескольких флагов сclone () для создания пространства имен

int child_pid = clone(child_main, child_stack+STACK_SIZE, CLONE_NEWUTS | CLONE_NEWIPC | SIGCHID, NULL);

Если я использую несколько флагов (UTS, IPC) для создания нового пространства имен с помощью системного вызова clone (), новый процесс, созданный clone (), принадлежитв пространство имен UTS и пространство имен IPC?

Question2_picture

...