Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Возобновлена работа над ОС NextBSD, сочетающей технологии FreeBSD и macOS

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 2115
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 59 раз
Поблагодарили: 28 раз

Возобновлена работа над ОС NextBSD, сочетающей технологии FreeBSD и macOS

Сообщение root:# »

Возобновлена работа над ОС NextBSD, сочетающей технологии FreeBSD и macOS
Началась работа над возрождённым проектом NextBSD, нацеленным на создание операционной системы, использующей технологии macOS, такие как системный менеджер launchd, механизм межпроцессного взаимодействия Mach IPC и библиотека диспетчеризации параллельного выполнения задач libdispatch, поверх современной кодовой базы FreeBSD. Новая реализация создаётся заново, не используя кодовую базу старого проекта NextBSD, прекратившего существование 10 лет назад, но цели и реализуемые идеи у проектов совпадают. Проект возродил Джо Мэлони (Joe Maloney), принимавший участие в разработке старого NextBSD и смежных проектов, таких как helloSystem, ravynOS, FreeNAS/TrueNAS, PCBSD/TrueOS и GNUstep, а также известный как создатель среды рабочего стола Gershwin, применяемой в GhostBSD. Код распространяется под лицензией BSD-2 и развивается с привлечением AI-ассистента Claude. Для загрузки доступны ежедневного формируемые экспериментальные сборки. Проектом используется ядро FreeBSD, для которого поставляется патч с реализацией механизма межпроцессного взаимодействия на базе микроядра Mach и ряд надстроек. Специфичные для NextBSD изменения применяются поверх штатной кодовой базы ядра FreeBSD без создания форка. На уровне ABI ядро остаётся совместимо с FreeBSD. Вместо модулей ядра, загружаемых утилитой kldload, применяются расширения ядра (kext), для загрузки которых задействован инструментарий kextload и kextstat из Darwin kext_tools. Для взаимодействия через Mach IPC в системное окружение включены библиотеки libsystem_kernel, libdispatch, libxpc, liblaunch и libCoreFoundation, используемые в окружении Darwin. Для обработки событий от аппаратных устройств вместо devd в ядро встроен механизм IORegistry (/dev/ioregistry), использующий для передачи сообщений шину Mach IPC, с обработкой уведомлений через библиотеку libIOKit и утилиту ioreg. В качестве системы инициализации (PID 1) и системного менеджера задействован инструментарий launchd, основанный на последнем открытом выпуске launchd-842.92.1, который был портирован на использование интегрированных в ядро FreeBSD компонентов Mach и стека libxpc. Порт стека межпроцессного обмена сообщениями libxpc перенесён из проекта ravynOS. Вместо rc-скриптов и настроек rc.conf задействованы plist-файлы с описаниями сервисов, размещаемые в каталоге /System/Library/LaunchDaemons/. Для настройки сетевого стека вместо dhclient применён фоновый процесс IPConfiguration (ipconfigd), а для хранения сетевых настроек - реестр configd (netconfigd), хранящий данные в формате ключ/значение. Вместо syslogd для ведения логов задействована система ASL (Apple System Log), а для обработки событий и доставки уведомлений - фоновый процесс notifyd. Из окружения Darwin перенесены некоторые утилиты командной строки, такие как launchctl, ipconfig, ioreg и syslog, при сохранении базовых системных утилит FreeBSD, таких как top, ps и pkg. При этом помимо типовых для FreeBSD библиотек в систему интегрированы библиотеки GNUstep и swift-corelibs. В планах отмечено задействование в NextBSD поставляемых в Darwin наборов утилит bootstrap_cmds (для Mach RPC), network_cmds (ifconfig, route, netstat...), file_cmds (cp, mv, ls, chmod...), shell_cmds (echo, test, kill, su...), system_cmds (ps, sysctl, login...), text_cmds (sort, uniq, cut, cat...) и adv_cmds (last, finger, работа с локалью). Для переноса из Darwin также запланированы инструменты для управления энергопотреблением (pmset) и монтирования накопителей (DiskArbitration поверх libgeom и devctl). Намечено создание инсталлятора и системы upd для проверки и установки обновлений.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65928