Displaying 1 to 20 from 23 results

mirage - MirageOS is a library operating system that constructs unikernels

  •    OCaml

The most up-to-date documentation can be found at the homepage. The site is self-hosted, and is itself a useful example. Simpler skeleton applications are also available online. There are several diverse backends in MirageOS that require rather specialised build steps (from Xen to KVM unikernels), and this complexity is wrapped up in the tool.

IncludeOS - A minimal, resource efficient unikernel for cloud services

  •    C++

IncludeOS is an includable, minimal unikernel operating system for C++ services running in the cloud. Starting a program with #include <os> will literally include a tiny operating system into your service during link-time. IncludeOS is free software, with "no warranties or restrictions of any kind".

solo5 - A sandboxed execution environment for unikernels

  •    C

Solo5 originally started as a project by Dan Williams at IBM Research to port MirageOS to run on the Linux/KVM hypervisor. Since then, it has grown into a more general sandboxed execution environment, suitable for running applications built using various unikernels (a.k.a. library operating systems), targeting different sandboxing technologies on diverse host operating systems and hypervisors. Looking for the "ukvm monitor"? Since Solo5 0.4.0, our terminology has changed to better reflect the intended architecture and long-term goals of the project. What used to be referred to as a monitor is now referred to as a tender. As part of this change, the ukvm target and monitor have been renamed to hvt ("hardware virtualized tender") to reflect that they are no longer specific to the KVM hypervisor.

ops - ops - build and run nanos unikernels

  •    Go

Ops is a tool for creating and running a Nanos unikernel. It is used to package, create and run your application as a nanos unikernel instance. Building from source is easy if you have used Go before.

albatross - Virtual machine manager - provision, deploy, observe your unikernels

  •    OCaml

A set of binaries to manage, provision, and deploy virtual machine images. This is very much work in progress, don't expect anything stable. Please read the blog article for motivation and an overview.

EbbRT - Elastic building block runtime

  •    C

Computers used to be large, expensive and centrally owned. Operating systems were designed to multiplex hardware across multiple applications and users. Presently, Cloud Computing allows users to rent entire virtual machines to run their own OS and applications. In this context, the hypervisor multiplexes hardware across multiple applications and users. We can build more efficient software by constructing custom, application-specific operating systems rather than deploying general purpose operating systems within virtual machines. EbbRT components run in a light-weight event-driven environment. This reduces the runtime complexity yet provides enough flexibility for a wide range of applications.

ircd-scylla - MirageOS IRC daemon.

  •    OCaml

Scylla is a Unikernel IRC daemon for MirageOS. Now connect your IRC client to using TLS.

mirage-skeleton - Examples of simple MirageOS apps

  •    OCaml

This repository is a collection of tutorial code referred to from the Mirage website, example code for using specific devices like filesystems and networks, and higher-level applications like DHCP, DNS, and Web servers. You can check that your build environment is working and get a feel for the normal workflow by trying to compile the noop application.

Canopy - A git-blogging unikernel written using MirageOS

  •    OCaml

Canopy is an attempt at writting a blog-engine based on Git using MirageOS. The goal is to provide a simple blog platform that only requires you to provide a Git remote URL and respecting some architecture rules within the said repository.

awesome-unikernels - A list about Unikernels


This list is for anyone wishing learn about Unikernels but do not have a starting point. You can help by sendind Pull Requests to add more information.

qubes-mirage-firewall - A Mirage firewall VM for QubesOS

  •    OCaml

A unikernel that can run as a QubesOS ProxyVM, replacing sys-firewall. It uses the mirage-qubes library to implement the Qubes protocols. Note: This firewall ignores the rules set in the Qubes GUI. See rules.ml for the actual policy.

virgo - Run Unikernels Locally and Natively on OSX and Linux

  •    Go

If you goto github.com/nanovms/ops right now you'll find a brand spanking new unikernel compiler/orchestrator built for the Nanos unikernel. It allows you to run arbitrary linux binaries - check it out.

libhermit - A Unikernel for Extreme-Scale Computing

  •    C

The project HermitCore is a new unikernel targeting a scalable and predictable runtime for high-performance and cloud computing. HermitCore extends the multi-kernel approach (like McKernel) with unikernel features for a better programmability and scalability for hierarchical systems. On the startup of HermitCore applications, cores are isolated from the Linux system enabling bare-metal execution of on these cores. This approach achieves lower OS jitter and a better scalability compared to full-weight kernels. Inter-kernel communication between HermitCore applications and the Linux system is realized by means of an IP interface.

libhermit-rs - A Rust-based Unikernel for Cloud and High-Performance Computing

  •    Rust

HermitCore is a new unikernel targeting a scalable and predictable runtime for high-performance and cloud computing. HermitCore extends the multi-kernel approach (like McKernel) with unikernel features for a better programmability and scalability for hierarchical systems. We decided to develop a version of the kernel in Rust called HermitCore-rs. We promise that this will make it easier to maintain and extend our kernel. All code beside the kernel can still be developed in your preferred language (C/C++/Go/Fortran).

Core - Ultibo Core

  •    Pascal

This is the source for the Ultibo core project, a full featured embedded (no OS) development environment for Raspberry Pi written in Free Pascal.

Examples - Ultibo Examples

  •    Pascal

These examples are included in the Ultibo core installer download and can be found from the Lazarus IDE by selecting Tools, Example Projects.. from the menu. 01-HelloWorld - Classic hello world example.

rebar3_osv - Turn an Erlang/OTP application into a Unikernel image

  •    Erlang

Turn an Erlang/OTP application release into a OSv-based Unikernel image (with a few notable exceptions). The base OSv image included with rebar_osv has the monitoring webservice built in on port 8000 of whatever IP address the VM gets by DHCP.

torokernel - This repository contains the source code of toro kernel

  •    Pascal

Toro is a kernel that allows the user to dedicate a whole kernel to run a single application. Toro is a set of libraries that compiles together with the user application. This results in a image that can run on top of a hypervisor, e.g., KVM, Xen, VirtualBox, or baremetal. To know more about Toro, visit the blog and the wiki. To try Toro, you can follow a simple tutorial here that aims at running a static web server inside a docker image.

arp - Address resolution protocol (ARP) implementation in OCaml targeting MirageOS

  •    OCaml

ARP is an implementation of the address resolution protocol (RFC826) purely in OCaml. It handles IPv4 protocol addresses and Ethernet hardware addresses only. A MirageOS Mirage_protocols.ARP implementation is in the mirage subdirectory.

charrua - A DHCP library in OCaml

  •    OCaml

The name charrua is a reference to the, now extinct, semi-nomadic people of southern South America. The module Dhcp_server supports a stripped down ISC dhcpd.conf, so you can probably just use your old dhcpd.conf. It also supports manual configuration building in OCaml.