GNU Mach представляет собой реализацию микроядра Mach от проекта GNU, а GNU Hurd — набор сервисов поверх него. Вместе они составляют ядро операционной системы GNU.
Основные нововведения и изменения в GNU Mach 1.6:
- Исходный код обновлён для совместимости с новыми версиями компилятора. Параллельно был исправлен ряд ошибок.
- Переработан и улучшен механизм отладки блокировок, вследствие чего были устранены многие проблемы с блокировками.
- Таблицы IPC заменены на деревья остатков. Это повышает масштабируемость ядра, поскольку IPC-таблицы требовали больших непрерывных участков виртуальной памяти.
- Ядро теперь позволяет непривилегированным процессам «связывать» (mlock(2)) небольшие участки памяти (до 64 KiB).
- Исправлена ошибка, мешающая демону pageout выгружать неактивные страницы.
- Timestamp-ы теперь относительны к времени загрузки системы. Они больше не ломаются от перевода времени.
- Внутренняя реализация printf теперь поддерживает управляющие последовательности ANSI. Это исправляет вывод сообщений от драйверов Linux.
Основные нововведения и изменения в GNU Hurd 0.7:
- Исходный код обновлён для совместимости с новыми версиями компилятора. Параллельно был исправлен ряд ошибок.
- Из ext2fs в библиотеку libdiskfs был перенесён механизм кеширования inode. Ранее каждый драйвер файловой системы содержал собственную реализацию кеша.
- Значительно усовершенствована программа fakeroot. Она научилась работать с именованными сокетами, было исправлено несколько проблем с правами файлов.
- Добавлена новая утилита
rpcscan
. Она сканирует сервера Mach и отображает процедуры, которые можно вызвать у этого сервера через RPC. - Решена долгоиграющая проблема с синхронизацией драйверов ФС, libdiskfs и libpager.
>>> Подробности