Page 1 CS162 Operating Systems and Systems Programming Lecture 3 Concurrency: Processes, Threads, and Address Spaces January 26, 2010 Ion Stoica http://inst.eecs.berkeley.edu/~cs162 Lec 3.2 1/26/10 CS162 ©UCB Spring 2010 • Developed by the research community – Based on open standard: Internet Protocol – Internet Engineering Task Force (IETF) • Technical basis for many other types of networks – Intranet: enterprise IP network • Services Provided by the Internet – Shared access to computing resources: telnet (1970’s) – Shared access to data/files: FTP, NFS, AFS (1980’s) – Communication medium over which people interact » email (1980’s), on-line chat rooms, instant messaging (1990’s) » audio, video (1990’s, early 00’s) – Medium for information dissemination » USENET (1980’s) » WWW (1990’s) » Audio, video (late 90’s, early 00’s) – replacing radio, TV? » File sharing (late 90’s, early 00’s) History Phase 4 (1988—): Internet Lec 3.3 1/26/10 CS162 ©UCB Spring 2010 Network “Cloud” Lec 3.4 1/26/10 CS162 ©UCB Spring 2010 Regional Net Regional Nets + Backbone Regional Net Regional Net Regional Net Regional Net Regional Net Backbone LAN LAN LAN LAN: Local Area NetworkPage 2 Lec 3.5 1/26/10 CS162 ©UCB Spring 2010 ISP Backbones + NAPs + ISPs ISP ISP ISP Business ISP Consumer ISP LAN LAN LAN NAP NAP Backbones Dial-up ISP: Internet Service Provide NAP: Network Access Point Lec 3.6 1/26/10 CS162 ©UCB Spring 2010 Covad Computers Inside the Core @home ISP Cingular Sprint AOL LAN LAN LAN NAP Dial-up DSL Always on NAP Cable Head Ends Cell Cell Cell Satellite Fixed Wireless Lec 3.7 1/26/10 CS162 ©UCB Spring 2010 The Morris Internet Worm (1988) • Internet worm (Self-reproducing) – Author Robert Morris, a first-year Cornell grad student – Launched close of Workday on November 2, 1988 – Within a few hours of release, it consumed resources to the point of bringing down infected machines • Techniques – Exploited UNIX networking features (remote access) – Bugs in finger (buffer overflow) and sendmail programs (debug mode allowed remote login) – Dictionary lookup-based password cracking – Grappling hook program uploaded main worm program Lec 3.8 1/26/10 CS162 ©UCB Spring 2010 LoveLetter Virus (May 2000) • E-mail message with VBScript (simplified Visual Basic) • Relies on Windows Scripting Host – Enabled by default in Win98/2000 • User clicks on attachment infected! – E-mails itself to everyone in Outlook address book – Replaces some files with a copy of itself – Searches all drives – Downloads password cracking program • 60-80% of US companies infected and 100K European serversPage 3 Lec 3.9 1/26/10 CS162 ©UCB Spring 2010 History Phase 5 (1995—): Mobile Systems • Ubiquitous Mobile Devices – Laptops, PDAs, phones – Small, portable, and inexpensive » Many computers/person! – Limited capabilities (memory, CPU, power, etc…) • Wireless/Wide Area Networking – Leveraging the infrastructure – Huge distributed pool of resources extend devices – Traditional computers split into pieces. Wireless keyboards/mice, CPU distributed, storage remote • Peer-to-peer systems – Many devices with equal responsibilities work together – Components of “Operating System” spread across globe Lec 3.10 1/26/10 CS162 ©UCB Spring 2010 Datacenter is the Computer • (From Luiz Barroso’s talk at RAD Lab 12/11) • Google program == Web search, Gmail,… • Google computer == – Thousands of computers, networking, storage • Warehouse-sized facilities and workloads may be unusual today but are likely to be more common in the next few years Lec 3.11 1/26/10 CS162 ©UCB Spring 2010 Migration of Operating-System Concepts and Features Lec 3.12 1/26/10 CS162 ©UCB Spring 2010 Implementation Issues (How is the OS implemented?) • Policy vs. Mechanism – Policy: What do you want to do? – Mechanism: How are you going to do it? – Should be separated, since both change • Algorithms used – Linear, Tree-based, Log Structured, etc… • Event models used – threads vs event loops • Backward compatability issues – Very important for Windows 2000/XP • System generation/configuration – How to make generic OS fit on specific hardwarePage 4 Lec 3.13 1/26/10 CS162 ©UCB Spring 2010 Administriva: Time for Project Signup • Section assignments are done – Watch for section assignments after the class – Attend new sections tomorrow • Project Signup: Watch “Group/Section Assignment Link” – 4-5 members to a group » Everyone in group must be able to actually attend same section – Only submit once per group! » Everyone in group must have logged into their cs162-xx accounts once before you register the group » Due Friday 1/29 by 11:59pm Section Time Location TA 101 W 10:00A-11:00A 2 Evans Matei Zaharia 102 W 2:00P-3:00P 75 Evans Andy Konwinski 103 W 3:00P-4:00P 2 Evans Ben Hindman Lec 3.14 1/26/10 CS162 ©UCB Spring 2010 Administrivia (2) • Cs162-xx accounts: – Make sure you got an account form – If you haven’t logged in yet, you need to do so • Tuesday: Start Project 1 – Go to Nachos page and start reading up – Note that all the Nachos code will be printed in your reader (TBA) Lec 3.15 1/26/10 CS162 ©UCB Spring 2010 Goals for Today • How do we provide multiprogramming? • What are Processes? • How are they related to Threads and Address Spaces? Note: Some slides and/or pictures in the following are adapted from slides ©2005 Silberschatz, Galvin, and Gagne Note: Some slides and/or pictures in the following are adapted from slides ©2005 Silberschatz, Galvin, and Gagne. Many slides generated by John Kubiatowicz. Lec 3.16 1/26/10 CS162 ©UCB Spring 2010 Concurrency • “Thread” of execution – Independent Fetch/Decode/Execute loop – Operating in some Address space • Uniprogramming: one thread at a time – MS/DOS, early Macintosh, Batch processing – Easier for operating system builder – Get rid concurrency by definition – Does this make sense for personal computers? • Multiprogramming: more than one thread at a time – Multics, UNIX/Linux, OS/2,
View Full Document