Ang Xlib/X11 compatibility layer nga gitanyag alang sa Haiku OS

Ang mga nag-develop sa bukas nga operating system nga Haiku, nga nagpadayon sa pagpalambo sa mga ideya sa BeOS, nag-andam sa usa ka inisyal nga pagpatuman sa layer aron maseguro ang pagkaangay sa Xlib library, nga nagtugot kanimo sa pagpadagan sa X11 nga mga aplikasyon sa Haiku nga walay paggamit sa X server. Ang layer gipatuman pinaagi sa pagsundog sa mga function sa Xlib pinaagi sa paghubad sa mga tawag sa high-level Haiku graphics API.

Sa kasamtangan nga porma niini, ang layer naghatag sa kadaghanan sa kasagarang gigamit nga mga Xlib API, apan ang pipila ka mga tawag nagpabilin nga gipulihan sa mga stub. Ang layer nagtugot kanimo sa pag-compile ug pagpadagan sa mga aplikasyon base sa GTK library, apan ang kalidad sa layout sa mga elemento sa windows nanginahanglan gihapon og kalamboan. Ang pagproseso sa input gamit ang keyboard ug mouse clicks wala pa madala sa usa ka working form (process lang sa mouse movement event ang gidugang).

Ang suporta alang sa Qt library sa Haiku kaniadto gipatuman pinaagi sa paghimo sa usa ka lumad nga Qt port nga nagdagan sa ibabaw sa Haiku API. Apan alang sa suporta sa GTK, ang paggamit sa X11 emulation nakita nga usa ka mas maayo nga kapilian, tungod kay ang GTK internals dili kaayo abstract ug ang paghimo sa usa ka separado nga GTK backend alang sa Haiku magkinahanglan og mahinungdanong mga kapanguhaan. Isip usa ka solusyon, ang posibilidad sa paghimo sa usa ka pantalan sa X11 server alang sa Haiku gikonsiderar, apan kini nga pamaagi giisip nga dili angay sa mga kondisyon diin ang X11 API mahimong ipatuman direkta sa ibabaw sa Haiku API. Gipili ang X11 isip usa ka dugay nga na-stabilize ug wala’y pagbag-o nga protocol, samtang ang mga eksperimento sa Wayland nagpadayon pa, ang paghimo sa imong kaugalingon nga pagpatuman sa server gikinahanglan, ug dili tanan nga kinahanglan nga mga extension sa protocol sa katapusan naaprobahan.

Ang Xlib/X11 compatibility layer nga gitanyag alang sa Haiku OS

Kung nagpadagan sa mas simple nga mga aplikasyon sa Tcl/Tk ug wxWidgets pinaagi sa layer, ang mga problema nga wala pa masulbad namatikdan usab, apan ang hitsura mas duol sa normal:

Ang Xlib/X11 compatibility layer nga gitanyag alang sa Haiku OS
Ang Xlib/X11 compatibility layer nga gitanyag alang sa Haiku OS
Ang Xlib/X11 compatibility layer nga gitanyag alang sa Haiku OS

Atong hinumdoman nga ang proyekto sa Haiku gimugna niadtong 2001 isip reaksyon sa pagpugong sa pagpalambo sa BeOS OS ug naugmad ubos sa ngalan nga OpenBeOS, apan giusab ang ngalan niadtong 2004 tungod sa mga pag-angkon nga may kalabutan sa paggamit sa BeOS nga marka sa pamatigayon sa ngalan. Ang sistema direkta nga gibase sa BeOS 5 nga mga teknolohiya ug gitumong sa binary compatibility sa mga aplikasyon alang niini nga OS. Ang gigikanan nga code alang sa kadaghanan sa Haiku OS giapod-apod sa ilawom sa libre nga lisensya sa MIT, gawas sa pipila nga mga librarya, media codec ug mga sangkap nga gihulam gikan sa ubang mga proyekto.

Ang sistema gitumong sa mga personal nga kompyuter ug naggamit sa kaugalingon nga kernel, nga gitukod sa usa ka hybrid nga arkitektura, na-optimize alang sa taas nga pagtubag sa mga aksyon sa gumagamit ug episyente nga pagpatuman sa mga multi-threaded nga aplikasyon. Ang OpenBFS gigamit isip usa ka file system, nga nagsuporta sa gipalugdang file attributes, logging, 64-bit pointers, suporta sa pagtipig sa meta tags (alang sa matag file mahimo nimong i-save ang mga attribute sa porma nga key=value, nga naghimo sa file system nga susama sa usa ka database. ) ug espesyal nga mga indeks aron mapadali ang pagkuha niini. Ang "B+ trees" gigamit sa pag-organisar sa istruktura sa direktoryo. Gikan sa BeOS code, ang Haiku naglakip sa Tracker file manager ug Deskbar, nga parehong open-sourced human ang BeOS mihunong sa pag-develop.

Source: opennet.ru

Idugang sa usa ka comment