Show Menu
Cheatography

CSE 120 Cheat Sheet (DRAFT) by

Operating Systems

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Fundam­ental OS Issues

Structure
How is an operating system organized?
Sharing
How are resources shared among users?
Naming
How are resources named (by users and programs)?
Protection
How are users/­pro­grams protected from each other?
Security
How can inform­ation access­/flow be restri­cted?
Commun­ication
How to exchange data?
Reliab­ility and fault tolerance
How to mask failures?
Extens­ibility
How to add new features?
Concur­rency
How to control parallel activi­ties?
Perfor­mance
How to make efficient use of resources, reduce OS overhead?
Scale and growth
How to handle increased demand?
Compat­ibility
Can we ever do anything new?
Distri­bution
How to coordinate remote operat­ions?
Accoun­tab­ility
How to change for/re­strict use of resources?
The principles in this course are the design methods, approaches, and solutions to these issues
 

What is an operating system?

The OS is the software layer between user applic­ations and the hardware

The OS and Hardware

The OS abstra­cts­/co­ntr­ols­/me­diates access to hardware resources:
Comput­ation (CPUs)
Volatile storage (memory) and persistent storage (disk, etc.)
Commun­ication (network, modem, etc.)
Input/­output devices (keyboard, display, printer, camera, etc.)
The OS defines a set of logical resources (objects) and a set of well-d­efined operations on those objects (interfaces):
Physical resources (CPU and memory)
Logical resources (files, programs, names)
Benefits to applic­ations:
Simpler (no tweaking device registers)
Device indepe­ndent (all network cards look the same)
Portable (across Window­s95­/98­/ME­/NT­/20­00/­XP/­VIS­TA/...)
Transp­ortable (same program across different OSes (Java))