Xlib/X11 kompatibilitási réteg a Haiku operációs rendszerhez

A BeOS ötletek fejlesztését folytató Haiku nyílt operációs rendszer fejlesztői elkészítették a réteg kezdeti megvalósítását, hogy biztosítsák a kompatibilitást az Xlib könyvtárral, lehetővé téve az X11 alkalmazások futtatását a Haiku-ban X szerver használata nélkül. A réteg az Xlib függvények emulációján keresztül valósul meg, a magas szintű Haiku grafikus API-ra fordítva a hívásokat.

Jelenlegi formájában a réteg biztosítja a legtöbb gyakran használt Xlib API-t, de néhány hívást továbbra is csonkok váltanak fel. A réteg lehetővé teszi a GTK-könyvtárra épülő alkalmazások fordítását és futtatását, de az elemek elrendezésének minősége a windowsban még fejlesztésre szorul. A bevitel feldolgozása a billentyűzettel és az egérkattintással még nem került működőképes formába (csak az egérmozgatás esemény feldolgozása került hozzáadásra).

A Haiku Qt-könyvtárának támogatását korábban egy natív Qt-port létrehozásával valósították meg, amely a Haiku API-n fut. A GTK-támogatáshoz azonban az X11-emuláció használata jobb megoldásnak tekinthető, mivel a GTK belső részei nem olyan jól absztraháltak, és egy külön GTK-háttér létrehozása a Haiku számára jelentős erőforrásokat igényelne. Megoldásként fontolóra vették az X11 szerver portjának létrehozását a Haiku számára, de ezt a megközelítést nem tartották megfelelőnek olyan körülmények között, ahol az X11 API közvetlenül a Haiku API-n keresztül valósítható meg. Az X11-et régóta stabilizált és változatlan protokollnak választották, miközben a Waylanddal még folynak a kísérletek, saját szerverimplementáció létrehozása szükséges, és nem minden szükséges protokollbővítést hagytak jóvá véglegesen.

Xlib/X11 kompatibilitási réteg a Haiku operációs rendszerhez

Amikor egyszerűbb alkalmazásokat futtatunk Tcl/Tk és wxWidgeteken a rétegen keresztül, a még meg nem oldott problémák is észrevehetők, de a megjelenés már közelebb áll a normálhoz:

Xlib/X11 kompatibilitási réteg a Haiku operációs rendszerhez
Xlib/X11 kompatibilitási réteg a Haiku operációs rendszerhez
Xlib/X11 kompatibilitási réteg a Haiku operációs rendszerhez

Emlékezzünk vissza, hogy a Haiku projekt 2001-ben a BeOS operációs rendszer fejlesztésének visszafogására reagálva jött létre, és OpenBeOS néven fejlesztették ki, de 2004-ben átnevezték a BeOS védjegy névben való használatával kapcsolatos állítások miatt. A rendszer közvetlenül a BeOS 5 technológián alapul, és az ehhez az operációs rendszerhez tartozó alkalmazásokkal való bináris kompatibilitást célozza. A legtöbb Haiku operációs rendszer forráskódja az ingyenes MIT licenc alatt kerül terjesztésre, néhány könyvtár, médiakodek és más projektekből kölcsönzött komponens kivételével.

A rendszer személyi számítógépeket céloz meg, és saját kernelt használ, amely hibrid architektúrára épül, és amely a felhasználói műveletekre való nagy válaszkészségre és a többszálú alkalmazások hatékony végrehajtására van optimalizálva. Az OpenBFS fájlrendszerként használatos, amely támogatja a kiterjesztett fájlattribútumokat, a naplózást, a 64 bites mutatókat, a metacímkék tárolásának támogatását (minden fájlhoz az attribútumok kulcs=érték formában tárolhatók, ami hasonlóvá teszi a fájlrendszert egy adatbázis) és speciális indexek a rajtuk való visszakeresés felgyorsítása érdekében. A „B+ fák” a címtárstruktúra rendszerezésére szolgálnak. A BeOS kódból a Haiku tartalmazza a Tracker fájlkezelőt és a Deskbart, mindkettő nyílt forráskódú volt, miután a BeOS leállította a fejlesztést.

Forrás: opennet.ru

Hozzászólás