- Class Info
- Introduction
- Problems with computer systems
- Homework
Class Info:
Professor:
- Paul Eggert – 4532 J Boelter
- Office Hour:
- Monday 12:00-13:00
- Thursday 14:00-15:00
TA:
Class Website:
Prerequisites:
Recommended:
Textbook:
-
Jerome H. Saltzer and M. Frans Kaashoek, Principles of Computer System Design: An Introduction, Morgan Kaufmann (2009)
Class organization:
- 1 midterm (April 29) 100 minutes - open book open notes
- 1 final (June 8) 180min - open book open notes
- 4 labs (1a 1b 2 3 4)
- 2 minilabs
- 1 design problem
- oral presentation
- 1-page report
- scribe notes
Grade distribution:
- Overview (1/3 exams, 1/3 labs, 1/3 extra)
- 2/9 final
- 1/9 midterm
- 1/12 each lab
- 1/15 each minilab
- 1/12 design problem
- 1/12 Scribe Notes
- 1/30 1-page report
Places to do labs:
- Seasnet Lab
- Seasnet Linux Servers(via SSH)
- lnxsrv0[1-3].seas.ucla.edu
- export /usr/local/cs/bin in PATH
Emulators:
Introduction
What is a system?
- Oxford English Diction (1928)
- An organized or connected group of objects
- A set of principles, etc; a scheme, method
- From Greek: (σύστημα) – organized whole, government, constitution, a body of people or animals, musical interval, or a group of connected verses in a poem
- We are using ideas about systems that have been around for some times when we build systems now
What is a operating system?
- American Heritage (2000) – 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.
- Users make use of? A user can't be a user if he doesn't make use of something
- Specific data processing system? No portable systems?
- Is purpose of OS simply to control hardware?
- Encarta (2007) – Master control program in a computer…………
- Wikipedia (v.119834131) – A set of computer programs that manage the hardware and software resources of a computer
- Our definition?
- Optional GUI (maybe separate app from OS)
- Library (helpful existing code)
- Interface to lower level hardware facility
- Textbook – A system is a set of interconnected components that has a specified behavior at the interface with its environment (1.1.2)
- Think about the classroom as a system.
- Electrical
- Furniture
- Architecture
- Perhaps political?
Problems with computer systems
Incommensurate scaling – Not everything scales at same rate.
- The size of a classroom scales well. The Q/A session does not scale well because it might take up the entire class time.
- Animals' weight and strength scaling ratio:
- strength of bones is proportional to size2
- weight is proportional to size3
- Therefore, if a mouse were the size of an elephant, its bones would be crushed by its weight.
- Scaling is a BIG DEAL.
- Economies of scale – cost advantages due to expansion
- Diseconomies of scale – cost disadvantages due to expansion
Emergent properties
- System develop new and unanticipated properties in larger or more complex systems
- Can be more serious than incommensurate scaling
- Tacoma Narrows Bridge
- Wind hit the bridge at its resonance frequency, cars got thrown off, and bridge collapsed
- Robert Morris Worm of 1980s
- Buffer overflows in sendmail
- Wondered what would happen if he sent a carefully crafted message to keep sending more email
- Accidentally let worm escape and affected a lot of hosts on the Internet at that time
- Napster
- Emerged from putting high bandwidth Internet connection in college dormitory
Propagation of effects
- Tiny changes in one part of a chaotic system can cause large changes elsewhere, perhaps far away too
- Can happen in well-design systems as well
- Character encoding example
- Filenames are separated by \
- C:a\bx\ddd\f
- Need to recognize Japanese characters.
- Use multibyte (2 bytes) encoding
- 1st bit indicates multibyte encoding
- remaining 15 bits represent character
- ~33000 characters
- say we have C:\冗.tex
01000011 | 00111010 | 01011100 | 10100010 | 01011100 | ... |
C | : | \ | Multibyte Character Last byte same as backslash |
- byte sequence in the weird characters might contain one that contains a backslash
- now, system intreprets as C:\¢\.txt, which is not correct.
- fix 1: make change to the kernel so that it recognizes multibyte characters
- fix 2: change the encoding system so all the bytes of the character has a leading 1. (backslash has leading 0)
Combination of problems
- Prediction: attacker can bombard victim with wrong response, but probably not cost effective. They don’t have enough bandwidth to generate enough packets to come in faster than the DNS.
- Kaminsky’s discovery: Attacking the DNS server when it queries the root server is more effective.
- Fix: DNS server sends query and receives response through specified port. Attacker does not know through which port the DNS server sent the query. It must bombard all ports in DNS server to have a high chance of success.
Complexity
- New to computer systems due to accuracy of Moore’s Law
- Moore’s Law -- # of transistors on a time line keeps going up linearly, # doubles every 2 years (@ min. cost)
- Kryder’s Law –disk drive capacity doubles (not speed)
- Fast speed & large capacity (Moore’s Law and Kryder’s Law) make it possible to do complex things
Homework