Kei te rārangi mēra a ngā kaiwhakawhanake kernel Linux Kua whakaputaina ngā papaki e whakamahi ana i te hoahoanga Wasm mō te kernel. Linux, e āhei ai te kernel ki te whakahiato ki roto i te waehere takawaenga WebAssembly mō te whakahaere tika i muri mai i roto i te pūtirotiro tukutuku me te kore e whakamahi i ngā emulator. Hei tāpiri, mō te kernel Linux проектом реализована возможность запускать исполняемые файлы в формате «.wasm» и подготовлен драйвер «web console» для симуляции работы с консолью в браузере. Также подготовлен инструментарий для упрощения сборки запускаемых в браузере системных окружений.
Hei tauira, i hangaia he taiao ma te whakamahi i te huinga taputapu BusyBox me te whare pukapuka punaha musl i whakahiato ki WebAssembly. Ka whakamahia a Xterm.js hei emulator kāpeka mo te mahi me tenei taiao. I whakarewahia he pae demo motuhake, ka taea e nga kaiwhakamahi te arotake i te tauranga me te kore e whakahiato i a raatau ano. Ko te tautoko katoa mo nga kaitirotiro-a-Chromium me te tautoko waahanga mo Firefox, he iti nei te kaha ki te patuiro. I runga i nga rorohiko hou, he iti ake i te hekona te utaina o te pata Wasm ki roto i te kaitirotiro.
Kua rua tau te kaupapa e whanake ana, a, i tenei wa ka taea te uta i te pata ki nga kaitirotiro me te whakahaere i nga kaupapa paerewa. Kaore ano kia oti te mahi, a, he raruraru me nga here o te tauranga. Hei tauira, ko te tautoko mo nga waea vfork me te longjmp kaore ano kia whakatinanahia (Kua papakihia a BusyBox ki te mahi me te kore o raatau), kaore he kaha ki te aukati i nga mahi, kaore i te waatea te MMU (ka rere te kernel me nga tukanga i roto i te waahi wahitau kotahi), kaore e taea te whakarereke i te waehere kua utaina, ka mutu te papatohu i muri i te 5 meneti na te raru o te taima. E kiia ana ko nga here o naianei ka taea, engari ko etahi o enei e hiahia ana ki te whakatinana i etahi atu taapiri ki te WebAssembly i roto i nga kaitirotiro. He rite ano nga toronga mo te MMU me te whakatārewatanga miro.
Ko te kore e kaha ki te whakaroa i te mahi miro i roto i te WebAssembly e taupatupatu ana ki te kaihōtaka mahi a te kernel, engari i whakatinanahia te mahi maha na roto i te mahi ma te tuku i ia miro/mahi ki tana ake PTM mariko, i mahia i roto i tetahi Kaimahi Tukutuku motuhake. Na tenei huarahi i taea ai te mahi whakarara o nga tikanga ma te whakamahi i te miihini tirotiro me te kakano OS kaihautu, me te kore e uru ki te mahi maha, te huri mahi ranei i roto i te pata o te kaitirotiro. Ko nga haukoti me nga tohu kaore i te tino mahi i roto i tenei tatūnga, ka whakamahia he PTM mariko motuhake hei tuku i te taima me te IPI (Inter-Processor Interrupt).
Область применения проекта выходит за рамки простого запуска Linux-окружений в браузерах. Например, порт может применяться для создания многоплатформенных WebAssembly программ, использующих специфичные для Linux системные вызовы. Реализация подобных системных вызовов может быть отдельно преобразована в WebAssembly и прикреплена к приложению, что позволит использовать его без привязки к системному ядру. Порт также будет полезен для организации изолированного выполнения приложений при помощи WASI (WebAssembly System Interface).
Kei roto i nga mahere nga whakamatautau me te whakatinana i te tautoko whakairoiro i roto i nga taiao me te matua i hangaia i roto i te WebAssembly. Ka whakamahere ratou ki te whakatinana i te EGL me te tautoko i te OpenGL ES ma te whakamahi i te API WebGL o te kaitirotiro. Ka whakamahere ano ratou ki te whakatinana tautoko mo te whakatakotoranga patuiro Dwarf mo te patuiro waehere raina-i-raina.
Source: opennet.ru
