Bartok (compiler)

From Wikipedia, the free encyclopedia
Original author(s)Microsoft Research
Operating systemWindows

Bartok is an optimizing compiler and managed runtime system for Common Intermediate Language (which .NET languages compile to), being developed by Microsoft Research.


Bartok aims to be efficient enough to be usable for writing operating systems. It provides services such as automatic memory management and garbage collection, threading, and marshalling data to and from native code, as well as verification of CIL code. Bartok is written in C#, including the garbage collector. Bartok is being used by Microsoft Research for the implementation of Singularity, a highly-dependable operating system written almost entirely in managed code.[1]

Bartok allows various implementations of the garbage collector, base class library and other components to be chosen at runtime on a per-application basis. This feature is being used to write the different components of Singularity – kernel, device drivers, and applications – each using a separate class library that exposes functionality required by (and optimized for) the specific usage.

See also[edit]


Further reading[edit]

  • Jeremy Condit; Juan Chen; Chris Hawblitzel; Derrick Coetzee (2008). "Type-Preserving Compilation for Large-Scale Optimizing Object-Oriented Compilers" (PDF). Association for Computing Machinery.
  • Tim Harris; Mark Plesko; Avraham Shinnar; David Tarditi (2006). "Optimizing Memory Transactions" (PDF). Association for Computing Machinery.

External links[edit]