An operating system written in Common Lisp
Switch branches/tags
Clone or download
froggey Merge pull request #102 from ebrasca/master
Initial tcp server functionality
Latest commit 8e7df36 Sep 11, 2018
Failed to load latest commit information.
applications Merge remote-tracking branch 'github/master' Jul 28, 2018
compiler Synchronize package definitions in cross.lisp & package.lisp. Sep 1, 2018
doc hide the SMP function Sep 10, 2018
drivers Split the supervisor package into multiple packages along driver lines. Aug 28, 2018
file-server file-server: Implement directory deletion May 23, 2018
file Support nul-terminating the result of ENCODE-UTF-8-STRING. Aug 30, 2018
gui Clean up notes on virgl a bit. Aug 30, 2018
net Use tcp listener inside http-demo Sep 11, 2018
notes Change the network light colour, it was nearly invisible before. Mar 4, 2016
runtime Add a dedicated data type for symbol value cells. Aug 5, 2018
supervisor Preliminary virgl support. Aug 30, 2018
system Fix DEFSETF short form. Aug 30, 2018
tools Split the supervisor package into multiple packages along driver lines. Aug 28, 2018
.gitignore Improve how the cold generator manages build artifacts. Feb 21, 2018
BUILD Point BUILD at the new build system. Apr 26, 2016
LICENCE Update copyright year. Feb 27, 2016 Minor improvement to instructions Aug 25, 2018
config.lisp Added split-sequence library, msg command for the IRC client. Oct 14, 2017
ipl.lisp Tool for cutting a release. Jul 28, 2018
line-edit-mixin.lisp Export global-set-key. Jan 31, 2017
lispos.asd Unify the cross & native package definitions. Aug 28, 2018
lldb.lisp Profile threads precisely without using the timer IRQ. Mar 17, 2018

Mezzano, an operating system written in Common Lisp.


Pre-built images

Demo releases are available through GitHub.

These releases are designed to be run in VirtualBox, though QEMU is also supported. 2GB of RAM, a virtio-net NIC and an Intel HDA audio controller are recommended.

Building from source

See the MBuild repo: (

For help & support, join #mezzano on Freenode (

Major changes since Demo 3

  • FAT32 support has been implemented by Bruno Cichon (ebrasca).
  • McCLIM has been ported by fittestbits.
  • Quicklisp has been ported by Peter S. Housel.
  • Improved introspection tools: DISASSEMBLE and ED have been implemented.
  • Generational collection has been added to the garbage collector.
  • New SSA-based compiler backend, supporting unboxed value representations.
  • Gray streams support has been overhauled.

Major changes since Demo 2

  • Trentino, a media player, has been implemented by Eugene Zaikonnikov.
  • Further improvements to conformance, stability and performance.
  • The CLOS implementation follows the MOP much more closely.
  • More traditional window management.
  • Booting from CD/USB on real hardware is now possible.
  • Driver support for Intel HDA audio devices.
  • VirtualBox guest (mouse & display) integration.

Major changes since Demo 1

  • Many improvements to conformance, stability and performance.
  • The editor has been greatly improved, thanks to Burton Samograd.
  • The system now functions correctly on computers with more than 1GB of RAM.
  • The allocator and garbage collector now make much better use of available memory, with far fewer GC cycles occuring.
  • (ROOM T) prints more detailed information about allocated objects.
  • Transparency and premultiplied alpha support in the GUI.
  • And more!

Additional information

"Hypothymis azurea - Kaeng Krachan" by JJ Harrison ( [CC BY-SA 3.0 (], via Wikimedia Commons

"Mandarin Pair" by © Francis C. Franklin / CC-BY-SA-3.0. Licensed under CC BY-SA 3.0 via Wikimedia Commons -

"Handsome" by Andy Morffew - [CC BY 2.0 (]

Includes Dejavu Fonts 2.37 (

Some icons from Icojam (