Увидел свет GNU Hurd 0.6

После полутора лет разработки доступен релиз ядра GNU Hurd 0.6, а также сопутствующих ядру компонентов: микроядра GNU Mach 1.5 и генератора интерфейсов для микроядра Mach — GNU MIG 1.5. 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.6:

Сервер инициализации разбит на два обособленных компонента: сервер запуска (startup server), обслуживающий начальную стадию загрузки, и выполненная в силе SysV система инициализации, отвечающая за работу процесса init; В состав включены трансляторы для обеспечения поддержки procfs и интерфейса для доступа к генератору случайных чисел; В серверах Hurd улучшен код диспетчеризации сообщений. Задействован представленный в GNU Mach 1.5 режим защищённого доступа к ресурсам (protected payload), который можно сравнить с capabilities в Linux. Защищённые ресурсы прикрепляются ядром к доставляемому сообщению и могут быть использованы для ускорения выборки объектов на стороне получателя. Проведена чистка кодовой базы и приведение стиля в соответствие с требованиями проекта GNU. Решены проблемы, выявленные при проверке в системе статического анализа кода; Вместо встроенных распаковщиков gz и bz2 задействованы библиотеки libz и libbz2; Значительно улучшен сборочный инструмент fakeroot, который теперь пригоден для сборки многих пакетов. В утилиты portinfo и rpctrace добавлены улучшенные средства отладки; Проведена оптимизация производительности библиотеки работы с хэшами; В микроядре GNU Mach 1.5, кроме вышеупомянутой поддержки защищённых ресурсов и чистки кодовой базы, добавлена частичная поддержка ACPI (достаточная для выключения сисетмы), с учётом возможностей современного оборудования проведена оптимизация настроек системы распределения памяти. Улучшен встроенный отладчик ядра, добавлена возможность парсинга таблиц символов из ELF-файлов.

© OpenNet