Первый бета-выпуск операционной системы Haiku R1

Тип статьи:
Рецензия
Источник:

После девяти лет альфа-тестирования и спустя шесть лет с момента формирования прошлого альфа-выпуска подготовлен первый бета-выпуск операционной системы Haiku R1. Изначально проект был создан как реакция на закрытие ОС BeOS и развивался под именем OpenBeOS, но был переименован в 2004 году из-за претензий, связанных с использованием в названии торговой марки BeOS. Для оценки работы нового выпуска подготовлено несколько загрузочных Live-образов (x86, x86-64). Исходные тексты большей части ОС Haiku распространяются под свободной лицензией MIT, исключение составляют некоторые библиотеки, медиа-кодеки и компоненты, заимствованные из других проектов.

ОС 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, оформление которых приведено к единому стилю с другими приложениями. ;

Изменён метод централизованного управления цветами, изменения цветовой темы в настройках автоматически приводит к корректировке цветов в приложениях; 

Расширены возможности мультимедийной подсистемы. Во фреймворке 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.
  • BaseMalibus
RSS
Нет комментариев. Ваш будет первым!