Search⌘ K

Operating System Issues

Explore how operating systems handle critical tasks such as allocating and reclaiming memory for processes, managing process control blocks during context switches, and providing exception handlers to protect system integrity during virtualization. Understand the OS's role in ensuring efficient memory use and handling process misbehavior.

Just as the hardware provides new features to support dynamic relocation, the OS now has new issues it must handle; the combination of hardware support and OS management leads to the implementation of a simple virtual memory. Specifically, there are a few critical junctures where the OS must get involved to implement our base-and-bounds version of virtual memory.

Finding space

First, the OS must take action when a process is created, finding space for its address space in memory. Fortunately, given our assumptions that each address space is (a) smaller than the size of physical memory and (b) the same size, this is quite easy for the OS; it can simply view physical memory as an array of slots, and track whether each one is free or in use. When a new process is created, the OS will have to search a data structure (often called a free list) to find room for the new address space and then mark it used. With variable-sized address spaces, life is more complicated, but we will leave ...