Релиз GNU Hurd 0.9
Состоялся релиз ядра GNU Hurd 0.9, а также сопутствующих ядру компонентов: микроядра GNU Mach 1.8, генератора интерфейсов для микроядра Mach — GNU MIG 1.8 и порта системной библиотеки glibc-2.23-hurd+libpthread-20161218. GNU Hurd доступен только для 32-разрядной архитектуры x86 (работа по портированию ядра для архитектуры x86_64 пока не завершена). В ближайшее время оценить GNU Hurd в действии можно будет воспользовавшись сборками (iso-образы) дистрибутива Debian GNU/Hurd, сочетающего программное окружение Debian c ядром GNU Hurd.
GNU Hurd представляет собой ядро, развиваемое в качестве замены ядра Unix и оформленное в виде набора серверов, работающих поверх микроядра GNU Mach и реализующих различные системные сервисы, такие как файловые системы, сетевой стек, система управления доступом к файлам. Микроядро GNU Mach предоставляет IPC-механизм, используемый для организации взаимодействия компонентов GNU Hurd и построения распределённой мультисерверной архитектуры. GNU MIG (Mach 3.0 Interface Generator) является инструментом для трансляции файлов-определений RPC (Remote Procedure Call) в код на языке Си, который необходим для компиляции любого пакета, принимающего или отправляющего RPC-вызовы, в том числе для GNU Mach, GNU Hurd и GNU C Library (glibc).
Основные новшества GNU Hurd 0.9:
- Программа boot теперь может выполняться от непривилегированного пользователя, что даёт возможность любому пользователю создавать вложенные непривилегированные окружения (Subhurds);
- В состав принят мультиплексор ethernet-соединений (eth-multiplexer), позволяющий создавать виртуальные сетевые интерфейсы, обеспечивая маршрутизацию трафика между ними и реальными сетевыми устройствами Ethernet. Виртуальным сетевым интерфейсам назначаются псевдослучайные MAC-адреса. В состав также включена библиотека с реализацией BPF (Berkeley Packet Filter), которая используется для обеспечения работы eth-multiplexer;
- В модуле ext2fs устранены проблемы с обработкой ситуации исчерпания свободного дискового пространства;
- Внесены изменения, направленные на улучшение совместимости со стандартами, такими как POSIX;
- В генераторе интерфейсов GNU MIG 1.8 решены проблемы с появлением ложных предупреждений компилятора при сборке сгенерированного кода.
Улучшения в микроядре GNU Mach 1.8:
- Всесторонне переработана система управления памятью. Для работы с физическими адресами по возможности везде задействован новый тип, что позволило организовать доступ системы к верхним сегментам памяти. Решены многие проблемы, связанные с обработкой страниц памяти, улучшена работа в условиях нехватки свободной оперативной памяти;
- Система виртуальной памяти переведена на использование структуры «красно-чёрное дерево» для хранения информации о распределении памяти, что позволило обеспечить поддержку задач, выполняющих тысячи операций маппинга памяти;
- Улучшены средства отладки и обеспечен вывод более детальной информации в сообщениях об ошибках. Налажена отладка блокировок. В отладчике уровня ядра добавлена возможность инспектирования трассировок стека;
- Решены проблемы в реализации механизма синхронизации gsync, который теперь используется для внутренних блокировок в GNU C Library (glibc);
- Удалён устаревший внешний интерфейс управления памятью и прекращена неполная поддержка ACPI.
© OpenNet