Chapter 26. Extensible systems

26.1 Mechanisms for extensibility

26.2 Compile-time specialization

26.3 Microkernel operating systems

26.4 Downloadable code

26.5 Exokernels and vertical structuring

26.6 Nested virtual machines

26.7 Extensible virtual machines

26.8 Summary

Modern operating systems are large and complex pieces of software. For example, in early 2002 the source code of the LINUX kernel comprised almost four million lines. It had doubled in size since 2000. LINUX is not unusual either in its size or in its rate of growth: operating systems implementers are frequently under pressure to include new features such as support for additional kinds of hardware or for further network protocols or for new programming interfaces (APIs).

Designing ...

Get Operating Systems: Concurrent and Distributed Software Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.