Haiku

Материал из Википедии — свободной энциклопедии
Версия от 00:40, 12 марта 2026; imported>Γλωσσολαλιά (С хрена ли американец стал немцем?)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Шаблон:Карточка ОС Haiku — свободная операционная система с открытым исходным кодом для персональных компьютеров, первая версия которой нацелена на двоичную совместимость с операционной системой BeOS.

В настоящее время международная группа разработчиков активно трудится над компонентами системы.

История

С закрытием разработки операционной системы BeOS и продажей всей её интеллектуальной собственности фирме Palm перед энтузиастами BeOS встала задача дальнейшего развития и существования этой операционной системы вообще. Поскольку система была во многом уникальной и передовой, её сторонники решили, дабы избежать юридических и технических проблем, переписать операционную систему BeOS с нуля, полностью под свободной лицензией, обеспечив максимально возможную двоичную совместимость с последней версией BeOS — 5.0.

В 2002 году программист Майкл Фиппс (англ. Шаблон:Lang-en2) основал проект по реализации принятого решения. Целью было полностью воссоздать последний официальный релиз BeOS R5.

Изначально проект назывался OpenBeOS (сокращенно OBOS), но позже, во избежание нарушения прав на торговую марку компании Palm, путём голосования было решено переименовать проект в Haiku.<ref>История смены названия — Русскоязычная вики Haiku</ref>

В 2003 году была создана некоммерческая организация Haiku Inc., занимающаяся организационной частью проекта. Она контролирует развитие проекта, принимает пожертвования, а также обладает правами на торговую марку Haiku, логотип, веб-сайт и исходный код.<ref>Шаблон:Cite web</ref>

Техническая реализация

Прототип app_server
Рабочий прототип сервера приложений

Haiku воплощает в себе основные идеи BeOS. Это модульная система, архитектурно решённая как гибридное ядро<ref>Шаблон:Cite web</ref>: микроядерная архитектура, способная динамически подгружать необходимые модули. Сетевой стек работает в режиме ядра, но в целях двоичной совместимости с BeOS R5 имеет также интерфейс в пользовательской области памяти.

Ядро Haiku — NewOS — написано бывшим инженером Be Inc. Тревисом Гейсельбрехтом и полностью совместимо с приложениями своего оригинала — BeOS R5.<ref>Шаблон:Cite web</ref>

Одна из отличительных особенностей системы — архитектура трансляторов — системных интерпретаторов файловых форматов (например, JPEG). Кроме того, Haiku продолжает традиции BeOS по активному использованию файловых метаатрибутов, что позволяет реализовать работу с данными простыми и очевидными методами (см. OpenTracker).

Файловая система OpenBFS поддерживает расширенные атрибуты файлов, журналирование, 64-разрядные указатели, поддержку хранения метатегов, максимальный размер файла — 260 гигабайт, раздела — 2 эксабайта (261 байт или 2 миллиарда гигабайтов).

Управление пакетами

По состоянию на сентябрь 2013 года Haiku включает в себя систему управления пакетами программного обеспечения, позволяющую собирать пакеты и отслеживать в них зависимости.<ref>Шаблон:Cite web</ref> Разрешение зависимостей пакетов выполняется с помощью библиотеки libsolv из проекта openSUSE.<ref>Шаблон:Cite web</ref> Пакеты могут быть установлены из удалённых репозитариев с помощью утилиты pkgman или посредством размещения уже скачанного пакета в специальном каталоге packages. Система управления пакетами Haiku монтирует активированный пакет в системный каталог в режиме «только чтение».

Новости проекта

Новый внешний вид приложения MediaPlayer расположен слева, справа — старый
  • Название проекта было выбрано в честь сообщений об ошибках, выдаваемых входившим в состав BeOS браузером NetPositive: они представляли собой нерифмованные японские трёхстишия — хайку.
  • 14 сентября 2009 года вышла первая альфа-версия Haiku, которая была нацелена в основном на разработчиков.
  • Двое разработчиков портировали набор инструментов Qt, благодаря чему стало возможным легко портировать на Haiku программы, написанные с использованием Qt.
  • 1 июля 2010 года представлен обновлённый тулкит Qt версии 4.7 для Haiku.
  • 9 сентября 2010 года Штефан Ассмус (нем. Stephan Aßmus) обновил внешний вид приложения MediaPlayer, а также внёс в него много полезных улучшений.
  • 8 мая 2011 года Майкл Лотц реализовал IRQ Routing.
  • В ежемесячном отчёте о деятельности в июне 2018 года разработчики Haiku сообщили о портировании в операционную систему офисного пакета LibreOffice<ref>Шаблон:Cite web</ref>.
  • 28 августа 2018 года проект переведён в состояние первой бета-версии<ref>Шаблон:Cite web</ref>.
  • На сайте Haiku в разделе документации размещено большое и информативное руководство пользователя<ref>Шаблон:Cite web</ref> операционной системы. Хотя полный перевод на русский язык ещё не закончен, работа над переводом ведётся и руководство периодически обновляется.

Релизы, версии, история изменений

Релиз Дата выхода Архитектура Версия Описание, основные изменения и комментарии
R1/beta5 13 сентября 2024 IA-32,
X86-64
hrev57937 Теперь Haiku может работать с USB-аудиоустройствами, в этом выпуске для таких устройств реализована базовая поддержка ввода/вывода. Другие изменения: исправления и улучшения получили Icon-O-Matic, PowerStatus, Tracker, Terminal; добавлен сетевой драйвер TUN/TAP, драйвер файловой системы UFS2, переписан драйвер FAT; в ядре и драйверах было проведено множество различных оптимизаций производительности. Продолжается работа по дальнейшему улучшению совместимости со стандартами POSIX.
Проект HaikuPorts продолжает поддерживать широкий спектр программных портов для Haiku (включая новые приложения KDE и GTK), вот некоторые из наиболее примечательных: GDB, .NET, FLTK.
R1/beta4 23 декабря 2022 hrev56578 В этом выпуске система получила полноценный порт WINE; нативный уровень совместимости для X11 и новый уровень совместимости для Wayland, что дало возможность реализовать работающий порт GTK3. Другие изменения: Tracker, нативный файловый менеджер Haiku, теперь поддерживает создание и отображение миниатюр изображений; полностью переписан драйвер файловой системы NTFS; добавлен транслятор изображений в формате AVIF, новый драйвер USB-RNDIS; и ещё много других.
R1/beta3 25 июля 2021 hrev55182 Выпуск с улучшениями многих компонентов состемы. Улучшен процесс инсталляции, системы управления пакетами, интерфейса пользователя; внесены изменения в веб-браузер; выпущена новая версия API сетевых сервисов (клиенты http и gopher); дальшейшее улучшение POSIX-совместимости; обновления и улучшения драйверов аппаратных средств, таких как звук, сеть, графика, USB и накопители; улучшение общей производительности системы.
R1/beta2 9 июня 2020 hrev54154 Совершенно новым в этом выпуске является поддержка дисков NVMe, включая поддержку их использования в качестве загрузочных устройств (хотя это зависит от поддержки в BIOS). Другие изменения: добавлена новая панель настройки ввода; получили улучшения Deskbar, WebPositive, инсталлятор, ядро системы; улучшена поддержка HiDPI и расширена поддержка XHCI (USB3); портировано много различных приложений; исправлено более 900 ошибок.
R1/beta1 28 сентября 2018 hrev52295 Основным изменением в этом выпуске является добавление полноценной системы управления пакетами. Другие изменения: добавлена поддержка загрузки с разделов GPT и на устройствах EFI; существенно переработан HaikuPorts, который теперь является хорошо отлаженным полноценным деревом портов; модернизированы HaikuWebKit и WebPositive; полностью переписан сетевой префлет; добавлен новый планировщик потоков; значительно улучшена медиа-подсистема; и ещё много других.
R1/alpha4 12 ноября 2012 hrev44702 Появилось новое нативное приложение Debugger и новая программа переключения раскладки клавиатуры; улучшена поддержка NTFS и драйверов USB OHCI; добавлена поддержка большинства чипов Radeon HD, а также чипсетов Intel Extreme; улучшены драйвера сетевых карт, добавлена поддержка WPA/WPA2 и новый драйвер pcnet; исправлено более 1000 ошибок.
R1/alpha3 20 июня 2011 IA-32 hrev42211 Значительно улучшена поддержка оборудования, включая принтеры через Gutenprint; добавлена поддержка файловых систем btrfs, ext4 и exFAT; реализована группировка и прикрепление окон; исправлено более 950 ошибок.
R1/alpha2 10 мая 2010 hrev36769 Появилась поддержка WiFi с шифрованием WEP; улучшена производительность USB-накопителей; повышена степень совместимости с POSIX; увеличена общая производительность системы.
R1/alpha1 14 сентября 2009 hrev33109 Эта первая альфа-версия Haiku вышла примерно через восемь лет после запуска проекта и является прямым результатом самоотверженной работы многих добровольцев со всего мира.

Разработка

Фотография оригинального диска с альфа-версией Haiku R1. Фотография была сделана внутри Центра исследований и разработок компании Microsoft в Хайфе

Разработка операционной системы

Haiku разрабатывается преимущественно на языке программирования C++, с небольшим количеством кода на ассемблере. Существуют несколько команд разработчиков, занимающихся различными сферами:

  • App/Interface — разрабатывают интерфейс, приложения и Support Kits.
  • BFS — разрабатывают BeFS/OpenBFS
  • Game — разрабатывают Game Kit и его API.
  • Input Server — сервер, поддерживающий устройства ввода, такие как клавиатура и мышь, и их взаимодействие с другими частями ОС.
  • Kernel — разрабатывают ядро ОС.
  • Media — аудиосервер и связанный с ним API.
  • MIDI — реализуют MIDI-протокол.
  • Network — пишут драйверы для сетевых устройств и API, связанное с сетью.
  • OpenGL — разрабатывают поддержку OpenGL.
  • Preferences — воссоздают настройки BeOS.
  • Printing — работают над print-сервером и драйверами для устройств печати.
  • Screen Saver — реализуют функциональность скринсейвера.
  • Storage — разрабатывают сервер хранения и драйверы для требуемых файловых систем.
  • Translation — воссоздают модули для чтения/записи/конвертации разных форматов данных.

Разработка приложений

В качестве одной из целей проекта заявлена полная двоичная совместимость с BeOS 5, поэтому разработка приложений под Haiku может вестись средствами BeOS.

Разработчикам приложений прежде всего предоставляется объектно-ориентированный API на C++. Используемый компилятор — gcc.

В Haiku корректно работают приложения, скомпилированные разными бинарно несовместимыми между собой версиями gcc (2.95 и 4). Это достигнуто путём компиляции всех библиотек операционной системы, использующихся в приложениях, обеими версиями gcc. Затем, во время запуска приложения, операционная система Haiku определяет, с помощью какой версии gcc это приложение было скомпилировано, и выполняет динамическое связывание с версией системных библиотек, скомпилированных соответствующей версией компилятора.

Другие языки программирования, используя которые, можно создавать приложения для Haiku:

Минимальные (32 бита):

Рекомендованные (64 бита):

Мнения

На сайте Dedoimedo в сентябре 2013 года был размещён материал, посвящённый Haiku Alpha 4<ref>Шаблон:Cite web</ref>. Краткая выдержка из статьи: Шаблон:Цитата

Джереми Реймер (Jeremy ReimerШаблон:Ref) сделал обзор Haiku Alpha 4 для Ars Technica<ref>Шаблон:Cite web</ref>, на котором уже был размещён краткий обзор системы<ref>Шаблон:Cite web</ref>. Джереми написал в своём обзоре: Шаблон:Цитата

Ребека Чапник (Rebecca "Ruji" ChapnikШаблон:Ref), фрилансер без профильного образования, сделала обзор Haiku и разместила его на сайте MakeTechEasier<ref>Шаблон:Cite web</ref>.

Джесси Смит (Jesse SmithШаблон:Ref) из DistroWatch Weekly написал небольшой обзор Haiku в 2010 году<ref>Шаблон:Cite web</ref>. Позже, в 2016 году, он вернулся к теме Haiku ещё раз<ref>Шаблон:Cite web</ref>.

В январе 2023 года Джек Уоллен (Jack WallenШаблон:Ref) размещает на сайте ZDNET статью о Haiku R1/Beta4<ref>Шаблон:Cite web</ref>, получившую острые критические комментарии от читателей (в основном из-за сравнения с NeXTStep). В своей статье автор излагает, например, такие умозаключения: <templatestyles src="Шаблон:Начало_цитаты/styles.css" />{{#ifexpr: 0 mod 2 = 0 and 0 != 4 and 0 != 104 |

}}{{#if: |

:

}}

{{#ifexpr: 0 mod 2 = 0 and 0 != 4 and 0 != 104 |

}} Если Вы ищете что-то необычное и помните NeXTStep до того, как она была куплена Apple, Haiku OS может оказаться именно той операционной системой, которую Вы искали.
<…>
Haiku предназначена для тех, кто сталкивался с NeXT или AfterStep и хочет получить операционную систему, которая выглядит и ощущается немного старомодной, но работает быстрее, чем любая другая ОС, с которой они когда-либо сталкивались. Шаблон:Oq {{#if:

| <templatestyles src="Шаблон:Конец цитаты/styles.css" />

}}

См. также

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Навигация

Шаблон:BeOS Шаблон:Операционные системы Шаблон:ВС