• Popek-Goldberg machines considered harmful

    Modern virtual machines are based on a ‘74 Paper by Gerald J. Popek and Robert P. Goldberg. It provides the theoretical framework for how virtual machines should behave in order to be efficient and secure. It’s a brilliant paper as it outlines how to take something that sounds relatively abstract and complex and turns it into something very concrete. In order to have proper virtual machines you only need some silicon support and some software and this paper outlines how they should function.

    Basically the paper puts forward three requirements for a platform to be an efficient, isolated duplicate of a real machine;

    1) Equivalence / Fidelity
    A virtual machine running under a virtual machine monitor (VMM) should exhibit behaviour essentially identical to running directly on a machine.
  • IncludeOS on VMware/ESXi/vSphere

    Vmware Logo

  • IncludeOS is now 64 bit

    For historical reasons IncludeOS started out as 32 bit. However, as the world is leaving behind 32 bit code as legacy, we’ve always known that 64 bit support would be inevitable.

  • Running IncludeOS Unikernels with VMWare

    Up until now, IncludeOS has been officially tested on Linux KVM (using QEMU for local testing and OpenStack in the cloud) and VirtualBox. It has in fact also been possible to run IncludeOS services on VMWare, but with one very important limitation: no networking.

  • Docker Images for IncludeOS

    We have uploaded Docker images for anyone who wants to try out building IncludeOS unikernels without having to install the development environment locally on their machines.

  • IncludeOS on Google Compute Engine

    Starting with IncludeOS version 0.10, you can run IncludeOS services in the cloud using Google Compute Engine (GCE) in addition to the already existing OpenStack support. In this blog post, I will first go through the process using GCE’s web-based user interface. Then I will show how to perform the same operations using the Google Cloud SDK command line tools. Finally we will look at a simple shell script that lets you effortlessly upload and run IncludeOS services in Compute Engine.

  • IncludeOS 0.10 Released

    We are proud to announce the release of IncludeOS version 0.10. Highlights from this release include partial POSIX support, a user-friendly boot tool to easily build and run IncludeOS services, and a revamped cross-platform build system based on CMake.

  • Routing paths in IncludeOS - from JavaScript to C++

    When creating a web application you need to be able to guide your users to the different content on your site. This is done by specifying different routes for your application, f.ex. /users. In Mana, the C++ web application framework built for IncludeOS, you can specify these routes as strings, string patterns or regular expressions with help from the library path_to_regex. In this post I will present how this works and how you can create your own routes by taking advantage of this library’s possibilities.

  • Middleware implementation in Mana

    Mana is a C++ web application framework built for IncludeOS. In this post I will explain the concept middleware; what it is used for, how we have implemented it and other parts related to it.

  • Delegate initialization - the simpler way

    In the IncludeOS presentation at CppCon 2016 an example of a delegate initialization can be seen (on page 32). With a lot of delegates this can quick get kinda messy. Since then we found a simpler way to initialize our delegates.

  • Non-intrusive real time stack sampling in IncludeOS

    Mike Dunlavey writes an interesting post on StackOverflow on Stack Sampling.

  • Just enough CMake

    Diving into a new and unknown code base can be a bit unsettling. Getting a high-level overview of the overall structure and architecture of the code base is vital if you want to be productive as soon as possible.

Subscribe via RSS