{"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\/es\/blog\/news\/predstavlen-port-yadra-linux-dlya-webassembly-zapuskaemyj-v-brauzere","title":{"rendered":"Se presenta un puerto del n\u00facleo de Linux para WebAssembly, ejecut\u00e1ndose en el navegador.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>En la lista de correo de los desarrolladores del n\u00facleo de Linux se han publicado parches que implementan la arquitectura \u00abWasm\u00bb para el n\u00facleo de Linux, permitiendo compilar el n\u00facleo en c\u00f3digo intermedio WebAssembly para su posterior ejecuci\u00f3n directa en un navegador web sin necesidad de emuladores. Adem\u00e1s, se ha implementado en el n\u00facleo de Linux la capacidad de ejecutar archivos ejecutables en formato \u00ab.wasm\u00bb y se ha preparado un controlador \u00abweb console\u00bb para simular el trabajo con la consola en el navegador. Tambi\u00e9n se ha preparado un conjunto de herramientas para simplificar la compilaci\u00f3n de entornos sist\u00e9micos ejecutables en el navegador.         <\/p>\n<p>Como ejemplo, se ha formado un entorno basado en las utilidades BusyBox compiladas en WebAssembly y en la biblioteca del sistema musl. Xterm.js se ha utilizado como emulador de terminal para trabajar con este tipo de entorno. Se ha lanzado un sitio de demostraci\u00f3n por separado, que permite evaluar el funcionamiento del puerto sin necesidad de compilar por s\u00ed mismo. Se ha anunciado soporte total para navegadores en el motor Chromium y soporte parcial para Firefox, donde las capacidades de depuraci\u00f3n est\u00e1n limitadas. En computadoras modernas, la carga de la compilaci\u00f3n de Wasm en el navegador toma menos de un segundo.      <\/p>\n<p>El proyecto ha estado en desarrollo durante aproximadamente dos a\u00f1os y en la etapa actual permite cargar el n\u00facleo en los navegadores y ejecutar programas t\u00edpicos. El trabajo a\u00fan no se ha completado y el puerto tiene problemas y limitaciones espec\u00edficas. Por ejemplo, a\u00fan no se ha implementado el soporte para llamadas vfork y longjmp (se han aplicado parches a BusyBox para operar sin ellas), no existe la posibilidad de interrumpir tareas, el MMU no est\u00e1 disponible (el n\u00facleo y los procesos operan en un solo espacio de direcciones), no es posible modificar el c\u00f3digo ya cargado y la consola tiende a congelarse despu\u00e9s de aproximadamente 5 minutos debido a problemas con el temporizador. Se se\u00f1ala que las limitaciones existentes son superables, pero para algunas de ellas se requieren la implementaci\u00f3n de extensiones adicionales en los navegadores para WebAssembly. Se ha propuesto implementar tales extensiones para el MMU y la suspensi\u00f3n de hilos.     <\/p>\n<p>La imposibilidad de pausar la ejecuci\u00f3n de hilos en WebAssembly no es compatible con el funcionamiento del planificador de tareas en el n\u00facleo, pero se ha logrado implementar la multitarea de forma indirecta, vinculando cada hilo\/tarea a su propio CPU virtual, gestionado en un Web Worker separado. De esta manera, se ha conseguido lograr la ejecuci\u00f3n paralela de procesos gracias al motor del navegador y al n\u00facleo del sistema operativo host, sin necesidad de utilizar multitarea por desplazamiento o cambio de tareas en el n\u00facleo ejecut\u00e1ndose en el navegador. Las interrupciones y se\u00f1ales no funcionan plenamente en este esquema, y un CPU virtual separado se utiliza para la entrega de interrupciones por temporizador e IPI (Inter-Processor Interrupt).      <\/p>\n<p>El alcance del proyecto va m\u00e1s all\u00e1 de simplemente ejecutar entornos Linux en navegadores. Por ejemplo, el puerto puede ser utilizado para crear programas WebAssembly multiplataforma que utilicen llamadas al sistema espec\u00edficas de Linux. La implementaci\u00f3n de tales llamadas al sistema puede ser transformada de forma independiente a WebAssembly y adjuntada a la aplicaci\u00f3n, permitiendo su uso sin hacer depender del n\u00facleo del sistema. El puerto tambi\u00e9n ser\u00e1 \u00fatil para organizar la ejecuci\u00f3n aislada de aplicaciones mediante WASI (Interfaz del Sistema WebAssembly).       <\/p>\n<p>De los planes se mencionan experimentos con la implementaci\u00f3n de soporte gr\u00e1fico en entornos con un n\u00facleo compilado en WebAssembly; sobre la base de la API del navegador WebGL se planea implementar EGL y asegurar el funcionamiento de OpenGL ES. Tambi\u00e9n se planea implementar el soporte del formato de depuraci\u00f3n Dwarf para la depuraci\u00f3n por l\u00ednea de c\u00f3digo.<br \/>\n<br \/>Fuente: <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.2 - 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\/es\/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\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47 Se presenta un puerto del n\u00facleo Linux para WebAssembly que se ejecuta en el navegador | ProHoster","description":"En la lista de correo de desarrolladores del n\u00facleo de Linux se han publicado parches que implementan la arquitectura \"Wasm\" para el n\u00facleo Linux, que permite compilar el n\u00facleo en c\u00f3digo intermedio de WebAssembly para su ejecuci\u00f3n directa posterior.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/predstavlen-port-yadra-linux-dlya-webassembly-zapuskaemyj-v-brauzere","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/147115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=147115"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/147115\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=147115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=147115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=147115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}