Barrelfish: Microsoft's free multi-core OS
Microsoft Research and the Systems Groups at ETH Zurich have released the latest version of their research operating system, Barrelfish, under an MIT licence and placed it in a Mercurial repository for public access. BarrelFish is an experimental operating system which has been designed to run on systems with heterogeneous CPUs, such as a computer with a mix of x86 and ARM, or a system on a chip with a variety of specialised cores. Currently the system runs on x86-64 bit and ARM multiprocessor hardware, Intel's 48-core research microprocessor (the Single-chip Cloud Computer) and BeeHive, a many-core computer built using FPGAs.
Barrelfish is written to be largely hardware independent. Each processor runs its own instance of the operating system and maintains its own copy of the state of the overall system; other systems typically share the state information in shared memory, leading to issues with caching and locking. Each instance of the operating system then communicates its state-changes to the other instances using messages which update the other instances and keep the system in sync. A 2009 paper, "The Multikernel: A new OS architecture for scalable multicore systems", goes into more detail on the motivations and principles behind Barrelfish. According to the researchers' FAQ, Barrelfish "lacks most of the features of an operating system that make it usable by anyone other than systems researchers taking measurements of the system itself", although the Barrelfish.org web site says it is "brought to you by a server running Barrelfish".