Barrelfish OS Architecture Overview (2013) [pdf]

  • This is a very interesting OS design:

    >"1.1 High level overview

    Barrelfish is “multikernel” operating system [3]: it consists of a small kernel running on each core (one kernel per core), and while rest of the OS is structured as a distributed system of single-core processes atop these kernels. Kernels share no memory, even on a machine with cache-coherent shared RAM, and the rest of the OS does not use shared memory except for transferring messages and data between cores, and booting other cores."

  • Systems research geneaology:

      Xen [U of Cambridge, XenSource, Citrix]
        KVM [Qumranet, RedHat]
        EC2 [AWS]
          Nitro [Annapurna Labs, AWS]
        Barrelfish [ETH Zurich, Microsoft]
          Snitch RISC-V (many)core
        uXen ("micro" Xen, CoW memory) [Bromium, HP]
          firecracker
        AX x86 ("atto" Xen) [Bromium, HP]
          pKVM Arm [Google, Android, Linux]

  • and you can download and run it: https://barrelfish.org/download.html

  • I find these type of efforts somewhat disappointing. So much OS research boils down to “We’ll handle scheduling and rudimentary peripheral multiplexing good luck on rest”. These basics are so far from a useful system that you’d have to slap linux on top and immediately lose most/all benefits of the new architecture.