Iyo prototype yemumba OS Phantom yakavakirwa paGenode ichave yakagadzirira gore risati rapera

Dmitry Zavalishin akataura nezve purojekiti yekuisa iyo chaiyo muchina weiyo Phantom inoshanda sisitimu kushanda munzvimbo yeGenode microkernel OS. Bvunzurudzo inotaura kuti iyo huru vhezheni yePhantom yakatogadzirira mapurojekiti ekutyaira, uye iyo vhezheni yakavakirwa paGenode ichaunzwa kugadzirira kushandiswa mukupera kwegore. Panguva imwecheteyo, chete inoshanda conceptual prototype yakaziviswa pawebhusaiti yeprojekiti kusvika parizvino, kugadzikana uye kushanda kwacho kusati kwaunzwa padanho rakakodzera kushandiswa kwemaindasitiri, uye pakati pezvirongwa zviri pedyo ndiko kuumbwa kwealpha vhezheni. yakakodzera kuyedza nevagadziri vebato rechitatu.

Iyo kodhi yeprojekiti yakagoverwa pasi pe LGPL rezinesi, asi shanduko yekupedzisira mune huru repository ndeyeNovember 2019. Chiitiko cheveruzhinji chine chekuita nepurojekiti chakaiswa munzvimbo yekuchengetera neforogo yeGenode, iyo kubva muna Zvita 2020 yakachengetedzwa naAnton Antonov, mudzidzi weInnopolis University.

Kubva pakutanga kwe2000s, Phantom inoshanda sisitimu yakagadziridzwa seyako chirongwa cheDmitry Zavalishin, uye kubvira 2010 yakatamiswa pasi pebapiro reDigital Zone kambani yakagadzirwa naDmitry. Iyo sisitimu inozivikanwa nekutarisa kwayo kwepamusoro kuvimbika uye kushandiswa kweiyo pfungwa yekuti "zvese chinhu chinhu" pachinzvimbo chekuti "zvese ifaira", iyo inobvisa kushandiswa kwemafaira nekuda kwekuchengetedza ndangariro mamiriro uye kutenderera kutenderera kwe. shanda. Zvikumbiro muPhantom hazvina kugumiswa, asi zvinongomira uye kutangazve kubva kwavakasiira. Zvese zvinosiyana uye zvimiro zve data zvinogona kuchengetwa kwenguva yakareba sezvinodiwa zvekushandisa, uye mugadziri wechirongwa haafanire kutarisisa kuchengetedza data.

Zvishandiso muPhantom zvinounganidzwa kuita bytecode, iyo inomhanya mune stack-based virtual muchina, yakafanana neyeJava virtual muchina. Iwo chaiwo muchina unopa application memory kushingirira - iyo sisitimu nguva nenguva inofemesa snapshots yemamiriro emushini chaiwo kune inoenderera midhiya. Mushure mekuvhara kana kuparara, basa rinogona kuenderera mberi kubva kune yekupedzisira yakachengetedzwa memory snapshot. Snapshots anogadzirwa asynchronously uye pasina kumisa chaiwo muchina, asi snapshot inotora chidimbu chenguva-imwe, sekunge muchina chaiwo wakamiswa, wakachengetedzwa kudhisiki, uye wakatanga zvakare.

Zvese zvinoshandiswa zvinomhanya munzvimbo yakajairika yepasirese kero, izvo zvinobvisa kudiwa kwekuchinja kwemamiriro pakati pe kernel uye maapplication, uye inorerutsa zvakanyanya uye nekumhanyisa kutaurirana pakati pezvishandiso zvinomhanya mumuchina chaiwo unogona kuchinjanisa zvinhu kuburikidza nereferensi kupfuura. Kuparadzaniswa kwekuwana kunoitwa pamwero wezvinhu, mareferensi ayo anogona kuwanikwa chete nekudaidza nzira dzinoenderana (hapana pointer arithmetic). Chero data, kusanganisira nhamba dzenhamba, inobatwa sezvinhu zvakasiyana.

Kune iyo application, basa rinotaridzika richienderera uye harina kutsamira pane OS reboots, kuparara, uye kudzima komputa. Iyo programming modhi yePhantom inofananidzwa nekumhanyisa isingambomira application server yechinhu chinoronga mutauro. Porting Java zvirongwa zvePhantom inoonekwa seimwe yenzira huru dzekugadzira maapplication, ayo anofambiswa nekufanana kweFantom virtual muchina neJVM. Pamusoro peiyo bytecode compiler yemutauro weJava, chirongwa ichi chinoronga kugadzira vagadziri vePython neC #, pamwe nekuitwa kwemuturikiri kubva kuWebAssembly yepakati kodhi.

Kuita mashandiro anoda kuita kwepamusoro, senge vhidhiyo uye odhiyo kugadzirisa, zvinokwanisika kumhanya mabhinari zvinhu nekodhi yemuno mushinda dzakasiyana (LLVM inoshandiswa kugadzira mabhinari zvinhu). Kuti uwane yakaderera-level kernel masevhisi, mamwe makirasi eVM ("yemukati" makirasi) anoitwa paiyo OS kernel level. Kumhanyisa Linux maapplication, POSIX layer inopihwa inotevedzera mafoni anodiwa pakushanda kweUnix maitiro (kushingirira kwekushandisa muPOSIX layer haisati yapihwa).

Iyo prototype yemumba OS Phantom yakavakirwa paGenode ichave yakagadzirira gore risati rapera

Iyo yechinyakare Phantom OS, mukuwedzera kune chaiyo muchina, inosanganisira yayo kernel nekuitwa kwetambo, maneja wekurangarira, muunganidzi wemarara, nzira dzekubatanidza, I / O system, uye vatyairi vekushanda nemidziyo, iyo inonyanya kuomesa kuunza. chirongwa chekugadzirira kushandiswa kwakapararira. Kuparadzaniswa, zvikamu zvine network stack, graphic subsystem uye mushandisi interface zviri kuvandudzwa. Izvo zvakakosha kuti giraidhi subsystem uye maneja wehwindo anoshanda padanho re kernel.

Kuti uvandudze kugadzikana, kutakurika uye kuchengetedzeka kweprojekiti, kwakaedza kuendesa iyo Phantom chaiyo muchina kuti ushande uchishandisa zvikamu zveiyo yakavhurika microkernel inoshanda system Genode, iyo budiriro inotariswa nekambani yeGerman Genode Labs. Kune avo vanoda kuyedza nePhantom yakavakirwa paGenode, yakakosha nharaunda yekuvaka yakavakirwa paDocker yakagadzirirwa.

Kushandisa Genode kuchaita kuti zvikwanise kushandisa zvakatoedzwa mamicrokernels uye vatyairi, pamwe nekuunza vatyairi munzvimbo yevashandisi (mune chimiro chavo chazvino, vatyairi vakanyorwa muC uye vanomhanya paPhantom kernel level). Kunyanya, zvinogoneka kushandisa iyo seL4 microkernel, iyo yakapfuura masvomhu verification yekuvimbika, ichisimbisa kuti kuita kunoenderana zvizere nezvakatsanangurwa mumutauro wepamutemo. Iko mukana wekugadzirira humbowo hwakafanana hwekuvimbika kweiyo Phantom virtual muchina iri kutariswa, iyo inobvumira kuoneswa kweiyo OS nharaunda yese.

Iyo huru yekushandisa nzvimbo yeGenode-yakavakirwa chiteshi ndiko kuvandudzwa kwezvikumbiro zveakasiyana maindasitiri uye akamisikidzwa michina. Parizvino, seti yekuchinja kweiyo chaiyo muchina yakatogadzirwa uye zvisungo zvinomhanya pamusoro peGenode zvakawedzerwa kune izvo zvinoramba zvichiitika zve kernel uye iyo huru yakaderera-level interfaces. Izvo zvinocherechedzwa kuti Phantom chaiyo muchina unogona kutoshanda munzvimbo ye64-bit Genode, asi VM haisati yaitwa mukushingirira modhi, mutyairi subsystem inofanirwa kuvandudzwa, uye zvikamu zvine network stack uye graphics subsystem ine. kuti igadziriswe kuGenode.

Iyo prototype yemumba OS Phantom yakavakirwa paGenode ichave yakagadzirira gore risati rapera
Iyo prototype yemumba OS Phantom yakavakirwa paGenode ichave yakagadzirira gore risati rapera
Iyo prototype yemumba OS Phantom yakavakirwa paGenode ichave yakagadzirira gore risati rapera


Source: opennet.ru

Voeg