Первый бета-выпуск операционной системы Haiku R1
29 сентября 2018 года
После девяти лет альфа-тестирования и спустя шесть лет с момента формирования прошлого альфа-выпуска подготовлен первый бета-выпуск операционной системы 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.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.