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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.