Using virtualization technology to teach operating system concepts: tutorial presentation

  • Authors:
  • Sharon Weber

  • Affiliations:
  • St. Edward's University and VMware, Inc.

  • Venue:
  • Journal of Computing Sciences in Colleges
  • Year:
  • 2008
  • Memory resource management in VMware ESX server

    OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading

Quantified Score

Hi-index 0.00

Visualization

Abstract

The system software landscape is quickly changing as the adoption of virtualization software accelerates. The use of virtualization software allows hardware resources, particularly servers, to be effectively managed as a computing pool, leading to a reduction in the amount of computing resources necessary to support an organization. The purpose of this tutorial is to show how basic operating system concepts (CPU, memory, and file systems) can be illustrated using examples from the area of virtualization. For example, one important function of the memory management system of a traditional operating system is to translate virtual addresses in a program into physical addresses that map directly into the computing system's physical memory. In a virtualized system such as VMware's server product [1], address translation requires an additional step. In such a system, the guest operating system cannot actually map addresses to the underlying memory hardware, even though the operating system has the illusion of controlling the physical memory and performs address translation as if it were running directly on the hardware. The underlying virtualization layer translates physical addresses from the guest operating system into machine addresses, which are the actual memory addresses in the hardware. Additional mechanisms such as shadow page tables are used to insure that performance in this two step translation does not suffer. The tutorial will cover the above mentioned topics in detail appropriate to an undergraduate introductory course in operating system concepts.