Lecture 1 Notes (9/30/13)
Created by Greg Mogavero
What's a system?
- Oxford English Dictionary, 1928
I. An organized or connected group of objects
II. A set of principles, etc., a scheme, method
- Greek -- Organized whole, government, constitution, musical interval, group of connected verses
What's an operating system?
- American Heritage, 4th ed. -- Software designed to control the hardware of a specific data processing system in order to allow users and application programs to make use of it
- Encarta 2007 -- Master control program in a computer
- Wikipedia 574029146 (2013-09-22) -- A collection of software that manages computer hardware resources and provides common services for computer programs
- Principles of Computer System Design, 2007, Section 1.A.2 -- A system is a set of interconnected components that has a specified behavior observed at the interface with its environment
Can you safely ignore other parts of a system?
Problems with Computer Systems
- Incommensurate scaling
- Not everything scales at the same rate
- Diseconomies of scale (e.g. star network)
- Economies of scale (e.g. pin factory)
- Emergent properties arise when you scale
- Tacoma Narrows bridge (resonant frequency of winds)
- Napster, etc.
- Propagation of effects
- Internal details leak out (hummingbird in CA -> hurricane in Taiwan)
- Chaotic systems
- Japanese characters in file names (Shift-JIS)
Solutions:
- Propagate the effects, fix them
- Build better walls (scales better)
- Complexity
- Where does complexity come from?
- We're building on previous work
- UNIVAC I (lots of error correction)
- UNIVAC II (used UNIVAC I to simulate UNIVAC II and then removed unnecessary error correction)
- Moore's Law -- complexity of our chips doubles every 18 months