Haiku OS

De Viquipèdia
Dreceres ràpides: navegació, cerca
Haiku
Empresa / Desenvolupador Haiku Project
Família de SO BeOS
Estat actual En desenvolupament
Tipus de codi Programari lliure i codi obert
Versió inicial OpenBeOS: 2002[1]
Versió estable

R1/Alfa 4.1

/ Novembre 14, 2012; fa 22 mesos (2012-11-14)
Idiomes disponibles anglès
Tipus de nucli Nucli híbrid
Llicència MIT
Lloc web haiku-os.org/

Haiku és un sistema operatiu de font obert lliure compatible amb BeOS. El seu desenvolupament va començar el 2001, i el sistema operatiu es va convertir en autoallotjament el 2008,[2] amb la primera versió oficial alfa llançada el setembre de 2009.

A Haiku dóna suport Haiku, Inc., una organització sense ànim de lucre amb seu a Rochester, Nova York, que va ser fundada el 2003 per donar suport al projecte.

Història[modifica | modifica el codi]

Haiku va començar com el projecte OpenBeOS el 2001, any en què Be, Inc. va ser adquirida per Palm, Inc. i el desenvolupament de BeOS es va suspendre; el focus del projecte era donar suport a la comunitat d'usuaris mitjançant la creació d'un substitut de codi obert compatible amb versions anteriors de BeOS. El primer projecte OpenBeOS va ser una actualització «pal·liativa» creada el 2002 per la comunitat, per a BeOS 5.0.3. El 2003, una organització sense ànim de lucre (Haiku Inc.) es va registrar a Rochester, Nova York per donar suport financer al desenvolupament, i el 2004, després que una notificació de violació a la marca registrada BeOS de Palm s'enviés a OpenBeOS, el projecte va ser reanomenat com Haiku.

El nom s'ha decidit pels directors del projecte en una votació oficial i finalment revelat a la WalterCon del mateix any.[3] La decisió d'usar com nom Haiku — una forma de poesia tradicional japonesa — intentava reflectir la senzillesa i elegància que s'obtenia amb l'antic sistema operatiu BeOS. És un homenatge als missatges d'error mostrats pel navegador NetPositive, escrits en en forma de haiku.

El desenvolupament, però, només arribaria el seu primer marc el setembre de 2009 amb el llançament de Haiku Alpha 1.

Desenvolupament[modifica | modifica el codi]

Haiku és desenvolupat en C++ i proporciona una API orientada a objectes. El disseny modular de BeOS ha permès als equips de programadors voluntaris treballar de forma independent en substituts per a servidors individuals i APIs (conegudes en Haiku com «kits»). Aquests equips inclouen:

  • App/Interface - desenvolupa la interfície, aplicacions i kits de suport tècnic.
  • BFS - desenvolupa el sistema de fitxers Be File System, que és gairebé complet amb el consegüent OpenBFS
  • Game - desenvolupa el «Kit de Joc» i les seves APIs.
  • Input Server - el servidor que controla els dispositius d'entrada, com teclats i ratolins i com es comuniquen amb altres parts del sistema.
  • Kernel - desenvolupa el nucli del sistema operatiu.
  • Media - es desenvolupa el servidor d'àudio i APIs relacionats.
  • MIDI - implementa el protocol MIDI.
  • Network - escriu controladors per als dispositius de xarxa i les API relacionades amb la creació de xarxes.
  • OpenGL - desenvolupa la compatibilitat amb OpenGL.
  • Preferences - recrea la suite preferències.
  • Printing - treballa en els servidors d'impressió i controladors per a impressores.
  • Screen Saver - implementa la funcionalitat de estalvi de pantalla.
  • Storage - desenvolupa el servidor d'emmagatzematge i els controladors per a sistemes de fitxers necessaris.
  • Translation - recrea els mòduls de lectura/escriptura/conversió per als formats de fitxer diferents.

Uns pocs kits s'han considerat complets i la resta estan en diferents etapes de desenvolupament.

El nucli d'Haiku és un nucli modular híbrid i una branca de NewOS,[4] un nucli modular escrit per Travis Geiselbrecht, exenginyer de Be Inc.. Igual que la resta del sistema en aquest moment encara està en desenvolupament. Moltes de les funcions s'han implementat, incloent-hi una capa de sistema de fitxers virtual (VFS) i suport rudimentari a multiprocessament simètric (SMP).

Compatibilitat amb BeOS[modifica | modifica el codi]

Haiku pretén ser compatible amb BeOS, tant a nivell de font com binari, permetent programari escrit i compilat per a BeOS ser compilat i executat sense modificació en Haiku. Això proporcionarà als usuaris Haiku una biblioteca instantània d'aplicacions per a triar (fins i tot els programes que els desenvolupadors s'han retirat dels negocis o no tenien cap interès en l'actualització dels mateixos), a més de permetre el desenvolupament d'altres aplicacions, continuant des d'on s'havien acabat després de la defunció de Be, Inc. Aquesta dedicació a la compatibilitat també té els seus inconvenients, ja que requereix utilitzar la versió 2.95 del compilador GCC, que ja té 13 anys.[5] Canviar a utilitzar la versió més recent del GCC 4 trenca la compatibilitat amb el programari de BeOS, per tant Haiku està sent construït com un entorn GCC4/GCC2 híbrid.[6] Això permet l'ús de binaris tant de la versió 2 com de la versió 4 del GCC al mateix temps.

Tingueu en compte que aquesta compatibilitat és només vàlida per als sistemes x86. No es donarà suport a la versió PPC de BeOS R5. Com a conseqüència d'això, les versions de Haiku per a ARM, PowerPC i 68k utilitzen només el compilador GCC4.

Tot i aquests intents, no s'implementarà compatibilitat amb un cert nombre de complements que utilitzen APIs privats. Aquests inclouen complements controladors de sistema de fitxers i còdecs multimèdia, encara que l'únics complements afectats per BeOS R5 són descodificadors multimèdia Indeo 5 per a quin no existeixen especificacions.

Les aplicacions binàries de R5 que s'executen amb èxit a Haiku (a partir del maig de 2006) inclouen: Opera, Firefox, NetPositive, Quake II, Quake III, SeaMonkey, Vision i el reproductor multimèdia VLC media player.

Compatibilitat de controladors és incompleta, i és improbable que s'inclouen tots els tipus de controladors de BeOS. Controladors de gràfics 2D en general treballin exactament el mateix que el R5, igual que els controladors de xarxa. A més, Haikú ofereix una capa de compatibilitat del controlador de xarxa amb FreeBSD a nivell de codi font, el que significa que pot suportar qualsevol maquinari de xarxa que funciona a FreeBSD. Controladors d'àudio utilitzant l'API de versions anteriors a BeOS R5, encara no són compatibles, i és poc probable que siguin; tanmateix, controladors de l'època del R5 funcionen.

Controladors de baix nivell de dispositius, és a dir, per a dispositius d'emmagatzematge i adaptadors SCSI no seran compatibles. Controladors USB, tant per la segona (BeOS 5) i tercera (BeOS Dano) generació de piles USB funcionen, però.

En alguns altres punts, Haiku ja està més avançat que BeOS. Per exemple, el kit d'interfície permet l'ús d'un sistema de disseny per posar automàticament els ginys a les finestres, mentre que en BeOS el desenvolupador havia d'especificar la posició exacta de cada giny a mà. Això permet interfícies gràfiques d'usuari que es representen correctament amb qualsevol mida de font, i també fa molt més fàcil la localització d'aplicacions, com una cadena més llarga en una llengua traduïda farà créixer el giny, en lloc de ser part invisible si la mida del giny va ser corregida.

Més enllà de R1[modifica | modifica el codi]

La planificació inicial per R2 s'ha iniciat a través del projecte «Glass Elevator» (una referència a la novel·la per a nens, Charlie i el gran ascensor de vidre). L'únic detall confirmat fins ara és que canviarà a una versió actual de GCC (és a dir v4.3.3).[7]

Es preveu una capa de compatibilitat que permetrà que les aplicacions desenvolupades per Haiku R1 s'executin sobre Haiku R2 i posteriors. Això va ser esmentat en una discussió en la llista de distribució d'Haiku per un dels principals desenvolupadors, Axel Dörfler. Noves característiques suggerides inclouen la indexació d'arxius similar al del Beagle d'Unix, Google Desktop i Spotlight de Mac OS X, una major integració de gràfics vectorials escalables a l'entorn d'escriptori, suport adequat per a múltiples usuaris i kits addicionals.[8]

Referències[modifica | modifica el codi]

  1. OpenBeOS First Release (anglès)
  2. Bruno Albuquerque. «Haiku self-hosting.» (en anglès), 01-04-2008. [Consulta: 01-05-2010].
  3. «WalterCon 2004 announces OBOS new name» (en anglès), 19-06-2004. [Consulta: 03-05-2010].
  4. «Haiku Kernel & Drivers Team» (en anglès). [Consulta: 01-05-2010].
  5. The GCC team. «GCC Releases - GNU Project - Free Software Foundation (FSF)» (en anglès). Free Software Foundation, 25-07-2007. [Consulta: 01-05-2010].
  6. Stephan Aßmus. «Steady Progress towards Alpha 1» (en anglès). Haiku Inc., 18-05-2008.
  7. Native GCC 4.3.3 for Haiku - Tales of updating the GCC4 port (anglès)
  8. R2 Ideas – Glass Elevator Summaries (anglès)

Vegeu també[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]