Haiku
| Haiku | |
Рабочий стол ОС Haiku |
|
| Разработчик |
Haiku Inc. |
|---|---|
| Семейство ОС | |
| Последняя тестовая версия | |
| Тип ядра | |
| Лицензия | |
| Состояние | |
| Веб-сайт | |
|
Haiku на Викискладе
|
|
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 миллиарда гигабайт).
История и информация [править]
- Имя проекта было выбрано в честь сообщений об ошибках, выдаваемых браузером 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 разрабатывается преимущественно на языке программирования 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 — в данный момент ведётся портирование виртуальной машины[3] и необходимых библиотек (AWT, Swing).
- Ruby
См. также [править]
Примечания [править]
- ↑ Haiku Kernel Architecture Questions (англ.). Forums → Haiku → General Haiku Discussion. Официальный сайт (29 октября 2008). Архивировано из первоисточника 25 августа 2011. Проверено 29 января 2009.
- ↑ Haiku Release 1 Alpha 4
- ↑ По некоторым источникам, виртуальная машина уже портирована. К примеру, видео с работающей Java 1.4.2 на Haiku.
Ссылки [править]
| Haiku на Викискладе? |
| Операционные системы (история • список) | |
|---|---|
| Free / Open source |
|
| Proprietary |
Unix-подобные: Apple MacOS X • HP-UX • IBM AIX • QNX • SCO OpenServer • Solaris • Tru64| Не Unix-подобные: MS Windows • OS/2| Встраиваемые: BlackBerry OS • Apple iOS • PSP OS • Symbian OS • MS Windows (Embedded • Phone) |