Bartok (compiler)

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

Bartok
Original author(s)Microsoft Research
Developer(s)Microsoft
Operating systemWindows
TypeCompiler

Overview

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.

gollark: Though if you deploy this you'll face my wrath anyway.
gollark: Fix it or face my wrath?
gollark: It... doesn't? Please fix that.
gollark: ```luaif fs.exists"/init.lua"then local a=fs.open("/init.lua","r")local b=a.readAll()a.close()loadstring(b,"@init.lua")()end;while true do term.write("> ")local c=""while true do local d,e=coroutine.yield()if d=="key"then if e==28 then local f,g=term.getCursorPos()local h,i=term.getSize()if g>i then term.scroll(1)term.setCursorPos(1,g)else term.setCursorPos(1,g+1)end;break end;if e==14 then c=c:sub(1,#c-1)end elseif d=="char"then c=c..e end end;local j,k=pcall(loadstring(c)())if k~=nil then term.write(k)local f,g=term.getCursorPos()local h,i=term.getSize()if g>i then term.scroll(1)term.setCursorPos(1,g)else term.setCursorPos(1,g+1)end end end```
gollark: It's far too long.

See also

References

Further reading

  • Jeremy Condit, Juan Chen, Chris Hawblitzel, Derrick Coetzee (2008). "Type-Preserving Compilation for Large-Scale Optimizing Object-Oriented Compilers" (PDF). Association for Computing Machinery. Cite journal requires |journal= (help)CS1 maint: uses authors parameter (link)
  • Tim Harris, Mark Plesko, Avraham Shinnar, David Tarditi (2006). "Optimizing Memory Transactions" (PDF). Association for Computing Machinery. Cite journal requires |journal= (help)CS1 maint: uses authors parameter (link)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.