CS162 Operating Systems and Systems Programming Lecture 1 What is an Operating System August 27th 2008 Prof John Kubiatowicz http inst eecs berkeley edu cs162 Who am I Alewife Professor John Kubiatowicz Prof Kubi Background in Hardware Design Alewife project at MIT Designed CMMU Modified SPAR C processor Helped to write operating system Background in Operating Systems Tessellation Worked for Project Athena MIT OS Developer device drivers network file systems Worked on Clustered High Availability systems CLAM Associates OS lead researcher for the new Berkeley PARLab Tessellation OS More later Peer to Peer Quantum Computing 8 27 08 Well this is just cool but probably not apropos Kubiatowicz CS162 UCB Fall 2008 Lec 1 2 OceanStore OceanStore project Store your data for 1000 years Tapestry and Bamboo Find you data around globe Goals for Today What is an Operating System And what is it not Examples of Operating Systems design Why study Operating Systems Oh and How does this class operate Interactive is important Ask Questions Note Some slides and or pictures in the following are adapted from slides 2005 Silberschatz Galvin and Gagne Slides courtesy of Kubiatowicz AJ Shankar George Necula Alex Aiken Eric Brewer Ras Bodik Ion Stoica Doug Tygar and David Wagner 8 27 08 Kubiatowicz CS162 UCB Fall 2008 Lec 1 3 Technology Trends Moore s Law Moore s Law 2X transistors Chip Every 1 5 years Gordon Moore co founder of Intel predicted in 1965 that the transistor density of semiconductor chips would double roughly every 18 months 8 27 08 Called Moore s Law Microprocessors have become smaller denser and more powerful Kubiatowicz CS162 UCB Fall 2008 Lec 1 4 Societal Scale Information Systems The world is a large parallel system Microprocessors in everything Vast infrastructure behind them Massive Cluster Gigabit Ethernet Internet Connectivity Clusters Scalable Reliable Secure Services Databases Information Collection Remote Storage Online Games Commerce MEMS for Sensor 8 27 08 Nets Kubiatowicz CS162 UCB Fall 2008 Lec 1 5 People to Computer Ratio Over Time From David Culler Today Multiple CPUs person Approaching 100s 8 27 08 Kubiatowicz CS162 UCB Fall 2008 Lec 1 6 New Challenge Slowdown in Joy s law of Performance 3X From Hennessy and Patterson Computer Architecture A Quantitative Approach 4th edition Sept 15 2006 Sea change in chip design multiple cores or processors per chip VAX 25 year 1978 to 1986 RISC x86 52 year 1986 to 2002 RISC x86 year 2002 to present 8 27 08 Kubiatowicz CS162 UCB Fall 2008 Lec 1 7 ManyCore Chips The future is here Intel 80 core multicore chip Feb 2007 80 simple cores Two floating point engines core Mesh like network on a chip 100 million transistors 65nm feature size Frequency 3 16 GHz 5 1 GHz 5 7 GHz Voltage 0 95 V 1 2 V 1 35 V Power Bandwidth Performance 62W 1 62 Terabits s 1 01 Teraflops 175W 2 61 Terabits s 1 63 Teraflops 265W 2 92 Terabits s 1 81 Teraflops ManyCore refers to many processors chip 64 128 Hard to say exact boundary How to program these Use 2 CPUs for video audio Use 1 for word processor 1 for browser 76 for virus checking Parallelism must be CS162 exploited Kubiatowicz UCB Fall at 2008all levels Lec 1 8 8 27 08 Another Challenge Power Density Moore s Law Extrapolation Potential power density reaching amazing levels Flip side Battery life very important Moore s law can yield more functionality at equivalent or less totalKubiatowicz energy consumption CS162 UCB Fall 2008 8 27 08 Lec 1 9 Computer System Organization Computer system operation One or more CPUs device controllers connect through common bus providing access to shared memory Concurrent execution of CPUs and devices competing for memory cycles 8 27 08 Kubiatowicz CS162 UCB Fall 2008 Lec 1 10 Functionality comes with great complexity Pentium IV Chipset Proc Caches Busses Memory adapters Controllers I O Devices 8 27 08 Disks Displays Keyboards Networks Kubiatowicz CS162 UCB Fall 2008 Lec 1 11 Sample of Computer Architecture Topics Input Output and Storage Disks WORM Tape Memory Hierarchy L2 Cache VLSI L1 Cache Instruction Set Architecture Emerging Technologies Interleaving Bus protocols Coherence Bandwidth Latency Network Communication Addressing Protection Exception Handling Other Processors DRAM RAID Pipelining Hazard Resolution Pipelining and Instruction Superscalar Reordering Level Parallelism Prediction Speculation Vector Dynamic Compilation 8 27 08 Kubiatowicz CS162 UCB Fall 2008 Lec 1 12 Increasing Software Complexity 8 27 08 From MIT s 6 033 course Kubiatowicz CS162 UCB Fall 2008 Lec 1 13 Example Some Mars Rover Pathfinder Requirements Pathfinder hardware limitations complexity 20Mhz processor 128MB of DRAM VxWorks OS cameras scientific instruments batteries solar panels and locomotion equipment Many independent processes work together Can t hit reset button very easily Must reboot itself if necessary Always able to receive commands from Earth Individual Programs must not interfere Suppose the MUT Martian Universal Translator Module buggy Better not crash antenna positioning software Further all software may crash occasionally Automatic restart with diagnostics sent to Earth Periodic checkpoint of results saved Certain functions time critical Need to stop before hitting something Must track orbit of Earth for communication 8 27 08 Kubiatowicz CS162 UCB Fall 2008 Lec 1 14 How do we tame complexity Every piece of computer hardware different Different CPU Pentium PowerPC ColdFire ARM MIPS Different amounts of memory disk Different types of devices Mice Keyboards Sensors Cameras Fingerprint readers Different networking environment Cable DSL Wireless Firewalls Questions Does the programmer need to write a single program that performs many independent activities Does every program have to be altered for every piece of hardware Does a faulty program crash everything Does every program have access to all hardware 8 27 08 Kubiatowicz CS162 UCB Fall 2008 Lec 1 15 OS Tool Virtual Machine Abstraction Application Operating System Virtual Machine Interface Physical Machine Interface Hardware Software Engineering Problem Turn hardware software quirks what programmers want need Optimize for convenience utilization security reliability etc For Any OS area e g file systems virtual memory networking scheduling What s the hardware interface physical reality What s the application interface nicer abstraction 8 27 08 Kubiatowicz CS162 UCB Fall 2008 Lec 1 16 Interfaces Provide Important Boundaries software
View Full Document
Unlocking...