{"id":98299,"date":"2026-01-28T07:00:00","date_gmt":"2026-01-28T15:00:00","guid":{"rendered":""},"modified":"2026-02-24T13:24:04","modified_gmt":"2026-02-24T21:24:04","slug":"hyperlight-nanvix-posix-support-for-hyperlight-micro-vms","status":"publish","type":"post","link":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/","title":{"rendered":"Hyperlight Nanvix: POSIX support for Hyperlight Micro-VMs"},"content":{"rendered":"\n<p>Cloud architects have long faced a fundamental trade-off: hardware-level security, extremely fast cold starts, and broad application compatibility. Choose any two.<\/p>\n\n\n\n<p>The&nbsp;<a href=\"https:\/\/github.com\/cncf\" target=\"_blank\" rel=\"noreferrer noopener\">Cloud Native Computing Foundation\u2019s<\/a>&nbsp;(CNCF) Hyperlight project delivers faster, more secure, and smaller workload execution to the cloud-native ecosystem\u2014achieving hardware isolation with extremely fast cold starts by eliminating the operating system entirely. The challenge: without system calls, applications must be specially written for Hyperlight&#8217;s bare-metal environment.<\/p>\n\n\n\n<p><a href=\"https:\/\/aka.ms\/hyperlight-dev\" target=\"_blank\" rel=\"noreferrer noopener\">Hyperlight<\/a>&nbsp;and the&nbsp;<a href=\"https:\/\/aka.ms\/nanvix\" target=\"_blank\" rel=\"noreferrer noopener\">Nanvix<\/a>&nbsp;microkernel project have now combined efforts to solve this final constraint. By adding a POSIX compatibility layer, the integration enables Python, JavaScript, C, C++, and Rust applications to run with full hardware isolation and extremely rapid cold starts\u2014much closer to meeting all three requirements.<\/p>\n\n\n\n<p>This post explains the serverless trilemma and walks through how we attempt to break through it.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-16018d1d wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button has-custom-width wp-block-button__width-100\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/hyperlight-dev\/hyperlight-nanvix\" target=\"_blank\" rel=\"noreferrer noopener\">Jump straight in and visit the Hyperlight-Nanvix repository on GitHub<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-serverless-trilemma-pick-two\">The serverless trilemma: pick two?<\/h2>\n\n\n\n<p>When building serverless infrastructure, architects have traditionally faced a painful trade-off. You can have any two of the following, but not all three:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Fast Cold Start<\/strong>\u2014containers and WebAssembly sandboxes prioritize startup speed over security isolation. They rely on software protection boundaries (seccomp, namespace isolation, WebAssembly imports\/exports) rather than hardware boundaries. These software boundaries can be bypassed if vulnerabilities exist in the kernel or runtime, whereas hardware boundaries are immutable and enforced by the processor itself.<\/li>\n\n\n\n<li><strong>Secure Isolation<\/strong>\u2014traditional virtual machines (VMs) provide battle-tested hypervisor isolation, but they require booting an entire operating system (OS), leading to cold starts measured in hundreds of milliseconds.<\/li>\n\n\n\n<li><strong>Runtime Compatibility<\/strong>\u2014running existing applications typically requires a full POSIX environment with system calls, file systems, and standard libraries\u2014something that bare-metal micro-VMs don&#8217;t provide.<\/li>\n<\/ul>\n\n\n\n<p>With&nbsp;<a href=\"https:\/\/opensource.microsoft.com\/blog\/2024\/11\/07\/introducing-hyperlight-virtual-machine-based-security-for-functions-at-scale\">Hyperlight<\/a>, we showed that it&#8217;s possible to create micro-VMs in low tens of milliseconds by eliminating the OS and virtual devices. But this speed came at a cost: Hyperlight guests have no system calls available. Instead, they&#8217;re statically linked binaries that communicate only through explicit host-guest function calls. That&#8217;s secure and fast, but it limits what applications you can run.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"nanvix-an-os-for-cloud-native-apps\">Nanvix: an OS for cloud-native apps<\/h2>\n\n\n\n<p>Nanvix is a Rust-based microkernel created by the Systems Research Group at Microsoft Research. Unlike traditional OSes, Nanvix was co-designed with Hyperlight from the ground up. It&#8217;s not a general-purpose OS\u2014it&#8217;s a minimal OS tailored specifically for ephemeral serverless workloads. Here are some highlights of Nanvix:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Microkernel Design Philosophy<\/strong>\u2014Nanvix implements only the essential kernel services needed for serverless functions. Everything else runs in user space or is handled by the host.<\/li>\n\n\n\n<li><strong>POSIX Compatibility<\/strong>\u2014Nanvix provides over 150 POSIX system calls, enabling support for Python, JavaScript, WASI, Rust, and C\/C++ applications without code changes.<\/li>\n\n\n\n<li><strong>Cloud-Optimized Services<\/strong>\u2014OS services are tailored specifically for ephemeral serverless workloads, not long-running processes.<\/li>\n\n\n\n<li><strong>Memory Safety<\/strong>\u2014written in Rust.<\/li>\n<\/ul>\n\n\n\n<p>The result? You can now run real applications\u2014with file systems, system calls, and language runtimes\u2014inside a Hyperlight micro-VM, while maintaining hypervisor-grade isolation and achieving double-digit-millisecond cold starts.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"toward-breaking-the-trilemma-hyperlight-and-nanvix\">Toward breaking the trilemma: Hyperlight and Nanvix<\/h2>\n\n\n\n<p>The combination of Hyperlight and Nanvix addresses the trilemma by splitting responsibilities. Hyperlight controls everything the guest VM can do on behalf of the trusted host, providing hardware-enforced isolation. Nanvix&#8217;s optimized microkernel runs inside the Hyperlight guest, providing the POSIX system calls and file system int erface that applications expect. Together, they enable hardware-isolated execution of Python, JavaScript, C, C++, and Rust applications with double-digit millisecond-order cold starts.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-it-works-the-split-os-design\">How it works: the split OS design<\/h2>\n\n\n\n<p>The magic of Hyperlight-Nanvix lies in its&nbsp;<em>split OS design<\/em>. Rather than running a monolithic OS inside the VM, it splits responsibilities between two groups of components:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ephemeral components (run inside the Hyperlight VM)<\/strong>\u2014These are the components that require hardware isolation: the application code, language runtime, POSIX compatibility layer, and the Nanvix kernel itself. Everything executing untrusted or tenant-specific code runs inside the VM boundary.<\/li>\n\n\n\n<li><strong>Persistent components (on the Host)<\/strong>\u2014I\/O, networking, and shared state are managed by the host system. The Hyperlight VMM mediates all communication between the guest and these services.<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/Screenshot-2026-02-24-115922.webp\" alt=\"Flow chart showing how I\/O subsystem works with Hyperlight VM.\" class=\"wp-image-98310 webp-format\" srcset=\"\" data-orig-src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/Screenshot-2026-02-24-115922.webp\"><\/figure>\n\n\n\n<p>This split architecture means we get the best of both worlds. Applications see a familiar POSIX environment, but the actual I\/O operations are handled by the host\u2014enabling high density, fast cold starts, and shared state across invocations when needed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"system-call-interposition-security-at-the-system-call-boundary\">System call interposition: security at the system call boundary<\/h2>\n\n\n\n<p>One of the most powerful features of the Hyperlight-Nanvix integration is system call interposition. When a guest application makes a system call (like openat to open a file), the request flows through Nanvix, across the VM boundary via Hyperlight&#8217;s VM exit mechanism, and to the host. At this boundary, the host can:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Accept<\/strong>\u2014allow the system call to proceed<\/li>\n\n\n\n<li><strong>Intercept<\/strong>\u2014transform system call arguments or return values<\/li>\n\n\n\n<li><strong>Block<\/strong>\u2014deny specific system calls entirely based on security policy<\/li>\n<\/ul>\n\n\n\n<p>This gives you fine-grained control over what untrusted code can do, even when that code expects a full OS underneath it. Want to allow file reads but block network access? You can enforce that at the system call level without modifying the guest application.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"deployment-modes-flexibility-for-different-threat-models\">Deployment modes: flexibility for different threat models<\/h2>\n\n\n\n<p>Hyperlight-Nanvix delivers all three requirements\u2014hardware isolation, fast cold starts, and application compatibility. But different use cases have different security requirements. The integration supports three deployment architectures that let you optimize for your specific threat model.<\/p>\n\n\n\n<p>Across all three modes, the Hyperlight VM remains identical. What changes is how the I\/O subsystem is deployed: whether it runs in the same process as the VMM, in a separate process, or in a separate VM entirely. Each architecture offers different trade-offs between isolation strength, performance, and resource density.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"single-process-architecture\">Single process architecture<\/h2>\n\n\n\n<p>The simplest deployment model runs the I\/O subsystem and the Hyperlight VMM in a single host process. The VMM thread manages the Hyperlight VM, while an I\/O thread handles system call interposition. This provides the same threat model as Hyperlight without Nanvix\u2014fast and simple, ideal for running small, untrusted workloads with hardware isolation.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/02\/media_17c3954cb0985b953f947cad7341666beeed16e12.webp\" alt=\"Single-process deployment architecture showing I\/O Thread and VMM Thread (forming one host process) running on the Host OS alongside a Hyperlight VM containing the Application and Nanvix Kernel, all running on the Hypervisor layer.\" class=\"wp-image-98302 webp-format\" srcset=\"\" data-orig-src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/02\/media_17c3954cb0985b953f947cad7341666beeed16e12.webp\"><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"multi-process-architecture\">Multi-process architecture<\/h2>\n\n\n\n<p>For improved isolation, you can separate the VMM and I\/O handling into different host processes. The VMM process manages the Hyperlight VM, while a separate system process handles I\/O operations. This constrains the blast radius if a vulnerability is exploited\u2014an attacker who escapes the VM still can&#8217;t access I\/O resources directly. The system I\/O process can also be shared across multiple concurrent instances for the same tenant, improving both density and deployment time.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/02\/media_14f0d7e19a90080143adeab2484570ddee35dc555.webp\" alt=\"Multi-process deployment architecture showing a System I\/O Process and Hyperlight VMM Process running atop the Host OS alongside a Hyperlight VM (containing Application and Nanvix Kernel), all running on the Hypervisor layer.\" class=\"wp-image-98303 webp-format\" srcset=\"\" data-orig-src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/02\/media_14f0d7e19a90080143adeab2484570ddee35dc555.webp\"><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"disaggregated-architecture\">Disaggregated architecture<\/h2>\n\n\n\n<p>The most isolated deployment runs two separate VMs on the host hypervisor (using Hyper-V or KVM). The System VM handles all I\/O system calls and can serve as a shared backend for multiple Hyperlight VMs. The Hyperlight VM forwards I\/O requests across the hypervisor boundary to the System VM, providing defense-in-depth with multiple hypervisor boundaries.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_10b4d2b71e3b94bede3e7d7b398d9465a8bbb48ec.webp\" alt=\"Disaggregated deployment architecture showing System VMM Process and Hyperlight VMM Process running on the Host OS, with two separate VMs on the Hypervisor layer: a System VM (handling I\/O operations) on the left and a Hyperlight VM (containing Application and Nanvix Kernel) on the right.\" class=\"wp-image-98305 webp-format\" srcset=\"\" data-orig-src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_10b4d2b71e3b94bede3e7d7b398d9465a8bbb48ec.webp\"><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"performance-fast-cold-starts-with-real-applications\">Performance: fast cold starts with real applications<\/h2>\n\n\n\n<p>We&#8217;ve tested Hyperlight-Nanvix against other isolation technologies using real-world applications. Our early benchmarks show very promising results:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Double-digit millisecond-order cold starts<\/strong>&nbsp;when booting the Nanvix kernel, loading a language runtime, and executing application code<\/li>\n\n\n\n<li><strong>Significantly faster<\/strong>&nbsp;than traditional VM solutions for the same deployment model<\/li>\n\n\n\n<li><strong>High memory efficiency<\/strong>&nbsp;with hundreds of instances per GiB of memory<\/li>\n\n\n\n<li><strong>Fast enough for per-request VM isolation<\/strong>&nbsp;without sacrificing security<\/li>\n<\/ul>\n\n\n\n<p>How far did we get to breaking the trilemma? We&#8217;re preparing a detailed benchmark analysis that we&#8217;ll share in a follow-up post, including methodology, reproducible test cases, and comparative data across different workloads. This will give you the data and tests you need to decide for yourself.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"language-support-from-c-to-python\">Language support: from C to Python<\/h2>\n\n\n\n<p>Because Hyperlight-Nanvix provides a POSIX compatibility layer, you can run applications in virtually any language, among them:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>C and C++<\/strong>\u2014compiled directly against the Nanvix toolchain<\/li>\n\n\n\n<li><strong>JavaScript<\/strong>\u2014using QuickJS or other embedded JS engines<\/li>\n\n\n\n<li><strong>Python<\/strong>\u2014with an embedded Python interpreter<\/li>\n\n\n\n<li><strong>Rust<\/strong>\u2014native support with the Hyperlight guest library<\/li>\n<\/ul>\n\n\n\n<p>The key insight is that language runtimes themselves are just applications. By providing system calls and a file system, Nanvix enables you to embed interpreters like QuickJS or CPython inside the micro-VM. Your JavaScript or Python code runs normally\u2014it has no idea it&#8217;s executing inside a hardware-isolated sandbox.<\/p>\n\n\n\n<p>This approach also explains why Hyperlight-Nanvix achieves better performance than general-purpose operating systems: Nanvix is optimized for workloads you want to spin up, execute, and tear down as quickly as possible\u2014the exact pattern cloud-native serverless functions demand.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"use-case-running-ai-generated-code-safely\">Use case: running AI-generated code safely<\/h2>\n\n\n\n<p>One compelling use case for Hyperlight-Nanvix is executing AI-generated code. As large language models become more capable of writing code, we need secure environments to run that code without risking our infrastructure.<\/p>\n\n\n\n<p>AI-generated code should be treated as untrusted and potentially malicious. With Hyperlight-Nanvix, you can:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Spin up an isolated micro-VM in tens of milliseconds<\/li>\n\n\n\n<li>Execute the generated code with strong language support<\/li>\n\n\n\n<li>Interpose on system calls to enforce security policies (no network, limited file access)<\/li>\n\n\n\n<li>Destroy the VM after execution, leaving no persistent state<\/li>\n<\/ol>\n\n\n\n<p>The hypervisor boundary means that even if the generated code contains an exploit targeting the language runtime, the attacker still faces a hardware-enforced wall. And because cold starts are so fast, you can afford to create a fresh VM for every code execution\u2014no need to reuse potentially compromised sandboxes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"getting-started\">Getting started<\/h2>\n\n\n\n<p>The hyperlight-nanvix wrapper provides out-of-the-box support for running JavaScript, Python, C, and C++ programs inside Nanvix guests.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ngit clone https:\/\/github.com\/hyperlight-dev\/hyperlight-nanvix\ncd hyperlight-nanvix\n\n# Download the Nanvix toolchain and runtime\ncargo run -- --setup-registry\n\n# Run scripts directly\ncargo run -- guest-examples\/hello.js    # JavaScript\ncargo run -- guest-examples\/hello.py    # Python\n\n<\/pre><\/div>\n\n\n<p>For C and C++ programs, you&#8217;ll need to compile them first using the Nanvix toolchain (via Docker). See the repository README for compilation instructions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"example-running-workloads-from-rust\">Example: running workloads from Rust<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nuse hyperlight_nanvix::{Sandbox, RuntimeConfig};\n\n#[tokio::main]\nasync fn main() -> anyhow::Result<()> {\n\u00a0\u00a0\u00a0 let config = RuntimeConfig::new()\n\u00a0\u00a0\u00a0 .with_log_directory(\"\/tmp\/hyperlight-nanvix\")\n\u00a0\u00a0\u00a0 .with_tmp_directory(\"\/tmp\/hyperlight-nanvix\");\n\n\u00a0\u00a0\u00a0 let mut sandbox = Sandbox::new(config)?;\n\n\u00a0\u00a0\u00a0 \/\/ Works with any supported file type\n\u00a0\u00a0\u00a0 sandbox.run(\"guest-examples\/hello.js\").await?;\n\u00a0\u00a0\u00a0 sandbox.run(\"guest-examples\/hello.py\").await?;\n\u00a0\u00a0\u00a0 sandbox.run(\"guest-examples\/hello-c\").await?;\n\n\u00a0\u00a0\u00a0 Ok(())\n}\n\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"example-system-call-interposition\">Example: system call interposition<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nuse hyperlight_nanvix::{Sandbox, RuntimeConfig, SyscallTable, SyscallAction};\n\nunsafe fn custom_openat(\n\u00a0\u00a0\u00a0 _state: &(),\n\u00a0\u00a0\u00a0 dirfd: i32,\n\u00a0\u00a0\u00a0 pathname: *const i8,\n\u00a0\u00a0\u00a0 flags: i32,\n\u00a0\u00a0\u00a0 mode: u32,\n) -> i32 {\n\u00a0\u00a0\u00a0 println!(\"Intercepted openat call - auditing file access\");\n\u00a0\u00a0\u00a0 \/\/ Forward to actual system call or block based on policy\n\u00a0\u00a0\u00a0 libc::openat(dirfd, pathname, flags, mode)\n}\n#[tokio::main]\nasync fn main() -> anyhow::Result<()> {\n\u00a0\u00a0\u00a0 let mut system_call_table = SyscallTable::new(());\n\u00a0\u00a0\u00a0 system_call_table.openat = SyscallAction::Forward(custom_openat);\n\n\u00a0\u00a0\u00a0 let config = RuntimeConfig::new()\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 .with_system_call_table(Arc::new(system_call_table));\n\n\u00a0\u00a0\u00a0 let mut sandbox = Sandbox::new(config)?;\n\u00a0\u00a0\u00a0 sandbox.run(\"guest-examples\/hello-c\").await?;\n\n    Ok(())\n\n}\n\n<\/pre><\/div>\n\n\n<p>The repository also includes a Node.js\/NAPI binding, allowing you to create sandboxes directly from JavaScript. Check out&nbsp;<code>examples\/ai-generated-scripts\/<\/code>&nbsp;for a complete example of safely executing AI-generated code. This example requires additional setup\u2014see the README in that directory.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"get-involved-with-hyperlight-and-nanvix\">Get involved with Hyperlight and Nanvix<\/h2>\n\n\n\n<p>Hyperlight is a CNCF Sandbox project, and we&#8217;re excited to see the community build on this foundation. The integration with Nanvix represents the next step in our vision: making hardware-isolated serverless execution practical for real-world applications.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/opensource.microsoft.com\/blog\/2026\/1\/28\/github.com\/hyperlight-dev\/hyperlight-nanvix\" target=\"_blank\" rel=\"noreferrer noopener\">Explore Hyperlight-Nanvix Integration GitHub<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/hackmd.io\/blCrncfOSEuqSbRVT9KYkg#Agenda\" target=\"_blank\" rel=\"noreferrer noopener\">Join the community and bi-weekly meetings<\/a>\n<ul class=\"wp-block-list\">\n<li>(Wednesday at 9 AM PST\/PDT)<\/li>\n\n\n\n<li>CNCF Slack: #hyperlight channel<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/hyperlight-dev\/hyperlight\" target=\"_blank\" rel=\"noreferrer noopener\">Learn more about Hyperlight GitHub<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/nanvix\/nanvix\" target=\"_blank\" rel=\"noreferrer noopener\">Learn more about Nanvix GitHub<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The Cloud Native Computing Foundation\u2019s (CNCF) Hyperlight project delivers faster, more secure, and smaller workload execution to the cloud-native ecosystem.<\/p>\n","protected":false},"author":6153,"featured_media":98306,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"msxcm_post_with_no_image":false,"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[136],"content-type":[340],"topic":[2240,2247],"programming-languages":[],"coauthors":[2595,2629],"class_list":["post-98299","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-github","content-type-tutorials-and-demos","topic-application-development","topic-programming-languages","review-flag-1593580362-584","review-flag-1593580428-734","review-flag-1593580419-521","review-flag-9-1593580473-997","review-flag-new-1593580248-669","review-flag-vm-1593580807-312"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hyperlight Nanvix: POSIX support for Hyperlight Micro-VMs | Microsoft Open Source Blog<\/title>\n<meta name=\"description\" content=\"The Cloud Native Computing Foundation\u2019s (CNCF) Hyperlight project delivers faster, more secure, and smaller workload execution to the cloud-native ecosystem.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hyperlight Nanvix: POSIX support for Hyperlight Micro-VMs | Microsoft Open Source Blog\" \/>\n<meta property=\"og:description\" content=\"The Cloud Native Computing Foundation\u2019s (CNCF) Hyperlight project delivers faster, more secure, and smaller workload execution to the cloud-native ecosystem.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Open Source Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-28T15:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-24T21:24:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_1b948518c4213bcca5164c206439aa72d1c8a8404.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1333\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Danilo Chiarlone, Pedro Henrique Penna\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_1b948518c4213bcca5164c206439aa72d1c8a8404.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:site\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Danilo Chiarlone, Pedro Henrique Penna\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/\"},\"author\":[{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/author\/danilo-chiarlone\/\",\"@type\":\"Person\",\"@name\":\"Danilo Chiarlone\"},{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/author\/pedro-henrique-penna\/\",\"@type\":\"Person\",\"@name\":\"Pedro Henrique Penna\"}],\"headline\":\"Hyperlight Nanvix: POSIX support for Hyperlight Micro-VMs\",\"datePublished\":\"2026-01-28T15:00:00+00:00\",\"dateModified\":\"2026-02-24T21:24:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/\"},\"wordCount\":1729,\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_1b948518c4213bcca5164c206439aa72d1c8a8404.jpg\",\"keywords\":[\"GitHub\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/\",\"name\":\"Hyperlight Nanvix: POSIX support for Hyperlight Micro-VMs | Microsoft Open Source Blog\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_1b948518c4213bcca5164c206439aa72d1c8a8404.jpg\",\"datePublished\":\"2026-01-28T15:00:00+00:00\",\"dateModified\":\"2026-02-24T21:24:04+00:00\",\"description\":\"The Cloud Native Computing Foundation\u2019s (CNCF) Hyperlight project delivers faster, more secure, and smaller workload execution to the cloud-native ecosystem.\",\"breadcrumb\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#primaryimage\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_1b948518c4213bcca5164c206439aa72d1c8a8404.jpg\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_1b948518c4213bcca5164c206439aa72d1c8a8404.jpg\",\"width\":2000,\"height\":1333,\"caption\":\"A team of practitioners work in a shared office space.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/opensource.microsoft.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hyperlight Nanvix: POSIX support for Hyperlight Micro-VMs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"name\":\"Microsoft Open Source Blog\",\"description\":\"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability\",\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\",\"name\":\"Microsoft Open Source Blog\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Microsoft Open Source Blog\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/OpenAtMicrosoft\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hyperlight Nanvix: POSIX support for Hyperlight Micro-VMs | Microsoft Open Source Blog","description":"The Cloud Native Computing Foundation\u2019s (CNCF) Hyperlight project delivers faster, more secure, and smaller workload execution to the cloud-native ecosystem.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/","og_locale":"en_US","og_type":"article","og_title":"Hyperlight Nanvix: POSIX support for Hyperlight Micro-VMs | Microsoft Open Source Blog","og_description":"The Cloud Native Computing Foundation\u2019s (CNCF) Hyperlight project delivers faster, more secure, and smaller workload execution to the cloud-native ecosystem.","og_url":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/","og_site_name":"Microsoft Open Source Blog","article_published_time":"2026-01-28T15:00:00+00:00","article_modified_time":"2026-02-24T21:24:04+00:00","og_image":[{"width":2000,"height":1333,"url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_1b948518c4213bcca5164c206439aa72d1c8a8404.jpg","type":"image\/jpeg"}],"author":"Danilo Chiarlone, Pedro Henrique Penna","twitter_card":"summary_large_image","twitter_image":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_1b948518c4213bcca5164c206439aa72d1c8a8404.jpg","twitter_creator":"@OpenAtMicrosoft","twitter_site":"@OpenAtMicrosoft","twitter_misc":{"Written by":"Danilo Chiarlone, Pedro Henrique Penna","Est. reading time":"8 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#article","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/"},"author":[{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/danilo-chiarlone\/","@type":"Person","@name":"Danilo Chiarlone"},{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/pedro-henrique-penna\/","@type":"Person","@name":"Pedro Henrique Penna"}],"headline":"Hyperlight Nanvix: POSIX support for Hyperlight Micro-VMs","datePublished":"2026-01-28T15:00:00+00:00","dateModified":"2026-02-24T21:24:04+00:00","mainEntityOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/"},"wordCount":1729,"publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_1b948518c4213bcca5164c206439aa72d1c8a8404.jpg","keywords":["GitHub"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/","url":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/","name":"Hyperlight Nanvix: POSIX support for Hyperlight Micro-VMs | Microsoft Open Source Blog","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#primaryimage"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_1b948518c4213bcca5164c206439aa72d1c8a8404.jpg","datePublished":"2026-01-28T15:00:00+00:00","dateModified":"2026-02-24T21:24:04+00:00","description":"The Cloud Native Computing Foundation\u2019s (CNCF) Hyperlight project delivers faster, more secure, and smaller workload execution to the cloud-native ecosystem.","breadcrumb":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#primaryimage","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_1b948518c4213bcca5164c206439aa72d1c8a8404.jpg","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2026\/01\/media_1b948518c4213bcca5164c206439aa72d1c8a8404.jpg","width":2000,"height":1333,"caption":"A team of practitioners work in a shared office space."},{"@type":"BreadcrumbList","@id":"https:\/\/opensource.microsoft.com\/blog\/2026\/01\/28\/hyperlight-nanvix-posix-support-for-hyperlight-micro-vms\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.microsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Hyperlight Nanvix: POSIX support for Hyperlight Micro-VMs"}]},{"@type":"WebSite","@id":"https:\/\/opensource.microsoft.com\/blog\/#website","url":"https:\/\/opensource.microsoft.com\/blog\/","name":"Microsoft Open Source Blog","description":"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability","publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/opensource.microsoft.com\/blog\/#organization","name":"Microsoft Open Source Blog","url":"https:\/\/opensource.microsoft.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Microsoft Open Source Blog"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/OpenAtMicrosoft"]}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Open Source Blog","distributor_original_site_url":"https:\/\/opensource.microsoft.com\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/98299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/users\/6153"}],"replies":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=98299"}],"version-history":[{"count":3,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/98299\/revisions"}],"predecessor-version":[{"id":98311,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/98299\/revisions\/98311"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media\/98306"}],"wp:attachment":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=98299"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/post_tag?post=98299"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/content-type?post=98299"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/topic?post=98299"},{"taxonomy":"programming-languages","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/programming-languages?post=98299"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/coauthors?post=98299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}