Iprototype ye-OS Phantom yasekhaya esekwe kwiGenode iya kuba ilungile ngaphambi kokuphela konyaka

UDmitry Zavalishin wathetha ngeprojekthi yokufaka umatshini wenyani wenkqubo yokusebenza ye-Phantom ukuze isebenze kwindawo ye-Genode microkernel OS. Udliwano-ndlebe luphawula ukuba inguqu ephambili yePhantom sele ilungele iiprojekthi zokulinga, kwaye inguqulo esekelwe kwiGenode iya kuziswa ukuba ilungele ukusetyenziswa ekupheleni konyaka. Ngelo xesha, kuphela iprototype yengqiqo esebenzayo iye yabhengezwa kwiwebhusayithi yeprojekthi ukuza kuthi ga ngoku, uzinzo kunye nokusebenza okungakhange kufakwe kwinqanaba elifanelekileyo lokusetyenziswa kwemizi-mveliso, kwaye phakathi kwezicwangciso ezikufutshane kukuqulunqwa kwenguqulo ye-alpha. ilungele imifuniselo ngabaphuhlisi bomntu wesithathu.

Ikhowudi yeprojekthi ihanjiswa phantsi kwelayisensi ye-LGPL, kodwa utshintsho lokugqibela kwindawo yokugcina i-repository ngoNovemba 2019. Umsebenzi woluntu onxulumene neprojekthi ugxininiswe kwindawo yokugcina kunye nefoloko yeGenode, ethi ukususela ngoDisemba 2020 igcinwe ngu-Anton Antonov, umfundi waseYunivesithi yase-Innopolis.

Ukususela ekuqaleni kwe-2000, inkqubo yokusebenza ye-Phantom iye yaphuhliswa njengeprojekthi yomntu kaDmitry Zavalishin, kwaye ukususela ngo-2010 idluliselwe phantsi kwephiko lenkampani yeDigital Zone eyenziwe nguDmitry. Inkqubo iphawuleka ngokugxila ekuthembekeni okuphezulu kunye nokusetyenziswa kwengcamango "yonke into yinto" endaweni "yonke into ifayile", ephelisa ukusetyenziswa kweefayile ngenxa yokugcinwa kwememori kunye nomjikelezo oqhubekayo umsebenzi. Izicelo kwiPhantom azipheliswa, kodwa ziyanqunyanyiswa kwaye ziqalise apho beziyeke khona. Zonke izinto eziguquguqukayo kunye nezakhiwo zedatha zingagcinwa ixesha elide njengoko iimfuno zesicelo, kwaye umdwebi weprogram akadingeki ukuba anakekele ngokukhethekileyo ukugcina idatha.

Usetyenziso kwi-Phantom zidityanisiwe kwi-bytecode, esebenza kumatshini wenyani osekwe kwisitaki, esifana nomatshini wenyani weJava. Umatshini wenyani ubonelela ngokuqhubekeka kwenkumbulo yesicelo - inkqubo ngamaxesha athile igungxula imifanekiso yemo yomatshini wenyani ukuya kwimidiya eqhubekayo. Emva kokuvalwa okanye ukuphazamiseka, umsebenzi unokuqhubekeka ukuqala kwi-snapshot yokugqibela egciniweyo yememori. Izifinyezo zenziwe ngokulandelelana kwaye ngaphandle kokumisa umatshini wenyani, kodwa i-snapshot ibamba isilayi sexesha elinye, ngokungathi umatshini wenyani umisiwe, wagcinwa kwidiski, kwaye waqala kwakhona.

Zonke izicelo ziqhutyelwa kwindawo yedilesi yehlabathi jikelele, esusa isidingo sokutshintsha komxholo phakathi kwe-kernel kunye nezicelo, kwaye ilula kakhulu kwaye ikhawuleze unxibelelwano phakathi kwezicelo ezisebenza kumatshini obonakalayo onokutshintshisa izinto ngokugqithiswa kwereferensi. Ukwahlulwa kokufikelela kuqhutyelwa kwinqanaba lezinto, iireferensi ezinokuthi zifumaneke kuphela ngokubiza iindlela ezihambelanayo (akukho i-arithmetic pointer). Nayiphi na idatha, kubandakanywa amanani amanani, iphathwa njengezinto ezahlukeneyo.

Kwisicelo, umsebenzi ukhangeleka ngokuqhubekayo kwaye awuxhomekanga kwi-OS reboots, ukuphazamiseka, kunye nokuvalwa kwekhompyutha. Imodeli yenkqubo yePhantom ithelekiswa nokusebenzisa umncedisi wesicelo ongasoze uyeke kulwimi lwenkqubo yento. Iiprogram zePorting Java ze-Phantom zithathwa njengenye yeendlela eziphambili zokuphuhlisa izicelo, eziququzelelwa ngokufana komatshini we-Phantom we-virtual kunye ne-JVM. Ukongeza kwi-bytecode compiler yolwimi lweJava, iprojekthi iceba ukudala abaqulunqi bePython kunye neC #, kunye nokuphunyezwa komguquleli ovela kwikhowudi ephakathi yeWebAssembly.

Ukwenza imisebenzi efuna ukusebenza okuphezulu, okufana nevidiyo kunye nokucutshungulwa komsindo, kunokwenzeka ukuba kuqhutywe izinto zokubini kunye nekhowudi yendabuko kwimicu eyahlukileyo (i-LLVM isetyenziselwa ukwakha izinto zokubini). Ukufikelela kwiinkonzo ze-kernel ezisezantsi, ezinye iiklasi ze-VM (iiklasi "zangaphakathi") ziphunyezwa kwinqanaba le-OS kernel. Ukusebenzisa usetyenziso lweLinux, umaleko wePOSIX unikiwe olinganisa iminxeba eyimfuneko kusetyenziso lweenkqubo ze Unix (uzingiso lwezicelo kuluhlu lwePOSIX alukanikezelwa).

Iprototype ye-OS Phantom yasekhaya esekwe kwiGenode iya kuba ilungile ngaphambi kokuphela konyaka

I-Phantom OS yesiko, ukongeza kumatshini obonakalayo, ibandakanya i-kernel yayo kunye nokuphunyezwa kwemisonto, umphathi wememori, umqokeleli wenkunkuma, iindlela zolungelelwaniso, inkqubo ye-I / O, kunye nabaqhubi bokusebenza ngezixhobo, ezenza nzima kakhulu ukuzisa. iprojekthi ikulungele ukusetyenziswa ngokubanzi. Ngokwahlukileyo, amacandelo anestakhi sothungelwano, inkqubo esezantsi yegraphic kunye nojongano lomsebenzisi ziyaphuhliswa. Kuyaphawuleka ukuba inkqubo esezantsi yemizobo kunye nomphathi wefestile basebenza kwinqanaba le-kernel.

Ukuphucula uzinzo, ukuphatheka kunye nokukhuseleka kweprojekthi, kwenziwa iinzame zokutshintshela umatshini we-Phantom virtual ukusebenza usebenzisa amacandelo enkqubo yokusebenza ye-microkernel evulekileyo yeGenode, uphuhliso olulawulwa yinkampani yaseJamani iGenode Labs. Kwabo bafuna ukuzama i-Phantom ngokusekelwe kwi-Genode, indawo ekhethekileyo yokwakha esekelwe kwi-Docker ilungiselelwe.

Ukusebenzisa i-Genode kuya kwenza ukuba kube lula ukusebenzisa i-microkernels esele ivavanyiwe kunye nabaqhubi, kunye nokuzisa abaqhubi kwindawo yomsebenzisi (kwifom yabo yangoku, abaqhubi babhalwa kwi-C kwaye baqhube kwinqanaba le-Phantom kernel). Ngokukodwa, kuya kwenzeka ukuba kusetyenziswe i-seL4 microkernel, ephumelele ukuqinisekiswa kweemathematika ukuthembeka, eqinisekisa ukuba ukuphunyezwa kuhambelana ngokupheleleyo neenkcukacha ezichazwe kulwimi olusemthethweni. Ithuba lokulungiselela ubungqina obufanayo bokuthembeka kumatshini we-Phantom ebonakalayo iyaqwalaselwa, eya kuvumela ukuqinisekiswa kwendawo yonke ye-OS.

Indawo ephambili yesicelo sezibuko esekwe kwiGenode kuphuhliso lwezicelo zezixhobo ezahlukeneyo zoshishino kunye nezixhobo ezifakwe ngaphakathi. Okwangoku, isethi yotshintsho kumatshini obonakalayo sele ilungisiwe kwaye izibophelelo ezisebenza phezulu kweGenode zongezwe kwizinto eziqhubekayo ze-kernel kunye ne-interfaces eziphambili ezisezantsi. Kuqatshelwe ukuba umatshini we-Phantom osebenzayo unokusebenza kwindawo ye-Genode ye-64-bit, kodwa i-VM ingekaphunyezwa kwimodi yokuzingisa, inkqubo engaphantsi komqhubi kufuneka ihlaziywe, kwaye amacandelo ane-stack yenethiwekhi kunye nenkqubo engaphantsi kwemizobo. ukuba ilungiselelwe iGenode.

Iprototype ye-OS Phantom yasekhaya esekwe kwiGenode iya kuba ilungile ngaphambi kokuphela konyaka
Iprototype ye-OS Phantom yasekhaya esekwe kwiGenode iya kuba ilungile ngaphambi kokuphela konyaka
Iprototype ye-OS Phantom yasekhaya esekwe kwiGenode iya kuba ilungile ngaphambi kokuphela konyaka


umthombo: opennet.ru

Yongeza izimvo