I-prototype ye-Phantom OS yasekhaya esekelwe ku-Genode izobe isilungile ekupheleni konyaka

UDmitry Zavalishin ukhulume ngephrojekthi yokufaka umshini obonakalayo wesistimu yokusebenza ye-Phantom ukuze usebenze endaweni ye-Genode microkernel OS. Inhlolokhono iphawula ukuthi inguqulo eyinhloko ye-Phantom isivele isilungele amaphrojekthi okuhlola, futhi inguqulo esekelwe ku-Genode izobe isilungele ukusetshenziswa ekupheleni konyaka. Ngaso leso sikhathi, kumenyezelwe kuphela umfanekiso osebenzayo osebenzayo kuwebhusayithi yephrojekthi, ukuzinza nokusebenza kwawo okungazange kulethwe ezingeni elifanele ukusetshenziswa kwezimboni, futhi phakathi kwezinhlelo ezisheshayo ukwakhiwa kwenguqulo ye-alpha efanele ukuhlolwa. ngabathuthukisi bezinkampani zangaphandle kuyashiwo.

Ikhodi yephrojekthi isatshalaliswa ngaphansi kwelayisensi ye-LGPL, kodwa ushintsho lokugcina endaweni yokugcina enkulu lwangoNovemba 2019. Imisebenzi yomphakathi ehlobene nephrojekthi igxile endaweni yokugcina impahla enemfoloko yeGenode, egcinwe kusukela ngoDisemba 2020 ngu-Anton Antonov, umfundi waseNyuvesi yase-Innopolis.

Kusukela ekuqaleni kwawo-2000, uhlelo lokusebenza lwe-Phantom luthuthukiswa njengephrojekthi yomuntu siqu kaDmitry Zavalishin, futhi kusukela ngo-2010 idluliselwe ngaphansi kwephiko lenkampani yeDigital Zone eyakhiwe nguDmitry. Uhlelo luphawuleka ngokugxila ekuthembekeni okuphezulu nasekusetshenzisweni komqondo othi "yonke into iyinto" esikhundleni sokuthi "yonke into iyifayela", okuvumela ukuthi wenze ngaphandle kokusetshenziswa kwamafayela ngenxa yokugcinwa kwesimo sememori futhi umjikelezo womsebenzi oqhubekayo. Izinhlelo zokusebenza ku-Phantom azinqanyulwa, kodwa zimiswa kuphela futhi ziqaliswe kabusha endaweni ephazanyiswe. Zonke izinto eziguquguqukayo nezakhiwo zedatha zingagcinwa isikhathi eside njengoba uhlelo lokusebenza ludinga, futhi umhleli akudingeki akhathazeke ngokukhethekile ngokulondoloza idatha.

Izinhlelo zokusebenza ku-Phantom zihlanganiswa zaba yi-bytecode, esebenza emshinini osuselwe kusitaki, ofana nomshini we-Java. Umshini obonakalayo uqinisekisa ukuphikelela kwenkumbulo yohlelo lokusebenza - isistimu ngezikhathi ezithile ihlela kabusha izifinyezo zesimo somshini obonakalayo kuya kumidiya engunaphakade. Ngemva kokuvala shaqa noma ukuphahlazeka, umsebenzi ungaqhubeka kusukela kusifinyezo sokugcina esigciniwe sememori. Izifinyezo zenziwa ngemodi engavumelaniyo futhi ngaphandle kokumisa isikhashana ukusebenza komshini obonakalayo, kodwa ucezu lwesikhathi esisodwa lurekhodwa kusifinyezo, njengokungathi umshini obonakalayo umisiwe, ulondolozwe kudiski futhi uqale futhi.

Zonke izinhlelo zokusebenza zisebenza endaweni evamile yamakheli omhlaba, okususa isidingo sokushintshwa kokuqukethwe phakathi kwe-kernel nezinhlelo zokusebenza, futhi futhi kwenza kube lula futhi kusheshise ukuxhumana phakathi kwezinhlelo zokusebenza ezisebenza emshinini we-virtual, ongashintshanisa izinto ngokudlula kwereferensi. Ukuhlukaniswa kokufinyelela kwenziwa ezingeni lezinto, izinkomba ezingatholakala kuphela ngokubiza izindlela ezifanele (ayikho i-arithmetic yesikhombi). Noma iyiphi idatha, okuhlanganisa amanani ezinombolo, icutshungulwa njengezinto ezihlukene.

Kuhlelo lokusebenza, umsebenzi ubonakala uqhubekayo futhi awuncikile ekuqaliseni kabusha i-OS, ukuphahlazeka, nokuvalwa kwekhompyutha. Imodeli yokuhlela ye-Phantom iqhathaniswa nokusebenzisa iseva yohlelo lokusebenza engapheli yolimi lohlelo lwento. Ukuhambisa izinhlelo ze-Java ku-Phantom kuthathwa njengenye yezindlela eziyinhloko zokuthuthukiswa kwesicelo, okwenziwa lula ukufana komshini we-Phantom we-virtual ku-JVM. Ngaphezu kwe-bytecode compiler yolimi lwe-Java, iphrojekthi ihlela ukudala abahlanganisi be-Python ne-C #, kanye nokusebenzisa umhumushi ovela kukhodi ephakathi ye-WebAssembly.

Ukwenza imisebenzi edinga ukusebenza okuphezulu, njengokucutshungulwa kwevidiyo nomsindo, kungenzeka ukusebenzisa izinto ezimbambili ngekhodi yomdabu emicu ehlukene (i-LLVM isetshenziselwa ukuhlanganisa izinto ezimbambili). Ukuze ufinyelele izinsiza ze-kernel ezisezingeni eliphansi, amanye amakilasi e-VM (amakilasi “angaphakathi”) asetshenziswa ezingeni le-OS kernel. Ukuze usebenzise izinhlelo zokusebenza ze-Linux, isendlalelo se-POSIX sinikezwa esilinganisa amakholi adingekayo ekusebenzeni kwezinqubo ze-Unix (ukuphikelela kwezinhlelo zokusebenza kusendlalelo se-POSIX akukakanikezwa).

I-prototype ye-Phantom OS yasekhaya esekelwe ku-Genode izobe isilungile ekupheleni konyaka

I-Traditional Phantom OS, ngaphezu komshini we-virtual, ihlanganisa i-kernel yayo ngokuqaliswa kwezintambo, umphathi wememori, umqoqi wezibi, izindlela zokuvumelanisa, uhlelo lokufaka / lokukhipha kanye nezishayeli zokusebenza nge-hardware, okwenza kube nzima kakhulu ukuletha iphrojekthi. ukulungela ukusetshenziswa kabanzi. Ngokwehlukana, izingxenye ezinestaki senethiwekhi, isistimu engaphansi yezithombe kanye nesixhumi esibonakalayo somsebenzisi ziyathuthukiswa. Kuyaphawuleka ukuthi i-subsystem yehluzo kanye nomphathi wewindi usebenza ezingeni le-kernel.

Ukwandisa ukuzinza, ukuphatheka nokuvikeleka kwephrojekthi, kwenziwa umzamo wokufaka umshini we-Phantom virtual ukuze usebenze kusetshenziswa izingxenye zesistimu yokusebenza ye-microkernel evulekile i-Genode, ukuthuthukiswa kwayo okuqondiswa yinkampani yaseJalimane i-Genode Labs. Kulabo abafuna ukuzama i-Phantom esekelwe ku-Genode, indawo ekhethekile yokwakha esekwe ku-Docker isilungisiwe.

Ukusebenzisa i-Genode kuzokwenza kube lula ukusebenzisa ama-microkernels nabashayeli asebeqinisekisiwe, kanye nokuhambisa abashayeli endaweni yomsebenzisi (ngesimo sabo samanje, abashayeli babhalwa ngo-C futhi babulawa ezingeni le-Phantom kernel). Ikakhulukazi, kuzokwazi ukusebenzisa i-seL4 microkernel, eye yaqinisekisa ukwethembeka kwezibalo, iqinisekisa ukuthi ukuqaliswa kuhambisana ngokugcwele nezicaciso ezicaciswe olimini olusemthethweni. Amathuba okulungiselela ubufakazi obufanayo bokuthembeka komshini we-Phantom virtual kucatshangelwa, okuzovumela ukuqinisekiswa kwayo yonke imvelo ye-OS.

Indawo eyinhloko yesicelo sechweba elisekelwe ku-Genode ukuthuthukiswa kwezicelo zemishini ehlukahlukene yezimboni neshumekiwe. Njengamanje, isethi yezinguquko zomshini we-virtual isivele isilungisiwe futhi izibopho zengeziwe ezisebenza ngaphezulu kwe-Genode ukuze kuqinisekiswe ukuphikelela kwezingxenye ze-kernel kanye nezindawo zokusebenzelana ezisezingeni eliphansi. Kuyaphawulwa ukuthi umshini we-Phantom virtual usungakwazi ukusebenza endaweni ye-64-bit Genode, kodwa kusadingeka ukuthi usebenzise i-VM kumodi yokuphikelela, ulungise kabusha isistimu engaphansi yomshayeli futhi uvumelanise izingxenye ngesitaki senethiwekhi kanye ne-subsystem yehluzo ye-Genode.

I-prototype ye-Phantom OS yasekhaya esekelwe ku-Genode izobe isilungile ekupheleni konyaka
I-prototype ye-Phantom OS yasekhaya esekelwe ku-Genode izobe isilungile ekupheleni konyaka
I-prototype ye-Phantom OS yasekhaya esekelwe ku-Genode izobe isilungile ekupheleni konyaka


Source: opennet.ru

Engeza amazwana