Modern virtual machines are based on a '74 theorem made by Popek and Goldberg. It outlines how virtual machines should be equivalent to physical machines, something that makes transitioning to virtual machines easier. Today this equivalence is harmful as it ads a lot of complexity to our virtual machines. If we discard equivalence virtual machines can be made a lot simpler.
IncludeOS has, since its inception, supported the paravirtualized drivers for virtio-net. Our deployment platforms where the ones that support virtio. KVM/Qemu, Virtualbox, Openstack and the Google Compute Engine. We’ve now expanded our support adding ESXi to our list of supported platforms. ESXi is the hypervisor powering all of VMware's enterprise products. Here is how this support came about.
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.
In the IncludeOS presentation at CppCon 2016 an example of a delegate initialization can be seen. With a lot of delegates this can quick get kinda messy. Since then we found a simpler way to initialize our delegates.
By inserting a stack gathering call into the Programmable Interval Timer, we can regularly gather stack samples without bias. The gathering will happen at the frequency of the PIT, while the PIT handler itself will only schedule timers that are expired. This gives us an easy and non-intrusive way of profiling IncludeOS Applications.