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

Представлен релиз ядра GNU Hurd 0.8, а также сопутствующих ядру компонентов: микроядра GNU Mach 1.7, генератора интерфейсов для микроядра Mach — GNU MIG 1.7 и порта системной библиотеки glibc-2.19-hurd+libpthread-20160518. 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.8:

  • Библиотека netfs переведена на использование механизма подсчёта ссылок, позволяющего обойтись без блокировок для peropen и node-объектов ;
  • В библиотеке с реализаций хэшей появился интерфейс для использования нецелочисленных ключей, который теперь применяется в трансляторе ftpfs и кэшах libdiskfs и nfs;
  • Повышена стабильность инструмента fakeroot;
  • В состав репозитория включены транслятор devnode и библиотека hurd-slab;
  • Проведена чистка кода, исправлен крах в pfinet, решены проблемы с блокировками в libdiskfs и устранён выход за границы буфера в кэше блоков ext2fs;
  • Улучшения в генераторе интерфейсов GNU MIG 1.7: Добавлен тестовый набор. Вместо типов Mach в генерируемом кода задействованы целочисленные типы из stdint.h. Прекращена поддержка устаревших функций и процедур RPC;
  • В микроядре GNU Mach 1.7 обеспечена совместимость с новыми версиями GCC. Вместо типов Mach в генерируемом кода задействованы целочисленные типы из stdint.h. Изменены правила кэширования объектов VM. Интегрирована и задействована в slab allocator система физического выделения страниц памяти (physical page allocator). Добавлен механизм синхронизации gsync, похожий на futex в Linux. Добавлена возможность профилирования кода ядра из пространства пользователя.

© OpenNet