Haiku

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Haiku
Логотип Хайку-ОС
HaikuDesktop.png
Рабочий стол ОС Haiku
Разработчик

Haiku Inc.

Семейство ОС

BeOS

Основана на

BeOS

Исходный код

открытый

Последняя тестовая версия

R1/Alpha 4.1 — 14 ноября 2012

Тип ядра

Гибридное ядро

Лицензия

MIT License

Состояние

Альфа

Веб-сайт

haiku-os.org

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

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

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

Техническая реализация[править | править исходный текст]

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

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

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

История и информация[править | править исходный текст]

Новый внешний вид приложения MediaPlayer расположен слева, справа — старый.
  • Имя проекта было выбрано в честь сообщений об ошибках, выдаваемых браузером 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[2].

История выпусков[править | править исходный текст]

Версия Дата выпуска Описание
R1 Alpha 1 14 сентября 2009 Первая широко доступная альфа-версия
R1 Alpha 2 10 мая 2010 Вторая широко доступная альфа-версия
R1 Alpha 3 20 июня 2011 Третья широко доступная альфа-версия
R1 Alpha 4 12 ноября 2012 Четвёртая широко доступная альфа-версия

Разработка[править | править исходный текст]

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

См. также[править | править исходный текст]

Примечания[править | править исходный текст]

  1. Haiku Kernel Architecture Questions (англ.). Forums → Haiku → General Haiku Discussion. Официальный сайт (29 октября 2008). Проверено 29 января 2009. Архивировано из первоисточника 25 августа 2011.
  2. Haiku Release 1 Alpha 4
  3. По некоторым источникам, виртуальная машина уже портирована. К примеру, видео с работающей Java 1.4.2 на Haiku.

Ссылки[править | править исходный текст]