26.6. Nested virtual machines

The designs of ordinary kernel-based systems, microkernels and library extensible systems each provide different positions at which to draw the boundary between kernel-mode execution and user-mode execution. One feature that all of these systems have in common is the use of a dual-mode environment in which the system is either executing part of the kernel, or it is executing a user-mode process. This scheme has several advantages.

  • Dual-mode execution enjoys almost universal support from modern microprocessors, for example through specialized instructions for implementing system call and return operations.

  • Exposing each application as a separate entity directly to the operating system means that only a single level ...

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.