Winter16 CS111 Lecture 1

Course logistics

Course Website

What is a system?

OED original (1928)

Operating System

American Heritage
software designed to control the hardware of a data proccessing system in order to allow users and applications programs to make use of if.
Encarta (2007)
master control program in a computer
Wikipedia 698216816 (2016-01-04)
collection of smaller programs and softwares that is used to control and operate the computer system

Major Missing Issues of the Definitions above

Example:

Circa 2000 hardware
$ ls -l big
-rw-rw-r-- 1 eggert faculty 9223372036854775000 Oct 6 11:31 big
$ grep x big
$ time grep x big
real 0m0.009s

This gives us a speed of approximately 1022b/s. According to http://what-if.xkcd.com/31/ the bandwidth of the Internet is 1011b/s, and if we hire all the freight trucks in the US to transport hardrives, the speed will be approximately 0.5Zb/s. The explanation behind this amazingly high speed is because that in ZFS(zeta File System), big is an intensional file, which only stores a description or program of the file on the desk. This type of file can be used in anti-virus softwares to allievate the workload of the program.

Problem Areas in OS Design

Incommensurate Scaling
not everything scales at the same rate
economies of scale
can cause waste
Example: O(logN) algorithm and Adam Smith's Pin Factory
diseconomies of scale
can cause breakage
Example:O(logN2) algorithm
Emergent Properties
larger systems have properties that smaller prototypes didn't
Examples:
Propagation of Effects
Propagation of effects also exist in other systems, but in computer systems, pathways for propagations are more effective.
Example:
 Internationalization: Shift-JIS encoding used in Windows system
Tradeoffs
Waterbed Effect
Example: