E mākaukau ka prototype o ka Phantom OS home e pili ana iā Genode i ka hopena o ka makahiki

Ua ʻōlelo ʻo Dmitry Zavalishin e pili ana i kahi papahana e hoʻopaʻa i kahi mīkini virtual o ka ʻōnaehana hana Phantom e hana i loko o ka Genode microkernel OS environment. Hoʻomaopopo ka nīnauele ua mākaukau ka mana nui o Phantom no nā papahana hoʻokele, a ua mākaukau ka mana o Genode no ka hoʻohana ʻana i ka hopena o ka makahiki. I ka manawa like, ua hoʻolaha wale ʻia kahi prototype manaʻo hana ma ka pūnaewele o ka papahana, ʻaʻole i lawe ʻia ka paʻa a me ka hana i kahi pae kūpono no ka hoʻohana ʻana i ka ʻoihana, a ma waena o nā hoʻolālā koke i ka hoʻokumu ʻana i kahi alpha alpha kūpono no nā hoʻokolohua. e nā mea hoʻomohala ʻaoʻao ʻekolu i ʻōlelo ʻia.

Hoʻokaʻawale ʻia ka code papahana ma lalo o ka laikini LGPL, akā ʻo ka hoʻololi hope loa i ka waihona nui i hoʻopaʻa ʻia i Nowemapa 2019. Hoʻopili ʻia nā hana lehulehu e pili ana i ka papahana i loko o kahi waihona me kahi ʻōpala no Genode, i mālama ʻia mai Dekemaba 2020 e Anton Antonov, he haumāna mai ke Kulanui ʻo Innopolis.

Mai ka 2000s mua, ua hoʻomohala ka ʻōnaehana hana Phantom ma ke ʻano he papahana pilikino o Dmitry Zavalishin, a mai ka makahiki 2010 ua hoʻololi ʻia ma lalo o ka ʻēheu o ka hui Digital Zone i hana ʻia e Dmitry. ʻIke ʻia ka ʻōnaehana no ka nānā ʻana i ka hilinaʻi kiʻekiʻe a me ka hoʻohana ʻana i ka manaʻo o "nā mea āpau" ma kahi o "he faila nā mea āpau", hiki iā ʻoe ke hana me ka ʻole o ka hoʻohana ʻana i nā faila ma muli o ka mālama ʻana i ke kūlana hoʻomanaʻo. he pōʻaiapuni mau o ka hana. ʻAʻole hoʻopau ʻia nā noi ma Phantom, akā ua hoʻokuʻu wale ʻia a hoʻomaka hou ʻia mai kahi i hoʻopau ʻia. Hiki ke mālama ʻia nā ʻano like ʻole a me nā hoʻonohonoho ʻikepili no ka manawa lōʻihi e pono ai ka noi, a ʻaʻole pono ka mea hoʻolālā e hopohopo kūikawā no ka mālama ʻana i ka ʻikepili.

Hoʻopili ʻia nā noi ma Phantom i bytecode, e holo ana i loko o kahi mīkini virtual hoʻokumu ʻia, e like me ka mīkini virtual Java. Mālama ka mīkini virtual i ka hoʻomau ʻana o ka hoʻomanaʻo noi - hoʻihoʻi ka ʻōnaehana i kēlā me kēia manawa i nā paʻi kiʻi o ke kūlana o ka mīkini virtual i ka media mau loa. Ma hope o ka pani ʻana a i ʻole ka hāʻule ʻana, hiki ke hoʻomau ka hana mai ka paʻi kiʻi hoʻomanaʻo hope loa. Hoʻokumu ʻia nā kiʻi paʻi kiʻi ma ke ʻano asynchronous a me ka hoʻomaha ʻole i ka hana o ka mīkini virtual, akā hoʻopaʻa ʻia kahi ʻāpana hoʻokahi manawa i ka snapshot, me he mea lā ua pani ʻia ka mīkini virtual, mālama ʻia i ka disk a hoʻomaka hou.

Holo nā noi a pau ma kahi ākea ākea honua, kahi e hoʻopau ai i ka pono o nā hoʻololi pōʻaiapili ma waena o ka kernel a me nā noi, a hoʻomaʻamaʻa nui hoʻi a wikiwiki hoʻi i ka pilina ma waena o nā noi e holo ana i ka mīkini virtual, hiki ke hoʻololi i nā mea ma o ka reference passing. Lawe ʻia ka hoʻokaʻawale ʻana ma ke kiʻekiʻe o nā mea, hiki ke loaʻa nā kuhikuhi i ke kāhea ʻana i nā ala kūpono (ʻaʻohe helu helu pointer). Hoʻohana ʻia kēlā me kēia ʻikepili, me nā waiwai helu, ma ke ʻano he mea ʻokoʻa.

No ka palapala noi, ʻike ʻia e hoʻomau ka hana a ʻaʻole hilinaʻi i ka hoʻihoʻi hou ʻana o OS, nā ulia, a me nā pani kamepiula. Hoʻohālikelike ʻia ke kumu hoʻolālā no Phantom me ka holo ʻana i kahi kikowaena noi hoʻomaha ʻole no kahi ʻōlelo hoʻolālā mea. ʻO ka lawe ʻana i nā polokalamu Java i Phantom i manaʻo ʻia kekahi o nā ʻano kumu nui o ka hoʻomohala ʻana i ka noi, i maʻalahi ʻia e ka like o ka mīkini virtual Phantom me ka JVM. Ma waho aʻe o ka bytecode compiler no ka ʻōlelo Java, hoʻolālā ka papahana e hana i nā mea hōʻuluʻulu no Python a me C #, a me ka hoʻokō ʻana i kahi unuhi mai ka WebAssembly intermediate code.

No ka hana ʻana i nā hana e koi ai i ka hana kiʻekiʻe, e like me ka wikiō a me ka hoʻoili leo, hiki ke holo i nā mea binary me ke code maoli i nā pae ʻokoʻa (hoʻohana ʻia ka LLVM e hōʻuluʻulu i nā mea binary). No ke komo ʻana i nā lawelawe kernel haʻahaʻa haʻahaʻa, hoʻokō ʻia kekahi mau papa VM ("loko" papa) ma ka pae kernel OS. No ka holo ʻana i nā noi Linux, hāʻawi ʻia kahi papa POSIX e hoʻohālikelike i nā kelepona pono no ka hana ʻana o nā kaʻina Unix (ʻaʻole i hāʻawi ʻia ka hoʻomau no nā noi ma ka papa POSIX).

E mākaukau ka prototype o ka Phantom OS home e pili ana iā Genode i ka hopena o ka makahiki

ʻO Phantom OS kuʻuna, ma kahi o ka mīkini virtual, aia kāna kernel ponoʻī me ka hoʻokō ʻana i nā kaula, kahi luna hoʻomanaʻo, kahi ʻohi ʻōpala, nā ʻōnaehana hoʻonohonoho, kahi ʻōnaehana input / output a me nā mea hoʻokele no ka hana ʻana me nā lako, kahi mea paʻakikī i ka lawe ʻana i ka papahana. i ka mākaukau no ka hoʻohana nui ʻana. Hoʻokaʻawale, hoʻomohala ʻia nā ʻāpana me kahi waihona pūnaewele, kahi subsystem kiʻi a me kahi mea hoʻohana. He mea koʻikoʻi ka hana ʻana o ka subsystem kiʻi a me ka luna puka makani ma ka pae kernel.

No ka hoʻonui ʻana i ka paʻa, ka lawe ʻana a me ka palekana o ka papahana, ua hoʻāʻo ʻia e hoʻokomo i ka mīkini virtual Phantom e hana me ka hoʻohana ʻana i nā ʻāpana o ka ʻōnaehana microkernel open Genode, ka hoʻomohala ʻana i mālama ʻia e ka hui Kelemania ʻo Genode Labs. No ka poʻe makemake e hoʻokolohua me Phantom e pili ana iā Genode, ua hoʻomākaukau ʻia kahi kahua kūkulu hale Docker kūikawā.

ʻO ka hoʻohana ʻana iā Genode e hiki ai ke hoʻohana i nā microkernels a me nā mea hoʻokele i hōʻoia ʻia, a me ka neʻe ʻana i nā mea hoʻokele i ka wahi hoʻohana (i ko lākou ʻano o kēia manawa, kākau ʻia nā mea hoʻokele ma C a hoʻokō ʻia ma ka pae kernel Phantom). Ma keʻano kūikawā, hiki ke hoʻohana i ka microkernel seL4, i loaʻa i ka hōʻoia ʻana i ka hilinaʻi makemakika, e hōʻoia ana i ka hoʻokō pono ʻana i nā kikoʻī i ʻōlelo ʻia ma ka ʻōlelo maʻamau. Ke noʻonoʻo ʻia nei ka hiki ke hoʻomākaukau i kahi hōʻoia like o ka hilinaʻi no ka mīkini virtual Phantom, kahi e ʻae ai i ka hōʻoia ʻana o ka ʻōnaehana OS holoʻokoʻa.

ʻO ka wahi noi nui no ke awa ʻo Genode ka hoʻomohala ʻana i nā noi no nā ʻenehana like ʻole a i hoʻopili ʻia. I kēia manawa, ua hoʻomākaukau mua ʻia kahi hoʻololi no ka mīkini virtual a ua hoʻohui ʻia nā mea paʻa e hana ma luna o Genode no ka hōʻoia ʻana i ka hoʻomau ʻana o nā ʻāpana kernel a me nā pilina haʻahaʻa haʻahaʻa. Hoʻomaopopo ʻia ua hiki i ka mīkini virtual Phantom ke hana i loko o ka 64-bit Genode environment, akā pono nō e hoʻokō i ka VM i ke ʻano hoʻomau, hana hou i ka subsystem o ka mea hoʻokele a hoʻololi i nā ʻāpana me kahi waihona pūnaewele a me kahi subsystem kiʻi no Genode.

E mākaukau ka prototype o ka Phantom OS home e pili ana iā Genode i ka hopena o ka makahiki
E mākaukau ka prototype o ka Phantom OS home e pili ana iā Genode i ka hopena o ka makahiki
E mākaukau ka prototype o ka Phantom OS home e pili ana iā Genode i ka hopena o ka makahiki


Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka