{"id":147115,"date":"2025-11-02T11:12:32","date_gmt":"2025-11-02T09:12:32","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/predstavlen-port-yadra-linux-dlya-webassembly-zapuskaemyj-v-brauzere"},"modified":"2025-11-02T11:12:32","modified_gmt":"2025-11-02T09:12:32","slug":"predstavlen-port-yadra-linux-dlya-webassembly-zapuskaemyj-v-brauzere","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/predstavlen-port-yadra-linux-dlya-webassembly-zapuskaemyj-v-brauzere","title":{"rendered":"A fost prezentat portul nucleului Linux pentru WebAssembly, care ruleaz\u0103 \u00een browser.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Pe lista de discu\u021bii a dezvoltatorilor nucleului Linux au fost publicate patch-uri cu implementarea arhitecturii \u201eWasm\u201d pentru nucleul Linux, care permite compilarea nucleului \u00een cod intermediar WebAssembly pentru execu\u021bia direct\u0103 \u00een browserul web f\u0103r\u0103 a necesita emulatori. De asemenea, pentru nucleul Linux, proiectul a implementat posibilitatea de a rula fi\u0219iere executabile \u00een format \u201e.wasm\u201d \u0219i a preg\u0103tit un driver \u201eweb console\u201d pentru simularea interac\u021biunii cu consola din browser. A fost, de asemenea, preg\u0103tit un instrumentar pentru simplificarea construirii mediilor de sistem care pot fi rulate \u00een browser.         <\/p>\n<p>Ca exemplu, a fost creat un mediu bazat pe un set de utilitare BusyBox compilate \u00een WebAssembly \u0219i biblioteca de sistem musl. Ca emulator de terminal pentru lucrul cu un astfel de mediu a fost utilizat Xterm.js. A fost lansat un site de demonstra\u021bie care permite evaluarea func\u021bion\u0103rii portului f\u0103r\u0103 compilarea individual\u0103. Se declar\u0103 suport complet pentru browserele bazate pe motorul Chromium \u0219i suport par\u021bial pentru Firefox, \u00een care func\u021bionalitatea de depanare este limitat\u0103. Pe computerele moderne, \u00eenc\u0103rcarea compil\u0103rii Wasm a kernelului \u00een browser dureaz\u0103 mai pu\u021bin de o secund\u0103.      <\/p>\n<p>Proiectul este \u00een dezvoltare de aproximativ doi ani \u0219i \u00een prezent permite \u00eenc\u0103rcarea kernelului \u00een browsere \u0219i executarea programelor standard. Munca nu s-a \u00eencheiat \u0219i portul are probleme \u0219i limit\u0103ri specifice. De exemplu, suportul pentru apelurile vfork \u0219i longjmp nu a fost \u00eenc\u0103 realizat (pentru BusyBox au fost aplicate patch-uri pentru a func\u021biona f\u0103r\u0103 ele), nu exist\u0103 posibilitatea de a \u00eentrerupe sarcini, MMU (kernelul \u0219i procesele func\u021bioneaz\u0103 \u00een acela\u0219i spa\u021biu de adrese) nu este disponibil, nu este posibil\u0103 modificarea codului deja \u00eenc\u0103rcat, iar consola prezint\u0103 blocaje dup\u0103 aproximativ 5 minute din cauza problemelor cu cronometrele. Se men\u021bioneaz\u0103 c\u0103 restric\u021biile existente sunt dep\u0103\u0219ibile, dar pentru unele dintre ele este necesar\u0103 implementarea de extensii suplimentare pentru WebAssembly \u00een browsere. Aceste extensii au fost propuse pentru MMU \u0219i suspendarea thread-urilor.     <\/p>\n<p>Imposibilitatea de a suspenda execu\u021bia firelor \u00een WebAssembly nu se \u00eempac\u0103 cu func\u021bionarea planificatorului de sarcini din kernel, dar multitasking-ul a fost realizat printr-o metod\u0103 alternativ\u0103, prin legarea fiec\u0103rui fir\/sarcin\u0103 la propriul s\u0103u CPU virtual, prelucrat \u00eentr-un Web Worker separat. \u00cen acest mod, s-a reu\u0219it ob\u021binerea execu\u021biei paralele a proceselor datorit\u0103 motorului de browser \u0219i kernel-ului sistemului de operare gazd\u0103, f\u0103r\u0103 a utiliza multitasking-ul preemptiv \u0219i comutarea sarcinilor \u00een kernel-ul care ruleaz\u0103 \u00een browser. Interrup\u021biile \u0219i semnalele \u00een cadrul acestei scheme nu func\u021bioneaz\u0103 pe deplin, iar pentru livrarea \u00eentreruperilor temporizatorului \u0219i IPI (Inter-Processor Interrupt) este implicat un CPU virtual separat.      <\/p>\n<p>Domeniul de aplicare al proiectului dep\u0103\u0219e\u0219te simpla lansare a mediilor Linux \u00een browsere. De exemplu, portul poate fi utilizat pentru crearea de programe WebAssembly multi-platform\u0103 care utilizeaz\u0103 apeluri de sistem specifice Linux. Implementarea unor astfel de apeluri de sistem poate fi transformat\u0103 separat \u00een WebAssembly \u0219i ata\u0219at\u0103 aplica\u021biei, permi\u021b\u00e2nd utilizarea acesteia f\u0103r\u0103 legare la kernel-ul sistemului. Portul va fi, de asemenea, util pentru organizarea execu\u021biei izolate a aplica\u021biilor prin intermediul WASI (Interfa\u021ba de sistem WebAssembly).       <\/p>\n<p>Printre planuri se men\u021bioneaz\u0103 experimente cu implementarea suportului grafic \u00een medii cu nucleul compilat \u00een WebAssembly \u2014 pe baza API-ului browserului WebGL se preconizeaz\u0103 implementarea EGL \u0219i asigurarea func\u021bion\u0103rii OpenGL ES. De asemenea, se planific\u0103 implementarea suportului pentru formatul de depanare Dwarf pentru depanarea pas cu pas a codului.<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=64163\">opennet.ro<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430 Linux \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u044b \u043f\u0430\u0442\u0447\u0438 \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b &#171;Wasm&#187; \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044f\u0434\u0440\u043e \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u0434 WebAssembly \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432 web-\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0431\u0435\u0437 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 &#171;.wasm&#187; \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0434\u0440\u0430\u0439\u0432\u0435\u0440 &#171;web console&#187; \u0434\u043b\u044f \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u044e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-147115","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430 Linux \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u044b \u043f\u0430\u0442\u0447\u0438 \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b &quot;Wasm&quot; \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044f\u0434\u0440\u043e \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u0434 WebAssembly \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/predstavlen-port-yadra-linux-dlya-webassembly-zapuskaemyj-v-brauzere\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u043e\u0440\u0442 \u044f\u0434\u0440\u0430 Linux \u0434\u043b\u044f WebAssembly, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0439 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430 Linux \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u044b \u043f\u0430\u0442\u0447\u0438 \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b &quot;Wasm&quot; \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044f\u0434\u0440\u043e \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u0434 WebAssembly \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/predstavlen-port-yadra-linux-dlya-webassembly-zapuskaemyj-v-brauzere\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-11-02T09:12:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-11-02T09:12:32+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47A fost prezentat un port al kernel-ului Linux pentru WebAssembly, care ruleaz\u0103 \u00een browser | ProHoster","description":"\u00cen lista de discu\u021bii a dezvoltatorilor kernel-ului Linux au fost publicate patch-uri cu implementarea arhitecturii \"Wasm\" pentru kernel-ul Linux, permi\u021b\u00e2nd compilarea kernel-ului \u00een cod intermediar WebAssembly pentru executare direct\u0103.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/predstavlen-port-yadra-linux-dlya-webassembly-zapuskaemyj-v-brauzere","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u043e\u0440\u0442 \u044f\u0434\u0440\u0430 Linux \u0434\u043b\u044f WebAssembly, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u044b\u0439 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 | ProHoster","og:description":"\u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430 Linux \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u044b \u043f\u0430\u0442\u0447\u0438 \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b &quot;Wasm&quot; \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044f\u0434\u0440\u043e \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u0434 WebAssembly \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/predstavlen-port-yadra-linux-dlya-webassembly-zapuskaemyj-v-brauzere","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-11-02T09:12:32+00:00","article:modified_time":"2025-11-02T09:12:32+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"147115","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 15:42:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 15:42:21","updated":"2026-01-23 15:42:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/147115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=147115"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/147115\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=147115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=147115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=147115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}