CS GRIND

CSC Notes Chapter 1 Overview

Page 1-49

What is Operating System?

A computer system is roughly composed by 4 parts:

An operating system is a program that manages the computer hardware. It also provides a basis for application programs and acts as an intermediary between user and computer hardware.

We can split this definition into two parts, according to Liuba's word on class:

Computer-System Organization

Computer-System Operation

Storage Structure

Both of above are volatile, small and expensive.

I/O Structure

I/O device<-->device driver<-->device local buffer<-->OS

Computer-System Architecture

Operating-System Structure

Operating-System Operations

Interrupt

OS is interrupt driven. If nothing happens, it stays quietly. Events are mostly signalled by the occurrence of an interrupt of a trap.

A trap(or an exception) is a software-generated interrupt caused by an error or by a specific request from a user program that an OS service be performed.

As an error might cause problem to other programs, a robust OS must ensure that an incorrect program cannot cause other programs to behave incorrectly.

Dual-Mode Operation

To ensure the proper execution of OS, we have different modes to execute OS code and user-defined code respectively. At least, we have 2:

When a trap or interrupt occurs, hardware switches from user mode to kernel. To simplify, when users are controlling the OS, it's user mode. When the control finishes and OS take the job, it becomes kernel mode.

Timer

To prevent a suer program from running too long.

Process Management

Memory Management

Storage Management

File-System Management

Mass-Storage Management

Caching

A special, faster storage where assumed-frequently-used data is stored. It has limited size thus cache management is very important.

I/O Systems

Protection and security

While OS allows multiple users and allows concurrent execution of multiple processes, then the access to data should be well regulated.

Distributed Systems

A distributed system is a collection of physically separate, possibly heterogeneous computer systems that are networked to provide the uses with access to the various resources that the system maintains.

The benefit of access to a shred resource:

Increase in:

Network Operating System

An operating system that provides features such as file sharing across the network and that includes a communication scheme that allows different processes on different computers to exchange messages.

Special-Purpose Systems

Real-time Embedded Systems

The embedded systems are designed to run on specific devices with limited but specific functions.

Multimedia Systems

Handheld Systems

Computing Environment

Traditional Computing

Client-Server Computing

Peer-to-peer Computing

Web-Based Computing

Open-Source Operating Systems