Gli sviluppatori del sistema operativo open source Haiku, che prosegue lo sviluppo delle idee di BeOS, hanno preparato una prima implementazione di uno strato per garantire la compatibilità con la libreria Xlib, che consente di eseguire applicazioni X11 in Haiku senza utilizzare un server X. Lo strato è realizzato tramite l'emulazione delle funzioni Xlib, traducendo le chiamate in un'API grafica ad alto livello di Haiku.
Nella sua forma attuale, lo strato fornisce la maggior parte delle interfacce di programmazione normalmente utilizzate di Xlib, ma alcune chiamate rimangono ancora sostituite da stub. Lo strato consente di compilare ed eseguire applicazioni basate sulla libreria GTK, ma la qualità del layout degli elementi nelle finestre richiede ancora miglioramenti. La gestione dell'input tramite tastiera e clic del mouse non è ancora completamente operativa (è stata implementata solo la gestione degli eventi di movimento del mouse).
Il supporto per la libreria Qt in Haiku era stato precedentemente realizzato attraverso la creazione di un port nativo di Qt, funzionante sopra l'API di Haiku. Tuttavia, per supportare GTK, l'uso dell'emulazione X11 è considerato un'opzione più vantaggiosa, poiché le internals di GTK non sono così ben astratte e la creazione di un backend GTK separato per Haiku richiederebbe notevoli risorse. Si è esplorata l'opzione di creare un port X11 per Haiku,server ma questo approccio è stato considerato non conveniente in condizioni in cui l'API X11 può essere realizzata direttamente sopra l'API di Haiku. X11 è stato scelto come protocollo stabilizzato e non soggetto a cambiamenti da tempo, mentre con Wayland sono ancora in corso esperimenti, richiedendo la creazione di una propria implementazione del server e non tutte le estensioni necessarie del protocollo sono state definitivamente approvate.

Quando si avviano applicazioni più semplici tramite lo strato, come Tcl/Tk e wxWidgets, si osservano ancora problemi non risolti, ma l'aspetto è già più vicino alla normalità:



Ricordiamo che il progetto Haiku è stato creato nel 2001 in risposta alla cessazione dello sviluppo del sistema operativo BeOS e si è evoluto con il nome di OpenBeOS, ma è stato rinominato nel 2004 a causa di rivendicazioni relative all'uso del marchio BeOS. Il sistema è basato direttamente sulle tecnologie di BeOS 5 ed è indirizzato alla compatibilità binaria con le applicazioni per questo OS. I sorgenti della maggior parte del sistema operativo Haiku sono distribuiti con la licenza MIT, tranne alcune librerie, codec multimediali e componenti presi da altri progetti.
Il sistema è orientato ai computer personali, utilizza un proprio kernel, costruito su un'architettura ibrida, ottimizzato per una risposta rapida alle azioni dell'utente e per l'esecuzione efficiente di applicazioni multithread. Come file system viene utilizzato OpenBFS, che supporta attributi avanzati dei file, journaling, puntatori a 64 bit, supporto per la memorizzazione di meta-tag (per ogni file è possibile salvare attributi nella forma chiave=valore, il che rende il file system simile a un database) e indici speciali per accelerare le query. Per organizzare la struttura delle directory vengono utilizzati alberi "B+ tree". Dalla codifica di BeOS, nel pacchetto di Haiku sono inclusi il gestore di file Tracker e il pannello Deskbar, i cui sorgenti sono stati resi disponibili dopo la cessazione dello sviluppo di BeOS.
Fonte: opennet.ru
