The Barrelfish project is no longer active. See for information about our current research activities.


The Barrelfish source contains a number of technical notes, which are rough-and-ready (and incomplete) documentation, tutorials, reference manuals, etc. for the system. These should be enough to get you started. Here is a recent snapshot - always check the source for the most recent versions:

1. Overview 8. Tracing Framework 15.Disk Driver Architecture 22. Barrelfish on ARMv8
2. Glossary 9. Notifications 16. Serial ports in Barrelfish 23. Coreboot in Barrelfish
3. Mackerel 10.Specification 17. Barrelfish on ARMv7 24. Filet-o-Fish
4. Hake 11. Dispatcher Communication 18. Barrelfish Practical Guide 25. Sockeye in Barrelfish
5.Virtual Memory 12. Services 19. Device Drivers in Barrelfish 26. Device Queues in Barrelfish
6. The Single Chip Cloud Computer 13. Capability Management 20. Skate in Barrelfish
7. Routing 14. Bulk Transfer 21. CPU Drivers in Barrelfish


Theses, reports, etc.

Frequently Asked Questions

Barrelfish is a research operating system being developed collaboratively by researchers in the Systems Group at ETH Zurich in Switzerland and at Microsoft Research. It is intended as a vehicle for exploring ideas about the structure of operating systems for hardware of the future. We anticipate the main challenges for operating systems will be scalability as the number of cores increases, and in dealing with processor and system heterogeneity. We have proposed a radically different way of structuring an operating system to address these challenges. Barrelfish is an implementation of our proposal, for "proof of concept", and for giving us a concrete foundation with which to extend our research in this area – for example we are also looking at an asynchronous programming model, a parallel file system etc.

Barrelfish is written from scratch, almost all in C or assembler, and it runs on x86 platforms, with ports to various other platforms in progress.
Barrelfish has been under development since October 2007 at the ETH in Zurich, and at Microsoft Research. Researchers at both sites contribute to the source code repository, which is hosted at ETHZ.
ETH Zurich is a science and technology university with a strong research orientation. MSR encourages open collaboration with academic colleagues. In this case the collaboration arose because members of the Barrelfish team have worked together previously on another, completely different, research operating system at the University of Cambridge in the 1990s. There is no financial arrangement in place for this project, and MSR is not funding the Barrelfish group at ETHZ for any other project either.
In October 2009 we had a paper appearing at the ACM Symposium on Operating Systems Principles (SOSP), generally regarded as the top systems conference. The source code release enables other researchers to reproduce our experimental results, and thus is an important part of our contribution to the field.
At present 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. The structural differences from operating systems like Windows or Linux are detailed in our SOSP paper.
The recent code release has a MIT license. We do not expect to change this license for future releases. A few portions of the system that we did not write (such as the maths library, or the ECLiPSe CLP solver) use different open-source licences. Full details can be found in the source release.
MSR conducts operating systems research to look for technologies and concepts that could improve and extend MS products to the benefit of MS customers. MSR participates in the world wide operating systems research community. Because they present opportunities for different ways of using computers, novel OSes are of interest to MS.
We would like Barrelfish to have substantive impact on the design of future multicore operating systems. To that end, we hope it will become a widely used research platform. We plan to invest the manpower required to make the system more usable and robust, while continuing with interesting research and publishing at the major systems conferences. As the system becomes more stable, we will actively encourage more users, particularly from research institutions.