Unix under Mach: The Lites Server

Johannes Helander


Lites is a 4.4. BSD Lite based server and an emulation library that provide free unix functionality to a Mach based system.

Lites provides binary compatibility with 4.4. BSD, NetBSD (0.8, 0.9, and 1.0), FreeBSD (1.1.5 and 2.0), 386BSD, UX (4.3BSD) and Linux on the i386 platform. It has also been ported to the pc532, PA-RISC, and R3000. It works with Mach 3.0, Mach 4, and RT-Mach.

This thesis describes the Lites server and its design motivations. It shows that emulation libraries are a good way of structuring systems software. Problems identified with earlier emulators are not inherent to the idea but rather to the implementations. Lites provides a completely new emulation library. It provides personality view to applications, loads application binaries and libraries, and allows quick extensibility and new ways of implementing services.

The Lites server is an event driven multithreaded single server featuring garbage collected objects, handling of multiple concurrent system calls from any process, paging to and from files, and extremely few machine dependencies.

The resulting system provides a healthy base for evolutionary unix development with easy debugging, added flexibility, and a high degree of code reusability. The resulting system is fast and stable enough for real use. Yet many improvements can be made and many targets for future development are highlighted in this paper.

The system is legally clean and is being publicly distributed in early 1995.


Publication typeMastersThesis
> Publications > Unix under Mach: The Lites Server