{"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\/sv\/blog\/news\/predstavlen-port-yadra-linux-dlya-webassembly-zapuskaemyj-v-brauzere","title":{"rendered":"K\u00e4rnan i Linux har presenterats som en port f\u00f6r WebAssembly som k\u00f6rs i webbl\u00e4saren.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>I mailinglistan f\u00f6r utvecklarna av Linux-k\u00e4rnan har patchar publicerats med implementeringen av arkitekturen \"Wasm\" f\u00f6r Linux-k\u00e4rnan, vilket m\u00f6jligg\u00f6r kompileringsk\u00e4rnan till mellanliggande WebAssembly-kod f\u00f6r att kunna k\u00f6ras direkt i webbl\u00e4saren utan att anv\u00e4nda emulatorer. Dessutom har projektet f\u00f6r Linux-k\u00e4rnan implementerat m\u00f6jligheten att k\u00f6ra k\u00f6rbara filer i formatet \".wasm\" och en drivrutin f\u00f6r \"web console\" har f\u00f6rberetts f\u00f6r att simulera arbete med konsolen i webbl\u00e4saren. Verktyg har \u00e4ven f\u00f6rberetts f\u00f6r att underl\u00e4tta byggandet av systemmilj\u00f6er som kan k\u00f6ras i webbl\u00e4saren.         <\/p>\n<p>Som exempel har en milj\u00f6 skapats baserad p\u00e5 en upps\u00e4ttning verktyg fr\u00e5n BusyBox och systembiblioteket musl som kompilerats i WebAssembly. Xterm.js anv\u00e4nds som terminalemulator f\u00f6r att arbeta med en s\u00e5dan milj\u00f6. En demonstrationswebbplats har startats separat, vilket g\u00f6r det m\u00f6jligt att utv\u00e4rdera portens arbete utan att beh\u00f6va kompilera sj\u00e4lv. Fullst\u00e4ndig st\u00f6d f\u00f6r webbl\u00e4sare baserade p\u00e5 Chromium-motorn har meddelats och delvis st\u00f6d f\u00f6r Firefox, d\u00e4r debuggningsm\u00f6jligheterna \u00e4r begr\u00e4nsade. P\u00e5 moderna datorer tar det mindre \u00e4n en sekund att ladda Wasm-versionen av k\u00e4rnan i webbl\u00e4saren.      <\/p>\n<p>Projektet har varit under utveckling i n\u00e4stan tv\u00e5 \u00e5r och till\u00e5ter f\u00f6r n\u00e4rvarande att ladda k\u00e4rnan i webbl\u00e4sare och k\u00f6ra typiska program. Arbetet \u00e4r fortfarande inte slutf\u00f6rt och porten har vissa problem och begr\u00e4nsningar. Till exempel har st\u00f6d f\u00f6r vfork- och longjmp-anrop \u00e4nnu inte implementerats (patchar har till\u00e4mpats p\u00e5 BusyBox f\u00f6r att fungera utan dem), det finns ingen m\u00f6jlighet att avbryta uppgifter, MMU \u00e4r inte tillg\u00e4nglig (k\u00e4rnan och processerna arbetar i ett och samma adressutrymme), det g\u00e5r inte att \u00e4ndra redan laddad kod, och konsolen fryser cirka fem minuter in p\u00e5 grund av problem med tidtagning. Det har noterats att de existerande begr\u00e4nsningarna \u00e4r \u00f6verkomliga, men f\u00f6r vissa av dem kr\u00e4vs implementering av ytterligare till\u00e4gg till WebAssembly i webbl\u00e4sarna. S\u00e5dana till\u00e4gg har f\u00f6reslagits att implementeras f\u00f6r MMU och tr\u00e5dpaus.     <\/p>\n<p>Of\u00f6rm\u00e5gan att pausa tr\u00e5darnas exekvering i WebAssembly f\u00f6renar sig inte med arbetet hos schemal\u00e4ggaren i k\u00e4rnan, men flervalsbearbetning har lyckats implementeras p\u00e5 ett omv\u00e4g genom att binda varje tr\u00e5d\/uppgift till sin egen virtuella CPU, hanterad i en separat Web Worker. P\u00e5 s\u00e5 s\u00e4tt har det blivit m\u00f6jligt att uppn\u00e5 parallell exekvering av processer tack vare webbl\u00e4sarens motor och v\u00e4rd-OS:ets k\u00e4rna utan att anv\u00e4nda f\u00f6rdrivande flervalsbearbetning och uppgiftsswitching i den k\u00f6rda k\u00e4rnan i webbl\u00e4saren. Avbrott och signaler fungerar inte fullt ut i detta system, och f\u00f6r att leverera avbrott av timer och IPI (Inter-Processor Interrupt) anv\u00e4nds en separat virtuell CPU.      <\/p>\n<p>Projektets till\u00e4mpningsomr\u00e5de g\u00e5r bortom enkel k\u00f6rning av Linux-milj\u00f6er i webbl\u00e4sare. Till exempel kan porten anv\u00e4ndas f\u00f6r att skapa plattformsoberoende WebAssembly-program som anv\u00e4nder Linux-specifika systemanrop. Implementeringen av s\u00e5dana systemanrop kan omvandlas separat till WebAssembly och kopplas till applikationen, vilket g\u00f6r att den kan anv\u00e4ndas utan bindning till systemk\u00e4rnan. Porten kommer ocks\u00e5 att vara anv\u00e4ndbar f\u00f6r att organisera isolerad exekvering av applikationer med hj\u00e4lp av WASI (WebAssembly System Interface).       <\/p>\n<p>Bland planerna n\u00e4mns experiment med att implementera grafikst\u00f6d i milj\u00f6er med en k\u00e4rna som har byggts i WebAssembly - baserat p\u00e5 webbl\u00e4sarens API WebGL planeras att implementera EGL och s\u00e4kerst\u00e4lla st\u00f6d f\u00f6r OpenGL ES. Det planeras ocks\u00e5 att st\u00f6dja debugformatet Dwarf f\u00f6r rad-f\u00f6r-rad fels\u00f6kning av kod.<br \/>\n<br \/>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=64163\">opennet.ru<\/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.4 - 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\/sv\/blog\/news\/predstavlen-port-yadra-linux-dlya-webassembly-zapuskaemyj-v-brauzere\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47En port av Linux-k\u00e4rnan f\u00f6r WebAssembly har presenterats, k\u00f6rs i webbl\u00e4saren | ProHoster","description":"I Linux-k\u00e4rnans utvecklares postlista publicerades patchar med implementeringen av \"Wasm\"-arkitektur f\u00f6r Linux-k\u00e4rnan, vilket m\u00f6jligg\u00f6r kompilering av k\u00e4rnan till mellanliggande WebAssembly-kod f\u00f6r efterf\u00f6ljande direkt exekvering.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/predstavlen-port-yadra-linux-dlya-webassembly-zapuskaemyj-v-brauzere","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/147115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=147115"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/147115\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=147115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=147115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=147115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}