Mtundu wa Phantom OS wakunyumba wozikidwa pa Genode ukhala utakonzeka kumapeto kwa chaka

Dmitry Zavalishin analankhula za pulojekiti yoyika makina ogwiritsira ntchito a Phantom kuti agwire ntchito mu Genode microkernel OS chilengedwe. Kuyankhulana kumanena kuti mtundu waukulu wa Phantom wakonzeka kale pulojekiti yoyendetsa ndege, ndipo mtundu wa Genode udzakhala wokonzeka kugwiritsidwa ntchito kumapeto kwa chaka. Pa nthawi yomweyi, chithunzithunzi chokhazikika chokhacho chalengezedwa patsamba la polojekitiyi, kukhazikika ndi magwiridwe antchito ake omwe sanabweretsedwe pamlingo woyenera kugwiritsidwa ntchito m'mafakitale, komanso pakati pa mapulani anthawi yomweyo kupanga mtundu wa alpha woyenera kuyesa. ndi opanga chipani chachitatu amatchulidwa.

Khodi ya pulojekitiyi imagawidwa pansi pa chilolezo cha LGPL, koma kusintha komaliza pamalo osungirako kudachitika Novembara 2019. Zochita zapagulu zokhudzana ndi ntchitoyi zimakhazikika m'malo okhala ndi foloko ya Genode, yomwe yasungidwa kuyambira Disembala 2020 ndi Anton Antonov, wophunzira waku yunivesite ya Innopolis.

Kuyambira zaka za m'ma 2000, Phantom opaleshoni dongosolo wakhala kukhala monga ntchito payekha wotchedwa Dmitry Zavalishin, ndipo kuyambira 2010 anasamutsidwa pansi mapiko a Digital Zone kampani yopangidwa ndi Dmitry. Dongosololi ndi lodziwika chifukwa choyang'ana kwambiri kudalirika komanso kugwiritsa ntchito lingaliro la "chilichonse ndi chinthu" m'malo mwa "chilichonse ndi fayilo", zomwe zimakulolani kuchita popanda kugwiritsa ntchito mafayilo chifukwa chosunga kukumbukira kukumbukira komanso kukumbukira. kuzungulira kosalekeza kwa ntchito. Mapulogalamu mu Phantom samathetsedwa, koma amangoyimitsidwa ndikuyambiranso kuchokera pamalo osokonezedwa. Zosintha zonse ndi mawonekedwe a data zitha kusungidwa kwa nthawi yonse yomwe pulogalamuyo ikufuna, ndipo wopanga mapulogalamu sayenera kuda nkhawa makamaka pakusunga deta.

Mapulogalamu mu Phantom amapangidwa kukhala bytecode, yomwe imayenda mumakina opangidwa ndi stack, ofanana ndi makina a Java. Makina enieni amatsimikizira kulimbikira kwa kukumbukira ntchito - makinawo nthawi ndi nthawi amakhazikitsanso zithunzithunzi zamakina a makinawo kukhala media okhazikika. Pambuyo pozimitsa kapena kuwonongeka, ntchito ikhoza kupitilira kuyambira pazithunzi zomaliza zosungidwa. Zojambulajambula zimapangidwira mumayendedwe asynchronous ndipo popanda kuyimitsa ntchito ya makina enieni, koma kagawo kamodzi kamene kamalembedwa mu chithunzithunzi, ngati makinawo anaimitsidwa, osungidwa ku disk ndikuyambanso.

Ntchito zonse zimayendera malo omwe amagwirizana padziko lonse lapansi, zomwe zimathetsa kufunika kwa kusintha kwa nkhani pakati pa kernel ndi ntchito, komanso kumathandizira kwambiri ndikufulumizitsa kugwirizana pakati pa mapulogalamu omwe akuyenda mu makina enieni, omwe amatha kusinthanitsa zinthu pogwiritsa ntchito malemba. Kulekanitsa kofikira kumachitika pamlingo wa zinthu, maumboni omwe angapezeke poyitanitsa njira zoyenera (palibe masamu a pointer). Deta iliyonse, kuphatikizapo manambala, imasinthidwa ngati zinthu zosiyana.

Pakugwiritsa ntchito, ntchito ikuwoneka ngati ikupitilira ndipo sizitengera kuyambiranso kwa OS, kuwonongeka, ndi kuyimitsidwa kwamakompyuta. Mtundu wamapulogalamu wa Phantom umafananizidwa ndi kugwiritsa ntchito seva yosayimitsa yachiyankhulo chokonza zinthu. Kuyika mapulogalamu a Java ku Phantom kumatengedwa kuti ndi imodzi mwa njira zazikulu zopangira ntchito, zomwe zimathandizidwa ndi kufanana kwa makina a Phantom ku JVM. Kuphatikiza pa compiler ya bytecode ya chilankhulo cha Java, polojekitiyi ikukonzekera kupanga ophatikiza a Python ndi C #, komanso kukhazikitsa womasulira kuchokera ku code yapakatikati ya WebAssembly.

Kuti muchite ntchito zomwe zimafuna kuchita bwino, monga mavidiyo ndi ma audio, ndizotheka kuyendetsa zinthu za binary ndi code yachibadwidwe mu ulusi wosiyana (LLVM imagwiritsidwa ntchito kusonkhanitsa zinthu za binary). Kuti mupeze ma kernel otsika, makalasi ena a VM (makalasi "amkati") amakhazikitsidwa pamlingo wa OS kernel. Kuti muyendetse ntchito za Linux, gawo la POSIX limaperekedwa lomwe limatsanzira mafoni ofunikira kuti agwiritse ntchito njira za Unix (kulimbikira kwa mapulogalamu a POSIX sikunaperekedwe).

Mtundu wa Phantom OS wakunyumba wozikidwa pa Genode ukhala utakonzeka kumapeto kwa chaka

Traditional Phantom OS, kuwonjezera pa makina enieni, imaphatikizapo kernel yake ndikukhazikitsa ulusi, woyang'anira kukumbukira, otolera zinyalala, njira zolumikizirana, njira yolowera / zotulutsa ndi madalaivala ogwirira ntchito ndi zida, zomwe zimasokoneza kwambiri kubweretsa polojekitiyi. kukonzekera kugwiritsidwa ntchito mofala. Payokha, zigawo zomwe zili ndi stack network, subsystem graphics ndi mawonekedwe ogwiritsira ntchito akupangidwa. Ndizofunikira kudziwa kuti mawonekedwe azithunzi ndi oyang'anira zenera amagwira ntchito pamlingo wa kernel.

Kuti muwonjezere kukhazikika, kusuntha ndi chitetezo cha polojekitiyi, kuyesa kudapangidwa kuti azitha kugwiritsa ntchito makina a Phantom kuti agwire ntchito pogwiritsa ntchito zida zotsegulira ma microkernel opareshoni ya Genode, chitukuko chomwe chimayang'aniridwa ndi kampani yaku Germany Genode Labs. Kwa iwo omwe akufuna kuyesa Phantom kutengera Genode, malo apadera omanga a Docker akonzedwa.

Kugwiritsira ntchito Genode kudzakuthandizani kugwiritsa ntchito ma microkernels ndi madalaivala omwe atsimikiziridwa kale, komanso kusuntha madalaivala kumalo ogwiritsira ntchito (mu mawonekedwe awo amakono, madalaivala amalembedwa mu C ndi kuphedwa pa mlingo wa Phantom kernel). Makamaka, zidzatheka kugwiritsa ntchito microkernel ya seL4, yomwe yatsimikizira kudalirika kwa masamu, kutsimikizira kuti kukhazikitsidwa kumagwirizana kwathunthu ndi zomwe zafotokozedwa m'chinenero chovomerezeka. Kuthekera kokonzekera umboni wofanana wa kudalirika kwa makina a Phantom pafupifupi akuganiziridwa, zomwe zidzalola kutsimikiziridwa kwa chilengedwe chonse cha OS.

Malo ogwiritsira ntchito kwambiri padoko lochokera ku Genode ndikukula kwa ntchito zamafakitale osiyanasiyana ndi zida zophatikizika. Pakalipano, kusintha kwa makina enieni kwakonzedwa kale ndipo zomangira zawonjezeredwa kuti zigwire ntchito pamwamba pa Genode pofuna kutsimikizira kulimbikira kwa zigawo za kernel ndi malo otsika kwambiri. Zimadziwika kuti makina a Phantom amatha kugwira ntchito kale m'malo a 64-bit Genode, komabe ndikofunikira kukhazikitsa VM mumayendedwe olimbikira, kukonzanso madalaivala ndikusintha magawo ndi stack network ndi mawonekedwe azithunzi a Genode.

Mtundu wa Phantom OS wakunyumba wozikidwa pa Genode ukhala utakonzeka kumapeto kwa chaka
Mtundu wa Phantom OS wakunyumba wozikidwa pa Genode ukhala utakonzeka kumapeto kwa chaka
Mtundu wa Phantom OS wakunyumba wozikidwa pa Genode ukhala utakonzeka kumapeto kwa chaka


Source: opennet.ru

Kuwonjezera ndemanga