Haiku (system operacyjny)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, szukaj
Haiku
Rodzina systemów operacyjnych BeOS
Interfejs
Interfejs użytkownika
Producent The Haiku Project
Aktualna wersja
testowa
R1/Alpha 3
(18 czerwca 2011)
Jądro hybrydowe
Licencja Licencja MIT
Oficjalna strona

Haiku (dawniej OpenBeOS) – system operacyjny oparty na jądrze NewOS na licencji X11 (MIT), którego celem jest odtworzenie platformy BeOS i pełna zgodność z BeOS R5.

Rozwojem systemu opiekuje się Haiku Inc. – organizacja non-profit założona w 2003 roku.

Spis treści

[edytuj] Historia

Projekt powstał w 2001 roku pod nazwą „OpenBeOS” po wykupieniu firmy Be Inc, twórców BeOS-a, przez firmę Palm, Inc i ogłoszeniu zaprzestania prac nad systemem. Użytkownicy BeOS-a pozostali wówczas bez możliwości uaktualniania systemu, a twórcy oprogramowania z programami napisanymi na niewspieraną platformę. Istniały także inne projekty, które zamierzały zaimplementować API BeOS-a R5 na jądrze Linuksa lub BSD, jednak tylko OpenBeOS planował zachować zgodność nie tylko programową, lecz także binarną, co powinno pozwolić działać na nowym systemie programom skompilowanym na BeOS-ie R5 bez rekompilacji kodu.

W 2004 roku wybrano nową nazwę projektu, aby nie naruszać znaków towarowych Palma. Nazwa „Haiku” (japońska forma poetycka reprezentatywna dla okresu Edo) nazwiązuje do charakterystycznej dla BeOS-a formy komunikatów o błędach.

Projekt jest kontrolowany przez Haiku Incorporated, niedochodową organizację z siedzibą w Rochester w stanie Nowy Jork.

[edytuj] Rozwój

Modularna budowa BeOS-a pozwoliła ekipie programistów-wolontariuszy na niezależne prace nad zamiennikami serwerów i API (znanymi w Haiku jako „kity”). Programiści podzielili się na następujące podzespoły:

  • App/Interface – pracuje nad kitami App, Interface i Support
  • BFS – pracuje nad odtworzeniem systemu plików BeFS – owocem tego zespołu jest praktycznie kompletny OpenBFS, który jest używany także przez SkyOS
  • Game – pracuje nad odtworzeniem kitu game
  • Input Server – pracuje nad serwerem, który obsługuje urządzenia wejściowe i to, jak się komunikują z resztą systemu
  • Kernel – pracuje nad jądrem systemu
  • Media – pracuje nad serwerem dźwięku i związanymi z nim API
  • MIDI – pracuje nad implementacją standardu dźwięku MIDI
  • Network – pracuje nad sterownikami i API związanymi z siecią
  • Preferences – pracuje nad napisaniem apletów służących do konfiguracji systemu
  • Printing – pracuje nad serwerem druku i sterownikami do drukarek
  • Screen Saver – pracuje nad wygaszaczem ekranu
  • Storage – pracuje nad serwerem magazynowania i sterownikami do wymaganych systemów plików
Działający Haiku z uruchomioną konsolą

Kilka kitów zostało uznane za kompletne, reszta znajduje się w różnych stopniach rozwoju. Jądrem Haiku jest fork mikrojądra NewOS, napisanego przez byłego inżyniera Be, Travisa Geiselbrechta. Jest ono w fazie dynamicznego rozwoju. Wiele funkcjonalności zostało już zaimplementowanych, włączając w to wirtualny system plików i obsługę wieloprocesorowości symetrycznej.

W okresie 6 tygodni od marca do kwietnia 2005 osiągnięto wiele istotnych kamieni milowych, takich jak pierwsza graficzna aplikacja działająca na Haiku (działająca z pełną akceleracją dwuwymiarową) i pierwsze użycie przeglądarki internetowej w Haiku (Links). Oba z nich zostały osiągnięte bez użycia żadnego kodu należącego do Be, włączając w to sterowniki do karty graficznej i sieciowej z przykładów. Kolejny duży kamień milowy został osiągnięty w lipcu 2005, kiedy to na Haiku uruchomiła się powłoka graficzna BeOS-a – Tracker.

W październiku 2005 Axel Dörfler, jeden z ważniejszych deweloperów Haiku, stał się pierwszym pełnoetatowym deweloperem Haiku, pracującym za pieniądze dostarczone przez społeczność. Zaczął pracę od umożliwienia uruchomienia Haiku z CD, naprawy obsługi SMP i innych prac przy jądrze.

W lutym 2008 Michael Lotz poinformował o kompilacji systemu w samym systemie Haiku, co oznaczało już olbrzymią jego stabilność. 1 kwietnia 2008 Bruno Albuquerque podał informacje o identycznej kompilacji, ale bez sztuczek zastosowanych przy kompilacji Lotza.

W styczniu 2009 Michael Lotz zaimplementował już natywne GCC w wersji 4.3.3 w Haiku. Do tej pory można było używać tylko przy kompilacji skrośnej wersji 4.2.1. Udział w pracach nad wprowadzeniem natywnej wersji GCC miał m.in. polski programista Artur Wyszyński.

System każdy może już sam przetestować. Obrazy dysku twardego ze skompilowanym systemem dostępne są na oficjalnej stronie projektu. Haiku można również nagrać na płytę jako bootowalną płytę instalacyjną lub stworzyć bootowalny obraz na flashu USB.

Od lipca 2009 w fazie beta testów jest stos Wi-Fi dla Haiku. W tej fazie umożliwia tylko łączenie z niezaszyfrowaną siecią.

14 września 2009 następuje premiera wersji Haiku R1/Alpha1, która od tej pory oficjalnie jest do pobrania również jako obraz Live CD z funkcją instalacji na dysku twardym komputera. Wersja Alpha1 jest wersją hybrydową GCC 2. Oznacza to, że system jest zbudowany w GCC 2, żeby zachować maksymalną kompatybilność z BeOSem (główny cel Haiku R1), jednak posiada również odpowiednie biblioteki GCC 4 umożliwiające uruchamianie i portowanie aplikacji wymagających nowszej wersji kompilatora gcc, takich jak Firefox 3 czy WebKit.

9 maja 2010 została wydana kolejna wersja Haiku R1/Alpha2. Twórcy podkreślają, że jest to wydanie stabilne i stanowi ważny krok milowy na drodze do udostępnienia wersji Release 1. Główne nowości od poprzedniej wersji alfy:

  • Wsparcie dla WiFi z WEP
  • Obecność natywnej przeglądarki WebPositive, opartej na silniku WebKit
  • Locale Kit , który umożliwia lokalizacje / tłumaczenie
  • Większa wydajność sterownika dla pamięci masowej USB
  • Domyślnie włączone ACPI
  • Powłoka Basha zaaktualizowana do wersji 4.x
  • Mechanizm MSI (Message Signal Interrupts)
  • Poprawiona kompatybilność ze standardem POSIX
  • Zwiększona wydajność całego systemu

19 czerwca 2011 nastąpiło wydanie trzeciej wersji alfa: Haiku R1 Alpha3. Główne zmiany w tej wersji to:

  • Sprzęt - zwiększono ilość obsługiwanego sprzętu, w tym wsparcie dla drukarek za pomocą Gutenprint’a.
  • Systemy plików - dodano obsługę btrfs, ext4 i exFAT.
  • Tłumaczenia - zwiększono ilość tłumaczeń i poprawiono wsparcie m.in. dla języka chińskiego.
  • Layout API - poprawiono klasy układu API.
  • Aplikacje – zwiększono funkcjonalności i dodano poprawki.
  • Zarządzanie oknami - dodano Stack and Tile( łączenie okien, na zasadzie kart\zakładek – przyp. red.) i skróty klawiszowe.
  • Media - zwiększono ilość obsługiwanych formatów i usprawniono systemowy odtwarzacz multimediów.
  • Naprawiono błędy - ponad 950 błędów zostało naprawionych od czasu wydania drugiej alphy.

[edytuj] Kompatybilność z BeOS-em

Celem projektu Haiku jest zgodność z BeOS-em R5 na poziomie źródłowym i binarnym, co pozwoli oprogramowaniu napisanemu i skompilowanemu dla BeOS-a R5 na kompilację i działanie bez żadnych modyfikacji na Haiku. Dostarczy to użytkownikom Haiku zbiór aplikacji (nawet tych, których autorzy nie zajmują się już programowaniem lub nie mają chęci aktualizowania ich) do wyboru wraz z wersją R1 Haiku, pozwalając też wznowić prace nad aplikacjami, które zostały wstrzymane po ogłoszeniu zaprzestania rozwoju platformy BeOS.

Kompatybilność ta ma także swoje wady, jak np. pozostanie Haiku przy kompilatorze GCC w wersji 2.95, który został wydany w 1999 roku. Inną wadą zachowywania kompatybilności z BeOS-em R5 jest ścisłe przestrzeganie oryginalnych API Be, jak i konstrukcji systemu, w konsekwencji czego niektóre błędy systemu muszą być odtwarzane zamiast rozwiązywane. Drugie główne wydanie Haiku, wersja R2, ma złamać kompatybilność wsteczną. Jednak w maju 2008 roku Michael Lotz dokonał usprawnień w systemie pozwalających na systemie skompilowanym w GCC 4 uruchamiać aplikacje napisane dla BeOS-a w GCC 2.95.

Mimo tych prób kompatybilność z systemowymi dodatkami, które używają prywatnych API, nie zostanie zaimplementowana. Do tego wliczają się dodatkowe sterowniki systemów plików i wtyczki kodeków, jednak jedyną trudną do przepisania wtyczką będzie kodek Indeo, dla którego nie istnieje żadna specyfikacja.

[edytuj] Linki zewnętrzne

Commons in image icon.svg
Osobiste
Przestrzenie nazw

Warianty
Działania
Nawigacja
Dla czytelników
Dla wikipedystów
Narzędzia
Drukuj lub eksportuj
W innych językach