Ang prototype sa domestic OS Phantom base sa Genode mahimong andam sa dili pa matapos ang tuig

Si Dmitry Zavalishin naghisgot bahin sa proyekto sa pag-port sa virtual machine sa Phantom operating system aron magtrabaho sa Genode microkernel OS environment. Ang interbyu nag-ingon nga ang nag-unang bersyon sa Phantom andam na alang sa mga proyekto sa piloto, ug ang bersyon nga gibase sa Genode madala sa pagkaandam alang sa paggamit sa katapusan sa tuig. Sa parehas nga oras, usa ra ka praktikal nga prototype nga konsepto ang gipahibalo sa website sa proyekto hangtod karon, ang kalig-on ug pagpaandar nga wala pa madala sa lebel nga angay alang sa paggamit sa industriya, ug taliwala sa labing duol nga mga plano mao ang pagporma sa usa ka bersyon sa alpha. angay alang sa mga eksperimento sa mga developer sa ikatulo nga partido.

Ang code sa proyekto giapod-apod sa ilawom sa lisensya sa LGPL, apan ang katapusan nga pagbag-o sa panguna nga tipiganan gipetsahan sa Nobyembre 2019. Ang kalihokan sa publiko nga may kalabutan sa proyekto gikonsentrar sa repository nga adunay tinidor alang sa Genode, nga sukad kaniadtong Disyembre 2020 gipadayon ni Anton Antonov, usa ka estudyante gikan sa Innopolis University.

Sukad sa sayong bahin sa 2000s, ang Phantom operating system naugmad isip usa ka personal nga proyekto ni Dmitry Zavalishin, ug sukad sa 2010 kini gibalhin ubos sa pako sa Digital Zone nga kompanya nga gimugna ni Dmitry. Nailhan ang sistema tungod sa pagtutok niini sa taas nga kasaligan ug paggamit sa konsepto nga "ang tanan usa ka butang" imbes nga "ang tanan usa ka file", nga nagwagtang sa paggamit sa mga file tungod sa pagpreserbar sa kahimtang sa memorya ug usa ka padayon nga siklo sa trabaho. Ang mga aplikasyon sa Phantom wala gitapos, apan gihunong lamang ug gipadayon gikan sa kung diin sila mihunong. Ang tanan nga mga baryable ug mga istruktura sa datos mahimong tipigan hangtod nga gikinahanglan sa aplikasyon, ug ang programmer dili kinahanglan nga mag-amping aron matipigan ang datos.

Ang mga aplikasyon sa Phantom gihugpong sa bytecode, nga nagdagan sa usa ka stack-based virtual machine, susama sa Java virtual machine. Ang virtual machine naghatag ug application memory persistence - ang sistema matag karon ug unya nag-flush sa mga snapshot sa kahimtang sa virtual machine ngadto sa padayon nga media. Human sa pagsira o pagkahagsa, ang trabaho mahimong ipadayon sugod sa kataposang na-save nga memory snapshot. Ang mga snapshot gimugna nga asynchronously ug wala gisuspinde ang virtual machine, apan ang usa ka snapshot nagkuha sa usa ka higayon nga slice, ingon nga ang virtual machine gipahunong, gitipigan sa disk, ug nagsugod pag-usab.

Ang tanan nga mga aplikasyon nagdagan sa usa ka komon nga global address space, nga nagwagtang sa panginahanglan alang sa konteksto switch sa taliwala sa kernel ug mga aplikasyon, ug sa hilabihan nga pagpayano ug pagpadali sa komunikasyon tali sa mga aplikasyon nga nagdagan sa usa ka virtual nga makina nga makabaylo sa mga butang pinaagi sa reference passing. Ang pagbulag sa pag-access gihimo sa lebel sa mga butang, ang mga pakisayran nga makuha lamang pinaagi sa pagtawag sa katugbang nga mga pamaagi (walay pointer arithmetic). Ang bisan unsang datos, lakip ang numeric values, giisip nga bulag nga mga butang.

Alang sa aplikasyon, ang trabaho morag padayon ug wala magdepende sa OS reboots, crashes, ug computer shutdowns. Ang modelo sa pagprograma alang sa Phantom gitandi sa pagpadagan sa usa ka wala’y hunong nga server sa aplikasyon alang sa usa ka sinultian nga programming sa object. Ang pag-port sa Java nga mga programa alang sa Phantom giisip nga usa sa mga nag-unang paagi sa pagpalambo sa mga aplikasyon, nga gipadali sa pagkaparehas sa Phantom virtual machine sa JVM. Dugang pa sa bytecode compiler alang sa Java nga pinulongan, ang proyekto nagplano sa paghimo og mga compiler alang sa Python ug C#, ingon man ang pagpatuman sa usa ka tighubad gikan sa WebAssembly intermediate code.

Aron mahimo ang mga operasyon nga nanginahanglan taas nga pasundayag, sama sa pagproseso sa video ug audio, posible nga modagan ang binary nga mga butang nga adunay lumad nga code sa lain nga mga hilo (gigamit ang LLVM sa paghimo og binary nga mga butang). Aron ma-access ang ubos nga lebel nga serbisyo sa kernel, pipila ka mga klase sa VM ("internal" nga mga klase) gipatuman sa lebel sa OS kernel. Aron makadagan ang mga aplikasyon sa Linux, usa ka layer sa POSIX ang gihatag nga nagsundog sa mga tawag nga gikinahanglan alang sa operasyon sa mga proseso sa Unix (ang pagpadayon alang sa mga aplikasyon sa layer sa POSIX wala pa gihatag).

Ang prototype sa domestic OS Phantom base sa Genode mahimong andam sa dili pa matapos ang tuig

Ang tradisyonal nga Phantom OS, dugang sa virtual nga makina, naglakip sa kaugalingon nga kernel nga adunay pagpatuman sa mga hilo, tagdumala sa panumduman, tigkolekta sa basura, mga mekanismo sa pag-synchronize, usa ka sistema sa I / O, ug mga drayber alang sa pagtrabaho sa mga kagamitan, nga labi ka komplikado sa pagdala. ang proyekto sa pagkaandam alang sa kaylap nga paggamit. Gilain, ang mga sangkap nga adunay usa ka network stack, usa ka graphic subsystem ug usa ka interface sa gumagamit gipalambo. Mamatikdan nga ang graphics subsystem ug ang window manager nagtrabaho sa lebel sa kernel.

Aron mapauswag ang kalig-on, kadali ug kasiguruhan sa proyekto, usa ka pagsulay ang gihimo sa pagbalhin sa Phantom virtual machine aron magtrabaho gamit ang mga sangkap sa bukas nga microkernel operating system nga Genode, ang pag-uswag nga gidumala sa kompanya nga Aleman nga Genode Labs. Alang niadtong gusto nga mag-eksperimento sa Phantom base sa Genode, usa ka espesyal nga pagtukod sa palibot base sa Docker ang giandam.

Ang paggamit sa Genode magpaposible sa paggamit sa nasulayan na nga mga microkernels ug mga drayber, ingon man sa pagdala sa mga drayber ngadto sa user space (sa ilang kasamtangan nga porma, ang mga drayber gisulat sa C ug gipadagan sa lebel sa Phantom kernel). Sa partikular, posible nga gamiton ang seL4 microkernel, nga nakapasar sa mathematical verification sa kasaligan, nga nagpamatuod nga ang pagpatuman hingpit nga nagsunod sa mga detalye nga gitakda sa pormal nga pinulongan. Ang posibilidad sa pag-andam sa usa ka susama nga pamatuod sa pagkakasaligan alang sa Phantom virtual machine gikonsiderar, nga magtugot sa pag-verify sa tibuok nga palibot sa OS.

Ang panguna nga lugar sa aplikasyon sa pantalan nga nakabase sa Genode mao ang pag-uswag sa mga aplikasyon alang sa lainlaing mga aparato sa industriya ug naka-embed. Sa pagkakaron, ang usa ka hugpong sa mga pagbag-o alang sa virtual nga makina giandam na ug ang mga binding nga nagdagan sa ibabaw sa Genode gidugang alang sa pagpadayon nga mga sangkap sa kernel ug sa mga nag-unang ubos nga lebel nga mga interface. Namatikdan nga ang Phantom virtual machine mahimo na nga magtrabaho sa usa ka 64-bit nga Genode nga palibot, apan ang VM wala pa ipatuman sa pagpadayon nga mode, ang subsystem sa drayber kinahanglan nga i-rework, ug ang mga sangkap nga adunay network stack ug usa ka graphics subsystem adunay nga ipahiangay para sa Genode.

Ang prototype sa domestic OS Phantom base sa Genode mahimong andam sa dili pa matapos ang tuig
Ang prototype sa domestic OS Phantom base sa Genode mahimong andam sa dili pa matapos ang tuig
Ang prototype sa domestic OS Phantom base sa Genode mahimong andam sa dili pa matapos ang tuig


Source: opennet.ru

Idugang sa usa ka comment