Haiku

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

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

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

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

В 2002 году программист Михаэль Фиппс (Michael Phipps) основал проект по реализации принятого решения. Целью было полностью воссоздать последний официальный релиз 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.
  • 1 июля 2010 года представлен обновлённый тулкитQtверсии 4.7 для Haiku.
  • 9 сентября 2010 года Стефан Ассмус обновил внешний вид приложения MediaPlayer, а также внёс в него много полезных улучшений.
  • 8 мая 2011 года Майкл Лотц реализовал IRQ Routing.
  • В ежемесячном отчёте о деятельности в июне 2018 года, разработчики Haiku сообщили о портировании в операционную систему офисного пакетаLibreOffice[8].
  • 28 августа 2018 года проект переведён в состояние первой бета-версии[9].
  • На сайте Haiku в разделе документации размещено большое и информативное руководство пользователя[10]операционной системы. Хотя полный перевод на русский язык ещё не закончен, но работа над переводом ведётся и руководство периодически обновляется.

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

[править|править код]
Релиз Дата выхода Архитектура Версия Описание, основные изменения и комментарии
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/ Alpha 4 12 ноября 2012 hrev44702 Появилось новое нативное приложение Debugger и новая программа переключения раскладки клавиатуры; улучшена поддержка NTFS и драйверов USB OHCI; добавлена поддержка большинства чипов Radeon HD, а также чипсетов Intel Extreme; улучшены драйвера сетевых карт, добавлена поддержкаWPA/WPA2и новый драйвер pcnet; исправлено более 1000 ошибок.
R1/ Alpha 3 20 июня 2011 IA-32 hrev42211 Значительно улучшена поддержка оборудования, включая принтеры черезGutenprint;добавлена поддержка файловых систем btrfs, ext4 и exFAT; реализованагруппировка и прикреплениеокон; исправлено более 950 ошибок.
R1/ Alpha 2 10 мая 2010 hrev36769 Появилась поддержка WiFi с шифрованием WEP; улучшена производительность USB-накопителей; повышена степень совместимости с POSIX; увеличена общая производительность системы.
R1/ Alpha 1 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:

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

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

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

На сайте Dedoimedo в сентябре 2013 года был размещён материал посвящённый Haiku Alpha 4[11].Чисто субъективное мнение одного из. Очень краткая выдержка из статьи:

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

Джереми Реймер (Jeremy Reimer[англ.]) сделал обзор Haiku Alpha 4 для Ars Technica[12]., на котором уже был размещён краткий обзор системы[13].Джереми написал в своём обзоре:

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

Ребека Чапник (Rebecca "Ruji" Chapnik[англ.]), фрилансер без профильного образования, сделала обзор Haiku и разместила его на сайте MakeTechEasier[14].

Джесси Смит (Jesse Smith[англ.]) из DistroWatch Weekly написал небольшой обзор Haiku в 2010 году[15].Позже, в 2016 году, он вернулся к теме Haiku ещё раз[16].

В январе 2023 года Джек Уоллен (Jack Wallen[англ.]) размещает на сайтеZDNETстатью о Haiku R1/Beta4[17],получившую острые критические комментарии от читателей (в основном из-за сравнения с NeXTStep). В своей статье автор излагает, например, такие умозаключения:

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

  1. R1/beta5 – Release Notes(англ.).Архивировано13 сентября 2024 года.
  2. История смены названия — Русскоязычная вики Haiku
  3. История операционной системы BeOS — Хакер.Архивировано26 августа 2016 года.
  4. Haiku Kernel Architecture Questions(англ.).Forums → Haiku → General Haiku Discussion.Официальный сайт (29 октября 2008). Архивировано изоригинала25 августа 2011 года.
  5. Максим Сохацкий. Архитектура Haiku OS — lvee.org.Архивировано31 июля 2016 года.
  6. Package Management now live.Архивировано13 ноября 2013 года.
  7. The libsolv Open Source Project on Open Hub.openhub.net.Архивировано13 августа 2018 года.
  8. Haiku monthly activity report — 05/2018 (ft. LibreOffice!) | Haiku Project.Архивировано13 августа 2018 года.
  9. Versioning: Add BETA_1 and PRE_BETA_2 version constants.Архивировано2 мая 2022 года.
  10. Руководство пользователя Haiku.Haiku Project.
  11. Haiku Alpha 4 — So what’s next?(англ.).Dedoimedo.Архивировано12 июня 2018 года.
  12. 1998’s most intriguing OS, 15 years later: Hands-on with Haiku Alpha 4(англ.).Ars Techinca.Архивировано12 июня 2018 года.
  13. First look: Haiku poetically resurrects BeOS(англ.).Ars Technica.Архивировано12 июня 2018 года.
  14. Haiku: BeOS for the 21st Century(англ.).Make Tech Easier.Архивировано12 июня 2018 года.
  15. A first look at Haiku ( Alpha )(англ.).DistroWatch.Архивировано12 июня 2018 года.
  16. Haiku in 2016(англ.).DistroWatch.Архивировано12 июня 2018 года.
  17. Haiku is an open-source operating system for those who miss NeXTStep(англ.).ZDNET.