Barrelfish - Microsoft's other OS
Barrelfish - Microsoft's other OS
Written by Mike James   
Tuesday, 12 July 2011

With multicore becoming the norm we need operating systems that can take advantage of them without wasting time trying to keep the show on the road with centralized management. Barrelfish is Microsoft's experiment in viewing the hardware as a collection of networked processors.

Since it became difficult for hardware manufacturers to increase clock speeds much above 3Ghz we have had to change our approach from faster serial processing to more parallel processing. The big problem is that while operating systems such as Linux, Unix and Windows can make use of multiple processors they were never designed to do so efficiently or in a modern way.

Researchers at Microsoft Research working with ETH Zurich think that Barrelfish, a new OS built from scratch, might be a way forward. It was started as a project back in 2007 and they are very clear that this is not a Windows replacement - not now, not ever. The whole point of Barrelfish is to find out how to build a better multiprocessor system. One of the key properties that the new OS needs is scalability. The number of cores available on today's machines varies but over time it is only going to increase and the operating system has to be able to keep up.

The standard way that current OSes cope with the symmetric multiprocessor architecture is to use a shared memory kernel. The problem is that the shared memory has to be protected by locks and this slows things down a lot and the slow down increase according to the number of processors available. The new idea, although it has been tried before, is to think of the multicore architecture as a network of independent processors. This even works if you consider a multiprocessor machine with different types of CPU and even includes multiple GPUs.


The multikernel model works by allowing individual kernels - or OS Nodes to communicate by message passing rather than using shared memory. Instead of keeping a single OS state in memory the idea is that it is replicated and kept up-to-date by message passing. This removes the problem of locks slowing things down but adds problems to do with maintaining the state across multiple kernels.

Barrelfish is an implementation of these principles and it currently works on x86-64 and ARM processors. It is argued that the message passing and networking approach fits into the approach used by current hardware and in time the match will improve - especially if hardware manufacturers start to build in support for message passing OSs.

Although it is supposed to be just a research tool it is interesting to read the footer from the Barrelfish website:

This web page was brought to you by a server running Barrelfish.

The code for the entire system can be downloaded and is open source. You can also read about the fine details of the structure of the system in a recent paper:

The Multikernel: A new OS architecture for scalable multicore systems



More information

The Multikernel: A new OS architecture for scalable multicore systems

Download the code



GitHub Project Trends

With 2018 underway, GitHub has been busy analysing contributor, visitor, and star activity from last year to discover which were the fastest growing software communities.

Udacity's Flying Car Nanodegree About To Lift Off

The inaugural session of the new nanodegree program, which intends to equip its students with skills needed for a future in which travel will not only be autonomous but also take place in the air, sta [ ... ]

More News

Last Updated ( Tuesday, 12 July 2011 )

RSS feed of news items only
I Programmer News
Copyright © 2018 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.