Haiku

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

Haiku
Изображение логотипа
Рабочий стол ОС Haiku
Рабочий стол ОС Haiku
Разработчик Haiku Inc.
Семейство ОС BeOS
Основана на BeOS
Исходный код открытый
Первый выпуск 2002
Последняя тестовая версия R1/beta4[1] (23 декабря 2022; 15 месяцев назад (2022-12-23))
Поддерживаемые языки Многоязычная, включая русский
Поддерживаемые платформы x86 и x86-64
Тип ядра Гибридное ядро
Лицензия MIT License
Состояние Бета
Репозиторий исходного кода git.haiku-os.org/haiku/
Веб-сайт haiku-os.org
Логотип Викисклада Медиафайлы на Викискладе

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

История править

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

Проект был основан в 2002 году Майклом Фипсом. Целью было полностью воссоздать последний официальный релиз BeOS R5.

Изначально проект назывался OpenBeOS (сокращенно OBOS), но позже, во избежание нарушения прав на торговую марку компании Palm, путём голосования было решено переименовать проект в Haiku.[2]

В 2003 году была создана некоммерческая организация Haiku Inc., занимающаяся организационной частью проекта. Она контролирует развитие проекта, принимает пожертвования, а также обладает правами на торговую марку Haiku, логотип, веб-сайт и исходный код.[3]

Техническая реализация править

Haiku воплощает в себе основные идеи BeOS. Это модульная система, архитектурно решённая как гибридное ядро[4]: микроядерная архитектура, способная динамически подгружать необходимые модули. Сетевой стек работает в режиме ядра, но в целях двоичной совместимости с BeOS R5 имеет также интерфейс в пользовательской области памяти.

Ядро Haiku — NewOS — написано бывшим инженером Be Inc. Тревисом Гейсельбрехтом и полностью совместимо с приложениями своего оригинала — BeOS R5.[5]

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

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

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

По состоянию на сентябрь 2013 года, Haiku включает в себя систему управления пакетами программного обеспечения, позволяющую собирать пакеты и отслеживать в них зависимости.[6] Разрешение зависимостей пакетов выполняется с помощью библиотеки libsolv из проекта openSUSE.[7] Пакеты могут быть установлены из удаленных репозиториев с помощью утилиты pkgman, или посредством перемещения уже скачанного пакета в специальный каталог packages. Система управления пакетами Haiku монтирует активированный пакет в системный каталог в режиме «только чтение».

История и информация править

 
Новый внешний вид приложения MediaPlayer расположен слева, справа — старый.
  • Имя проекта было выбрано в честь сообщений об ошибках, выдаваемых входившим в состав BeOS браузером NetPositive: они представляли собой нерифмованные японские трёхстишия — хайку.
  • 14 сентября 2009 года вышла первая альфа-версия Haiku, которая была нацелена в основном на разработчиков.
  • Двое разработчиков портировали набор инструментов Qt, благодаря чему стало возможным легко портировать на Haiku программы, написанные с использованием Qt.
  • 10 мая 2010 года вышла вторая альфа-версия Haiku. Внесено множество оптимизаций, заметно расширена функциональность.
  • 1 июля 2010 года представлен обновленный тулкит Qt версии 4.7 для Haiku.
  • 9 сентября 2010 года Стефан Ассмус обновил внешний вид приложения MediaPlayer, а также внёс в него много полезных улучшений.
  • 8 мая 2011 года Майкл Лотц реализовал IRQ Routing.
  • 20 июня 2011 года состоялся релиз третьей альфа-версии Haiku.
  • 12 ноября 2012 года состоялся релиз четвёртой альфа-версии Haiku[8].
  • В ежемесячном отчёте о деятельности в июне 2018 года, разработчики Haiku портировали LibreOffice в операционную систему[9].
  • 28 августа 2018 года проект переведён в состояние первой бета-версии[10].
  • 28 сентября 2018 года вышла Haiku R1/beta1[11]
  • 9 июня 2020 года вышла Haiku R1/beta2

История выпусков править

Версия Дата выпуска Описание
R1/alpha1 14 сентября 2009 Первая широко доступная альфа-версия
R1/alpha2 10 мая 2010 Вторая широко доступная альфа-версия
R1/alpha3 20 июня 2011 Третья широко доступная альфа-версия
R1/alpha4 12 ноября 2012 Четвёртая широко доступная альфа-версия
R1/beta1 28 сентября 2018 Первая широко доступная бета-версия
R1/beta2 9 июня 2020 Вторая широко доступная бета-версия
R1/beta3 25 июля 2021 Третья широко доступная бета-версия
R1/beta4 23 декабря 2022 Четвёртая широко доступная бета-версия

Разработка править

 
Фотография оригинального диска с альфа-версией 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:

  • C — с использованием компилятора gcc
  • Basic
  • Pascal — с использованием Free Pascal
  • Python — с использованием библиотеки PyHaiku (недоступная ссылка) (для построения графического интерфейса)
  • Perl
  • Ассемблер — с использованием NASM и Yasm
  • Fortran
  • Mono — в данный момент ведётся портирование. Позволит писать приложения на C#, C++, VB.NET.
  • Java
  • Ruby
  • Tcl/Tk — благодаря сборке AndroWish от Кристиана Вернера.

Системные требования править

  • 32-разрядный x86-процессор (рекомендуется 64-разрядная версия) [12]
  • 128 Мб оперативной памяти, (1 Гб для сборки Haiku внутри себя)[12]
  • 700 Мб свободного места на жестком диске[12]

Мнения править

Dedoimedo рассмотрел Haiku Alpha 4 в сентябре 2013 года[13]. Блог написал:

Как и его предшественник, Haiku начинается с выбора языка и клавиатуры. Ничего необычного, простой синий рабочий стол, некоторые значки, украденные прямо с 1993 года, и общее ощущение рабочей станции, работающей на ностальгии, до того, как графическая оболочка была популярной, и даже сам мир был двумерным. Однако вы можете попробовать LiveCD или установить её.

Джереми Реймер сделал обзор Haiku Alpha 4 для Ars Technica[14]. Ars Technica также имеет ранний обзор на Haiku[15]. Джереми написал в своём обзоре:

последний компьютер, которым я пользовался, был с материнской платой ASUS P5K-VM, и процессором Core 2 Quad Q6600, работающим на частоте 2,4 ГГц и 8 ГБ. Это мой Media Center-компьютер, подключенный непосредственно к телевизору. К счастью, Haiku загрузился на этом оборудовании без каких-либо проблем. Запуск был очень быстрым, и занял менее 15 секунд, чтобы получить полнофункциональный рабочий стол. По умолчанию система загружается в 1024x768. К сожалению, не было возможности переключиться на широкоэкранное разрешение.

Ребека Чапник написала обзор Haiku в MakeTechEasier[16].

Джесси Смит из DistroWatch Weekly рассмотрел Haiku в 2010 году[17]. Смит также рассмотрел Haiku в 2016 году[18].

См. также править

Примечания править

  1. R1/beta4 – Release Notes (англ.). Дата обращения: 24 декабря 2022. Архивировано 24 декабря 2022 года.
  2. История смены названия — Русскоязычная вики Haiku
  3. История операционной системы BeOS — Хакер. Дата обращения: 16 августа 2016. Архивировано 26 августа 2016 года.
  4. Haiku Kernel Architecture Questions (англ.). Forums → Haiku → General Haiku Discussion. Официальный сайт (29 октября 2008). Дата обращения: 29 января 2009. Архивировано из оригинала 25 августа 2011 года.
  5. Максим Сохацкий. Архитектура Haiku OS — lvee.org. Дата обращения: 8 мая 2017. Архивировано 31 июля 2016 года.
  6. Package Management now live. Дата обращения: 4 ноября 2013. Архивировано 13 ноября 2013 года.
  7. The libsolv Open Source Project on Open Hub. www.openhub.net. Дата обращения: 29 сентября 2015. Архивировано 13 августа 2018 года.
  8. Haiku Release 1 Alpha 4. Дата обращения: 12 ноября 2012. Архивировано 22 декабря 2013 года.
  9. Haiku monthly activity report — 05/2018 (ft. LibreOffice!) | Haiku Project. Дата обращения: 13 августа 2018. Архивировано 13 августа 2018 года.
  10. Versioning: Add BETA_1 and PRE_BETA_2 version constants. Дата обращения: 4 сентября 2018. Архивировано 2 мая 2022 года.
  11. Haiku R1/beta1 has been released | Haiku Project. Дата обращения: 10 июня 2020. Архивировано 10 июня 2020 года.
  12. 1 2 3 Release Notes | Haiku Project. haiku-os.org. Дата обращения: 8 июня 2013. Архивировано 26 апреля 2013 года.
  13. Haiku Alpha 4 — So what’s next? Дата обращения: 15 июня 2018. Архивировано 12 июня 2018 года.
  14. 1998’s most intriguing OS, 15 years later: Hands-on with Haiku alpha 4 | Ars Techinca. Дата обращения: 15 июня 2018. Архивировано 12 июня 2018 года.
  15. First look: Haiku poetically resurrects BeOS | Ars Technica. Дата обращения: 15 июня 2018. Архивировано 12 июня 2018 года.
  16. Haiku: BeOS for the 21st Century. Дата обращения: 15 июня 2018. Архивировано 12 июня 2018 года.
  17. A first look at Haiku (alpha). Дата обращения: 15 июня 2018. Архивировано 12 июня 2018 года.
  18. Haiku in 2016. Дата обращения: 15 июня 2018. Архивировано 12 июня 2018 года.

Ссылки править