Overview

This is a program that acts as an intermediary between a user and the hardware. It makes general purpose computing much easier, but is not needed in embedded systems.

It consists of two different views, the user and system view, both of which aim to solve different problems.

User View

It provides the following conveniences:

  1. Easier to write programs (abstraction over hardware)
  2. Easier to run programs (loading program, program state, stopping program)
  3. More powerful instructions than the ISA
  4. Multi user operation (resource management, security, performance, fairness)

The following services can be provided to a user in an OS:

The goals of the user view are:

System View

The following services are run on an OS to manage the system.

The goals of the system view are:

Topics

Note

The OS prevents applications from crashing into each other by using address space protection. This limits the address ranges of memory the process is allowed to touch.

Note

The OS prevents applications from crashing into itself with dual-mode operation. This involves two different modes user and kernel mode. To run some privileged instructions the user has to make a request to the kernel to run some operation.