Haiku , изначально OpenBeOS , является бесплатной и открытой операционной системой для персональных компьютеров. Это поддерживаемое сообществом продолжение BeOS и нацелено на двоичную совместимость с ней, но в значительной степени является повторной реализацией за исключением некоторых компонентов, таких как Deskbar. [7] Проект Haiku начался в 2001 году при поддержке некоммерческой организации Haiku Inc., и операционная система остается в стадии бета-тестирования . [8]
Проект OpenBeOS был начат Майклом Фиппсом [9] 18 августа 2001 года после объявления Palm, Inc. о покупке Be, Inc. , что ознаменовало конец разработки BeOS, чтобы поддержать сообщество пользователей BeOS путем создания открытой, обратно совместимой замены BeOS. [10] Palm отказалась лицензировать код BeOS третьей стороне, [11] что означало необходимость обратного проектирования OpenBeOS . [12] В 2003 году Фиппс основал некоммерческую организацию Haiku, Inc. в Рочестере, штат Нью-Йорк , США, для финансовой поддержки разработки. [13]
В 2004 году проект провёл свою первую североамериканскую конференцию разработчиков WalterCon ; [14] в этот же день было объявлено, что OpenBeOS была переименована в Haiku [10] во избежание нарушения товарных знаков Palm. [15] Некоммерческая организация BeUnited.org, которая продвигала открытые стандарты для проектов операционных систем, совместимых с BeOS, [16] объявила, что Haiku станет её «эталонной платформой». [17] В феврале 2007 года проект провёл Tech Talk в Googleplex , на котором присутствовали бывшие инженеры Be, а также Жан-Луи Гассе, который выразил свою поддержку проекту. [18] [14] Также проводится ежегодная конференция BeGeistert в Германии с 1998 года, когда BeOS была активна. [19] [20]
За исключением графического пользовательского интерфейса (Tracker и Deskbar, которые были открыты в BeOS 5), Haiku является оригинальным программным обеспечением. [21] Модульная конструкция [22] BeOS позволила изначально разрабатывать отдельные компоненты Haiku в командах в относительной изоляции, во многих случаях разрабатывая их в качестве замены для компонентов BeOS до завершения других частей операционной системы. [ необходима цитата ]
Первым проектом OpenBeOS было созданное сообществом временное обновление для BeOS 5.0.3 в 2002 году, включающее замену некоторых компонентов BeOS с открытым исходным кодом. [ 23] Ядро NewOS для x86 , Dreamcast ( SuperH ) и PowerPC [24] было успешно ответвлено в том же году, на котором с тех пор базируется Haiku. [25] Менеджер окон был завершен в 2005 году . [26] В июле 2006 года разработчик Haiku Стефан Ассмус представил Icon-O-Matic, редактор иконок и формат хранения (HVIF) с движком рендеринга на основе Anti-Grain Geometry . [27] PackageInstaller был создан Лукашем Земчаком на Google Summer of Code 2007 года . [28]app_server
Поддержка Java была в конечном итоге добавлена командой BeUnited, которая портировала его на BeOS, [29] [30] а затем WLAN из стека FreeBSD . [31] Наряду с портированием на GCC4 , наконец, появился первый альфа- релиз после семи лет разработки. [32] После первоначальной полной совместимости с BeOS 5 в качестве цели был запущен опрос сообщества, чтобы переопределить будущее Haiku за пределами свободного программного рефакторинга BeOS конца 1990-х годов, и было принято решение расширить видение до поддержки основных современных систем и протоколов с более амбициозной поддержкой современного оборудования, веб-стандартов и совместимости с библиотеками FLOSS . [33] 27 октября 2009 года Haiku получила поддержку Qt4 . [34]
Браузер WebPositive был впервые предустановлен с Alpha2, заменив BeZillaBrowser. [35] После этого много времени было потрачено на создание системы управления пакетами , которая была запущена в сентябре 2013 года. [36] Beta1 появилась в 2018 году, и одной из самых заметных новых функций [37] стала PackageFS и установка пакетов через HaikuDepot и pkgman; Beta1 была первым официальным релизом Haiku, поддерживающим полное управление пакетами. [38]
Wine впервые был портирован на Haiku в 2022 году. [21]
Как и BeOS, Haiku написан на C++ и предоставляет объектно-ориентированный API . [46] Ядро Haiku — это модульное гибридное ядро , которое начиналось как ответвление NewOS, модульного моноядра, написанного бывшим инженером Be Inc. Трэвисом Гейзельбрехтом. [47] Было реализовано множество функций, включая уровень виртуальной файловой системы (VFS) и поддержку симметричной многопроцессорной обработки (SMP). [ требуется ссылка ] Он работает на 32- и 64-разрядных процессорах x86 и недавно был портирован на RISC-V ; [48] также разрабатывается порт для ARM , но в настоящее время он сильно отстает от порта x86. [49]
Интерфейс прикладного программирования (API) основан на интерфейсе BeOS, который разделен на ряд «комплектов», которые собирают связанные классы вместе и имеют некоторое отношение к библиотеке , содержащей вспомогательный код. В 2007 году Access Co Ltd, владельцы интеллектуальной собственности Be, Inc, выпустили текст этой книги ( BeBook ) под лицензией Creative Commons . [50] [51] Загрузчик не зависит от файловой системы и может также загружать по цепочке GRUB , LILO и NTLDR . [ требуется цитата ]
Начиная с версии Beta1 управление памятью Haiku включает ASLR , DEP и SMAP . [52]
Графические операции и управление окнами обрабатываются протоколом app_server . [ 53] VESA используется как резервный режим вывода видео. [54] Haiku совместим с POSIX и имеет слои трансляции для X11 и Wayland . [7]
Графический пользовательский интерфейс состоит из Tracker, файлового менеджера , и Deskbar, всегда отображаемой панели задач , которая находится в правом верхнем углу экрана и содержит меню, трей и список запущенных программ. Tracker — это эволюция OpenTracker, выпущенного по лицензии с двумя дополнениями, ограничивающими использование товарных знаков Be Inc. [55] Zeta также модифицировала OpenTracker в своей собственной операционной системе. [56]
Значки в Haiku называются stippi и были разработаны Стефаном Ассмусом. [57] Ассмус также создал формат векторных иконок Haiku (HVIF), векторный формат хранения иконок в Haiku, нацеленный на быструю визуализацию и небольшие размеры файлов. [58]
Управление пакетами осуществляется графическим приложением HaikuDepot и эквивалентом командной строки, называемым pkgman
. [59] Пакеты также можно активировать, установив их из удаленных репозиториев с помощью pkgman или перетащив их в специальный каталог пакетов . [59] Управление пакетами Haiku монтирует активированные пакеты в системный каталог, доступный только для чтения. Система управления пакетами Haiku выполняет разрешение зависимостей с помощью libsolv
проекта openSUSE . [ необходима цитата ]
Он поставляется с рядом предустановленных приложений, таких как веб-браузер WebPositive на основе WebKit , программа для чтения документов BePDF, простой веб-сервер PoorMan, текстовые редакторы Pe и StyledEdit, IRC- клиент Vision и эмулятор терминала Terminal на основе Bash . [60]
Haiku R1 стремится быть совместимым с BeOS 5 как на исходном , так и на двоичном уровне, [61] что позволяет программному обеспечению, написанному и скомпилированному для BeOS, компилироваться и запускаться без изменений на Haiku. [62] Однако 64-битная версия Haiku не имеет совместимости с BeOS на двоичном уровне, но API все еще имеет. [62] Установка этих файлов формата PKG выполняется с помощью PackageInstaller. [63]
В 2013 году после выпуска Haiku Alpha 4 Ars Technica рассмотрела операционную систему и похвалила ее за скорость, но в конечном итоге заявила, что она «может быть не более чем интересным развлечением, чем-то, с чем можно поиграть на запасном оборудовании». [64] Haiku Beta 4 была рассмотрена ZDNET в 2023 году, где было сказано: «Haiku предназначена для тех, кто знаком с NeXT или AfterStep и хочет операционную систему, которая выглядит и ощущается немного старомодной, но работает быстрее, чем любая ОС, с которой они когда-либо сталкивались». Далее он похвалил ядро, файловую систему и объектно-ориентированный API Haiku.