Вышла первая бета-версия операционной системы Haiku R1
ОС Haiku ориентирована на персональные компьютеры, использует собственное ядро, построенное на основе микроядерной архитектуры, оптимизированное для высокой отзывчивости на действия пользователя и эффективного выполнения многопоточных приложений. Для разработчиков представлен объектно-ориентированный API. Система напрямую базируется на технологиях BeOS 5 и нацелена на бинарную совместимость с приложениями для данной ОС. Минимальное требование к оборудованию: CPU Pentium II и 256 МБ ОЗУ (рекомендовано Intel Core i3 и 2 ГБ ОЗУ).
В качестве файловой системы используется OpenBFS, поддерживающая расширенные атрибуты файлов, журналирование, 64-разрядные указатели, поддержку хранения мета-тэгов (для каждого файла можно сохранить атрибуты в форме ключ=значение, что делает ФС похожей на БД) и специальных индексов для ускорения выборки по ним. Для организации структуры директорий используются «B+ tree» деревья. Из кода BeOS в состав Haiku включен файловый менеджер Tracker и панель Deskbar, исходные тексты которых были открыты после ухода BeOS со сцены.
Основные новшества:
- Добавлены полноценные инструменты для управления пакетами, включая утилиту командной строки pkgman и графический интерфейс для установки программ и обновления системы. Пакетный менеджер не походит на традиционные решения и манипулирует не установкой отдельных наборов файлов, а специальными образами файловой системы, поставляемыми в сжатом виде. Содержимое пакета монтируется в процессе установки и включается в иерархию /system/, которая доступна в режиме только для чтения.
Пользователь имеет возможность установить пакет для личного применения и тогда он размещается в иерархии ~/config/ внутри его домашней директории. Автоматическим монтированием пакетов занимается специальный компонент ядра — packagefs. Пакеты подключаются и отключаются в атомарном режиме. Так как пакеты не устанавливаются, а активируются, имеется возможность загрузки в прошлое состояние системы в случае проблем, всплывших после обновления, или применение отдельных чёрных списков для исключения проблемных компонентов, или активации установленных обновлений только после перезагрузки. Пакеты сформированы на основе переработанного архива HaikuPorts, в котором представлено большинство популярных открытых приложений.
- Существенно расширены возможности и стабильность развиваемого проектом web-браузера WebPositive, использующего порт движка WebKit (HaikuWebKit). Например, в браузере теперь корректно воспроизводятся ролики из YouTube, а в HaikuWebKit задействован собственный сетевой уровень поддержки сетевых протоколов;
- Полностью переделан сетевой конфигуратор, который помимо настройки беспроводной сети и сетевых соединений позволяет управлять системными сетевыми сервисами, такими как OpenSSH и ftpd. В конфигураторе используется архитектура на базе плагинов, которая позволяет подключать дополнительные сервисы, такие как настройка VPN и управление web-сервером;
- Модернизирован интерфейс пользователя и применена новая цветовая схема. Переработан интерфейс приложений Mail и Tracker, оформление которых приведено к единому стилю с другими приложениями;
- Изменён метод централизованного управления цветами, изменения цветовой темы в настройках автоматически приводит к корректировке цветов в приложениях;
Your browser does not support HTML5 video.
- Расширены возможности мультимедийной подсистемы. Во фреймворке Media Kit проведена работа по повышению стабильности и сокращению задержек. Добавлена поддержка воспроизведения потоковых трансляций с использованием протоколов HTTP и RTSP. Улучшен плагин декодирования на базе FFmpeg (порт FFmpeg обновлён с версии 0.10 до 4.0). Переработана реализация DVB-тюнера. Улучшены звуковые драйверы и расширена поддержка чипов HDA (High-Definition Audio);
- Расширены возможности развиваемой проектом системы RemoteDesktop для удалённого доступа к рабочему столу, которая базируется на идее передачи с сервера на клиентскую систему команд отрисовки без передачи готовых битмапов. Для использования RemoteDesktop не требуется запуск отдельного серверного ПО, достаточно подключиться по SSH и запустить приложение. В качестве клиента может применяться любой web-браузер;
- Добавлена поддержка загрузки на системах c EFI и возможность использования разделов GPT;
- Добавлено приложение SerialConnect для подключения к системе и передачи файлов через последовательный порт или USB;
- По умолчанию вместо GDB предложен собственный встроенный отладчик, предоставляющий как интерфейс командной строки, так и GUI;
- Реализованы и включены по умолчанию средства защиты ASLR (Address-Space Layout Randomization), DEP (Data-Execution Prevention) и SMAP/SMEP (Supervisor Mode Access Prevention / Supervisor Mode Execution Prevention). Изменена логика защиты областей памяти ядра;
- Полностью переделан демон инициализации launch_daemon, который из простого приложения для запуска shell-скриптов превращён в системный менеджер, похожий на launchd от Apple. Launch_daemon теперь может учитывать зависимости при запуске серверов, организует отложенный запуск, автоматически перезапускает сбойные процессы и т.п. Для управления сервисами предложена новая утилита launch_roster;
- Расширена поддержка запуска внутри виртуальных машин. Добавлены драйверы virtio (virtio_scsi/virtio_block, virtio_net, virtio_rng и т.п.), которые можно использовать с QEMU/KVM и другими гипервизорами;
- Обновлены драйверы для сетевых устройств и добавлены новые драйверы для беспроводных чипов. Большинство драйверов портированы из FreeBSD 11.1. Расширены возможности прослойки для обеспечения совместимости с FreeBSD;
- Обновлены драйверы для файловых систем. Добавлен клиент NFSv4 и реализован драйвер для BTRFS (пока только для чтения). В поставку включена подсистема userlandfs для написания драйверов ФС, работающих в пространстве пользователя (совместима с FUSE);
- Добавлен экспериментальный Bluetooth-стек, который пока ограничен функциями поиска и сопряжения устройств;
- Помимо 32-разрядных сборок началась поставка официальных сборок для архитектуры x86_64.
- Кроме того, за время, прошедшее с момента выпуска alpha4, была значительно улучшена поддержка Qt и портировано множество Qt-приложений, что позволяет уже сейчас относительно комфортно использовать Haiku OS для повседневной деятельности.
Оригинал статьи здесь.
Примечания к релизу на английском здесь.