OS Introduction

1. Computer Architecture Overview

An operating system manages this hardware. It needs to:

2. OS Services

Managing Resources: An OS must make efficient use of limited available resources. It must share these resources amongst multiple users. These resources are:

Providing clean interfaces: An OS converts raw hardware into a usable computer system. It keeps details of hardware hidden from programs. Only the OS can allow access to hardware resources, and the requests to this should be abstract. This is a virtual machine abstraction.

3. OS Characteristics

An OS must share data, programs and hardware. It does this using time and space multiplexing. An OS must offer resource allocation to ensure efficient and fair use of memory, CPU time, etc., must support simultaneous access to resources, and offer mutual exlcusion for some resources. It must also protect against accidental or malicious corruption.

An OS must support concurrency. This involves supporting several simultaneous parallel activities. It may switch activities at arbitrary times (e.g. An interrupt from a keyboard may trigger an action.). It must ensure safe concurrency by offering primitives to synchronize actions and protect user/process interference.

An OS may be non-deterministic. When running, results from events occur in an unpredictable order (e.g. timer interrupts, network packet loss, disk errors).

An OS must support persisting data with file systems. It offers easy access to files through user-defined names, enforces access controls, protects against failure and manages storage devices.

4. OS Functionality

Back to Home