Haiku
| Haiku | |
Рабочий стол ОС Haiku |
|
| Разработчик |
Haiku Inc. |
|---|---|
| Семейство ОС | |
| Последняя тестовая версия | |
| Тип ядра | |
| Лицензия | |
| Состояние | |
| Веб-сайт | |
Haiku — свободная операционная система для персональных компьютеров, первая версия которой нацелена на двоичную совместимость с операционной системой BeOS.
С закрытием разработки операционной системы BeOS, и продажей всей её интеллектуальной собственности фирме Palm, перед энтузиастами 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 программы написанные с использованием тулкита.
- 10 мая 2010 года вышла вторая альфа-версия Haiku. Внесено множество оптимизаций, заметно расширена функциональность.
- 1 июля 2010 представлен обновленный тулкит Qt версии 4.7 для Haiku.
- 9 сентября 2010 Стефан Ассмус обновил внешний вид приложения MediaPlayer, а также внес в него много полезных улучшений.
- 8 мая 2011 Майкл Лотц реализовал IRQ Routing.
- 20 июня 2011 состоялся третий альфа релиз Haiku.
[править] История выпусков
| версия | дата выпуска | описание |
|---|---|---|
| R1 Alpha 1 | 14 сентября 2009 | Первая широко доступная альфа-версия; |
| R1 Alpha 2 | 10 мая 2010 | Вторая широко доступная альфа-версия; |
| R1 Alpha 3 | 20 июня 2011 | Третья широко доступная альфа-версия; |
[править] Разработка
Фотография официального диска с первой альфа-версией Haiku OS R1.
[править] Разработка операционной системы
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 — в данный момент ведётся портирование виртуальной машины[2] и необходимых библиотек (AWT, Swing).
- Ruby
[править] См. также
[править] Примечания
- ↑ Haiku Kernel Architecture Questions (англ.). Forums → Haiku → General Haiku Discussion. Официальный сайт (29 октября 2008). Архивировано из первоисточника 25 августа 2011. Проверено 29 января 2009.
- ↑ По некоторым источникам, виртуальная машина уже портирована. Вот, к примеру, видео с работающей Java 1.4.2 на Haiku.
[править] Ссылки
| Haiku на Викискладе? |
- Оф. сайт проекта (англ.)
- Русскоязычное сообщество пользователей (рус.)
- Руководство пользователя Haiku (рус.)
- Перевод официальных новостей Haiku team и блогов о Haiku (рус.)
- Haiku Files — архив оф. выпусков, ночных сборок Haiku-OS и опционального ПО (англ.)
- Программное обеспечение
- BeBits.com (англ.)
- Архив ПО и драйверов (англ.)
- Портированный софт и библиотеки (англ.)
- Каталог портированного софта от HaikuPorts (англ.)
- Официальный сайт QT для Haiku (англ.) Porting team: Gerasim Troeglazov, Evgeny Abdraimov
- Форум о Haiku OS (рус.)
- Программирование
- http://dev.osdrawer.net/ (англ.) — аналог сайта Sourceforge.net для совместной разработки и размещения программ работающих под BeOS/Zeta/Haiku
|
|
|
|---|---|
| Компании | Be Inc. · Gobe Software · yellowTAB · Magnussoft |
| Компьютеры | BeBox · Sony eVilla |
| Операционные системы | BeOS · BeIA · Haiku · Zeta |
|
|
|||||
|---|---|---|---|---|---|
| Приложения |
|
||||
| Инструменты разработки | Autoconf · Automake · Bison · Flex · Gcc2 · Gcc4 · Jam · Libtool · Texinfo · Perl | ||||
|
|
|
|---|---|
| Ядро | Stage 1 · Stage 2 · Kernel |
| Дополнительные модули | Video Accelerants · Disk Systems · Input Server Devices, Filters and Methods · Kernel Add-Ons · Locale Catalogues and Collators · Mail Filters and Protocols · Media Filters, Decoders and Mux · OpenGL Renderers · Print Drivers and Transports · Screen Savers · Tracker Add-Ons · Image Translators |
| Комплекты | Application · Device · Game · Interface · Kernel · Mail · Media · Midi · Network OpenGL · Print · Storage · Support · Translation · Screen Saver |
| Серверы | Application · Bluetooth · Debug · Input · Mail · CDDB · Media · Midi · Print · Power[неоднозначная ссылка] · Services Daemon · Network · Syslog Daemon |
|
|
|
|---|---|
| Главное | |
| История |
Linux • Mozilla (Suite • Firefox • Thunderbird) • Revolution OS (фильм) |
| Разработка | |
| Организации | |
| Лицензии |
Apache • BSD • CDDL • GPL • LGPL • MIT • MPL • zlib • Пермиссивные лицензии • Разнообразие лицензий |
| Проблемы | |