Ngemva konyaka nengxenye yentuthuko, ukukhululwa kwe-beta yesihlanu kohlelo lokusebenza lwe-Haiku R1 kushicilelwe. Le phrojekthi ekuqaleni yadalwa njengendlela yokusabela ekuvalweni kohlelo lokusebenza lwe-BeOS futhi yathuthukiswa ngaphansi kwegama elithi OpenBeOS, kodwa yaqanjwa kabusha ngo-2004 ngenxa yezimangalo ezihlobene nokusetshenziswa kophawu lwe-BeOS egameni. Ukuze uhlole ukusebenza kokukhishwa okusha, izithombe ezimbalwa ezibhuthayo ezibukhoma (x86, x86-64 1.4 GB) sezilungisiwe. Ikhodi yomthombo yeningi le-Haiku OS isatshalaliswa ngaphansi kwelayisensi ye-MIT yamahhala, ngaphandle kweminye imitapo yolwazi, amakhodekhi emidiya kanye nezingxenye ezibolekwe kwamanye amaphrojekthi.
I-Haiku OS ihloselwe amakhompuyutha omuntu siqu futhi isebenzisa i-kernel yayo, eyakhelwe ekwakhiweni kwe-modular, elungiselelwe ukusabela okuphezulu ezenzweni zabasebenzisi kanye nokusetshenziswa ngempumelelo kwezinhlelo zokusebenza ezinezintambo eziningi. I-API egxile ezintweni ihlinzekelwe onjiniyela. Uhlelo lusekelwe ngokuqondile kubuchwepheshe be-BeOS 5 futhi luhloselwe ukuhambisana kanambambili nezinhlelo zokusebenza zale OS. Isidingo esincane sezingxenyekazi zekhompuyutha: I-Pentium II noma i-AMD Athlon CPU kanye ne-RAM engu-384 MB (kunconyiwe kwe-Intel Core i3 noma i-AMD Phenom II kanye ne-RAM engu-2 GB).
I-OpenBFS isetshenziswa njengohlelo lwefayela, olusekela izimfanelo zefayela ezinwetshiwe, ukugawulwa kwemithi, izikhombi ezingama-64-bit, ukusekelwa kokugcina ama-meta tag (kufayela ngalinye, izimfanelo zingagcinwa kufomu key=value, okwenza uhlelo lwefayela lufane ne database) kanye nezinkomba ezikhethekile zokusheshisa ukubuyisa kuzo. "Izihlahla ze-B +" zisetshenziselwa ukuhlela ukwakheka kohla lwemibhalo. Kusuka kukhodi ye-BeOS, i-Haiku ihlanganisa imenenja yefayela ye-Tracker kanye ne-Deskbar, yomibili evuliwe ngemuva kokuba i-BeOS ishiye indawo yesehlakalo.
Okuqanjiwe okuyinhloko:
- Kuzilungiselelo zokubukeka, isixhumi esibonakalayo sokukhetha imibala senziwe lula. Esikhundleni samapharamitha azenzakalelayo angu-30, amathathu manje ayaboniswa (ingemuva lephaneli, umbala webha yesimo nombala wethebhu), kanti okunye kubalwa ngokuzenzakalelayo ngokuqhathaniswa namanani amathathu akhethiwe. Uma ukhetha umbala ngokuzenzakalelayo, ukukhetha kwetimu emnyama noma ekhanyayo kuyacatshangelwa (isibonelo, uma itimu emnyama isebenza, kukhethwa imibala ekhanyayo yombhalo). Inketho ehlukile inikezwa ukubuyisela isibonisi sesethi egcwele yawo wonke amapharamitha wokuhlela mathupha.

- Ingxenye enkulu yokulungiswa yenziwe, okuhloswe ngayo ukuthuthukisa ukusekelwa komsebenzi lapho kukhethwa itimu emnyama.

- Umhleli wesithonjana se-Icon-O-Matic wengeze usekelo lokuguqulwa kombono kanye nokubonisa isithombe esiyireferensi njengengemuva (ukulandela uhlaka kusithonjana). Ukusebenza kokukopisha nokunamathisela kuthuthukiswe kakhulu.

- Ekuqaleni kokuqala, uma kunqunywa ukuba khona kwamabhethri ohlelweni, i-applet ye-PowerStatus ifakwa ngokuzenzakalelayo kuphaneli, ebonisa isimo sokushajwa kanye nemingcele yebhethri. Ukunemba okuthuthukisiwe kolwazi lwezinga lokushaja. Isignali yomsindo nesaziso sengeziwe ukwazisa umsebenzisi uma ileveli yebhethri iphansi.

- Umphathi wefayela le-Tracker uthuthukise umsebenzi onezinkomba kanye nokuhlukaniswa kwediski okutholakala kumodi yokufunda kuphela, manje esegqanyiswe ngokusobala ngengemuva elimnyama (lesi sangemuva sake sasetshenziselwa uhla lwemibhalo olubonakalayo). Kuzinto ezifundwayo kuphela ze-FS, izinto zemenyu ezidinga ukufinyelela kokubhala nazo zivaliwe.

- Ukuthuthukiswa kwezikebhe zezicelo zezinkampani zangaphandle kuqhubekile. Selokhu yagcina ukukhishwa, izinhlelo ezintsha ze-KDE zifakiwe, inani lezinhlelo ze-GTK ezisekelwayo landisiwe, imbobo ene-GDB 15 debugger yengeziwe (ngaphambilini eyayihlinzekwe yi-GDB 6), kanye nembobo yokuhlola ye-.NET Core 9 inkundla isiqaliwe.

- Umsebenzi wesendlalelo uthuthukisiwe ukuze kuqinisekiswe ukuhambisana ne-X11/Xlib. Ikhono lokusebenzisa ikhithi yamathuluzi esithombe ye-FLTK linikeziwe (omunye wemikhawulo ukuntuleka kosekelo lwemisebenzi ehlobene ne-OpenGL).

- Ukwesekwa okwengeziwe kwemishini yomsindo ye-USB (ukushintsha okuzenzakalelayo kokuphumayo komsindo lapho uxhuma idivayisi ye-USB akusebenzi, ngakho ukushintsha kudinga ukuqaliswa kabusha kwezinsiza zesistimu ye-multimedia).
- Kungezwe umshayeli we-interface yenethiwekhi ye-TUN/TAP, engasetshenziswa ukudala imigudu yenethiwekhi nokuhlela umsebenzi i-VPN.
- Ukuthuthukiswa kwenziwe kusitaki se-TCP okukhulise kakhulu ukudlula (ukusebenza koxhumano lwe-TCP kukhuphuke izikhathi ezingu-8-10, futhi ukuphuma kwe-loopback interface (localhost) kukhuphuke ngama-oda amaningana wobukhulu). Ukunakekelwa okuthuthukisiwe kwezinto zokubala ukuze kuqoqwe izibalo. Inani lemisebenzi yokukopisha ibhafa lehlisiwe. Kwengezwe amandla okudlulisa imisebenzi yokubala amasheke ephakethe eceleni kwamakhadi enethiwekhi.
- Amandla esilingisi setheminali anwetshiwe, kwengeza usekelo lokunamathisela okuphunyukile ebhodini lokunamathisela uma kwenzeka kusetshenziswa ukunqanyulwa kwemigqa nezinhlamvu ezikhethekile embhalweni ophathwayo. Amandla okushintsha isikimu sombala sengeziwe kuzilungiselelo.
- Isendlalelo se-TTY/PTY senziwe kabusha, ikhodi ye-TTY ne-PTY ihlanganisiwe, futhi usekelo lwezandiso ze-TTY njenge-TIOCOUTQ lwengeziwe.
- Ukusebenza kwe-kernel kanye nabashayeli kuthuthukisiwe, amandla okwenza imisebenzi ye-I/O yengeziwe, ukusetshenziswa kwezingidi lapho ukuqaliswa kwezinhlelo sekuthuthukisiwe, ukusebenza kahle kokuhlelwa kwamafayela kumemori kuye kwanda, ukuncintisana phakathi kokukhiya lapho amakhasi enkumbulo yemephu ancishisiwe, ukusebenza kokwabiwa kwebhafa yesikhashana kuye kwathuthukiswa, ukulungiselelwa kwengeziwe ohlelweni lokufaka / okukhiphayo, ukusekelwa kwe-DT_GNU_HASH kwengezwe kusilayishi sefayela esisebenzisekayo se-ELF.
- ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ user_mutex, Π±Π»ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅ futex Π² Linux ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² pthread_mutex ΠΈ pthread_rwlock. ΠΠΎΠ²Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΡΠ΅ΡΠΈΡΡ ΡΠ°Π½Π΅Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π²ΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Π³ΠΎΠ½ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π½ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²ΠΎΠ·ΡΠΎΡΠ»Π° Π½Π° 25%).
- Umshayeli wesistimu yefayela le-FAT ufakwe esikhundleni senguqulo entsha efakwe ku-FreeBSD. Ukushintsha umshayeli kuxazulule izinkinga zokuhambisana nokunye ukusetshenziswa kwe-FAT.
- Umshayeli ongeziwe wesistimu yefayela ye-UFS2 (Unix File System 2) esetshenziswa kuFreeBSD. Umshayeli okwamanje usebenza kuphela kumodi yokufunda.
- Kusetshenziswe ingxenye ye-kqueue I/O multiplexing API.
- Amandla okulandelela kanye nezinqubo zokuphrofayili anwetshiwe kusetshenziswa izinsiza ze-strace nephrofayili
- Ukuhambisana okuthuthukisiwe nokucaciswa kwe-POSIX. Imisebenzi ethi getentropy, arc4random, pthread_sigqueue, preadv ne-pwritev ifakiwe, futhi usekelo lwamasokhethi e-Unix (AF_UNIX) SOCK_DGRAM yengeziwe.
- Mningi umsebenzi osuwenziwe ukuthuthukisa ukuzinza kwalo lonke uhlelo. Izinkinga eziningi eziholele ekuphahlazekeni nokwehluleka ku-kernel nabashayeli sezilungisiwe.
Source: opennet.ru







