The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Debian прекращает поддержку порта GNU/kFreeBSD "
Отправлено Аноним, 20-Июл-23 01:53 
> В bsd нет clone(), поэтому не может быть никаких клонов-суперсетов. :D

А вот это уже проблемы бсдей. В лине же за счет наличия такого сискола появилась куча инструментов для создания контейнеров достаточно просто и без гимора. И нормальный трединг тоже.

В терминах clone() и линуха это так: у thread unshare()'d еще меньше чем у process. А у контейнера unshare()'d больше чем у процесса. Так что технически fork() это clone() с конкретной комбинацией флагов ведущей к тому что новый entity будет "процессом". А мог бы и тредом или контейнером быть, с другими флагами. Это не они придумали, это из Plan9 вроде.

В стандартном posix вообще нет этой семантики. Но ее можно вызвать из юзермода, запилив свой контейнеризатор или какой-то низкоуровневый диспетчер тредов если это вдруг стало надо.

Более того - это самые "типовые" комбинации того что unshare'ится. В принципе возможны и иные. А само ядро так то уже давно может отращивать себе "ядерные треды". И даже обзавелось всякими инфраструктурами воркеров и проч. А в контейнерах можно unshare'ить лишь часть инфраструктуры. Вот так оно видит системных юзеров. А так считает себя отдельным нечто с своими юзерами. И так для ряда системных ресурсов. Типа маунтов или сети. И да, в сети контейнера свои правила фаера, шедулинг, ифейсы и проч. У ифейса есть принадлежность к namespace.

> Клон оставьте для ядра-клона.

Клон пошел очень сильно дальше примитивного fork() и сделал довольно крутые и логичные вещи.  В целом имхо вышло круто и гибко.

> Вы попробуйте внимательно прочитать глазами что написал Аноним(96).
> fork() - не subset фич clone(), нет в бсд никакого clone().

Я сказал как это в линухе. Там это уже точно не ripoff вон того - у них инфраструктура чисто технически сильно превосходит fork() и никак не может быть на нем базирована, в нем такого не было. Нельзя скопировать фичи которых нет.

> Найди мне в бсд и маке clone().

Это их проблемы. Я их вижу в linux и понимаю что его fork это надстройка над вот этим вот. Частный случай дерга куда более мощного системного вызова с конкретным набором флагов. А если другие флаги указать - это будет тредом или тем или иным вариантом контейнера, смотря что unshare'нуто. Кстати да, до некоторой степени можно передумать и опосля - вызвав уже unshare(). И процесс может стать контейнером, если правов хватает.

> Чтобы не писать AFAIK, открой маны да посмотри сам.

Мне не интересны системные кишки *bsd. Это напрасная трата времени. Факт в том что актуальная линуксная реализация fork() базирована на линуксном же clone() и вообще совсем никак не может быть базирована на вот этсамом из бзды! Вот как раз потому что в оных clone() и нету. Л - логика.

> Да ещё подумай, почему всегда была рекомендация для совместимости вызывать fork, вместо
> clone. И почему она не связана с plan9.

Эта рекомендация актуальна для портабельных программ. Однако в POSIX вообще нет такого термина как контейнер, поэтому менеджер контейнеров вы вообще по нему не напишете допустим.

Можете кстати блеснуть эрудицией и рассказать как jail контейнеры делает и насколько сложно создавалку контейнеров в бсде сделать. Я вот могу простенькую создавалку контейнеров для линуха и сам забацать. А вы так для бсды сможете? :). Не, портабельно оно не будет - posix такие вещи не регламентирует.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру