about me
play

About Me Bhuvan Urgaonkar Operating Systems Assistant Professor, - PDF document

About Me Bhuvan Urgaonkar Operating Systems Assistant Professor, CSE Operating Systems Ph.D., Sept. 2005, Univ. of Mass. Amherst CSE 411 CSE 411 Research areas Operating systems, Distributed systems, Computer networks


  1. About Me • Bhuvan Urgaonkar Operating Systems – Assistant Professor, CSE Operating Systems – Ph.D., Sept. 2005, Univ. of Mass. Amherst CSE 411 CSE 411 – Research areas • Operating systems, Distributed systems, Computer networks Introduction Introduction and Overview and Overview – Office hours: Thu 5-7 PM, or by appointment Sept. Sept. 6 2006 - Lecture 1 6 2006 - Lecture 1 – Office: 338D, IST Building – Email: bhuvan @ cse Instructor: Bhuvan Urgaonkar Instructor: Bhuvan Urgaonkar Welcome! Teaching Assistants • Yuan Fang – Office hours: M 10-11 AM, W 11.30-12.30 PM, 346D – Email: yufang @ cse Administrative Stuff • Arjun R. Nath – Office hours: Tue 5-7 PM – Email: anath @ cse 1

  2. Online Resources and Text-book Course Mailing List • Via ANGEL • Course Web page: – Use with care – http://www.cse.psu.edu/~bhuvan/teaching/fall06/411/411.html • All material will be available via ANGEL • I will send a test email, please respond to my email address if you don’t receive it by Friday – Please seek help from the TAs if needed • Textbook • Welcome to write to me or the TAs – Operating Systems Concepts, 7th ed. – Make sure to include “411” in the subject Silberschatz, Galvin, and Gagne Grading Grading • Projects will be done in groups of 2 • Quizzes (approx. one per week): 15% – One group of size 3 will be allowed if needed – If your partner drops the course … – Made available each Mon, due on Wed (midnight) • 2 Exams, each on a different subset of the material; • Written home-works (5): 15% final exam comprehensive • Projects (3): 35% • Late policy: • Exams (3): 35% – Strict deadlines for quizzes and home-works – Loss @ 20% per extra day for projects • 90+: A, 75-89: (A, B], 65-74: (B, C], … – Inform TAs well in advance if there is a real reason for a delay in – Subject to change; will not make it stricter project submission – No relative grading - relax :) – Same for conflict exams 2

  3. Grading Computing Resources • Projects • Solaris or Linux accounts for projects – 50% grade on how functional your project is • Email me or the TAs if you don’t have an – The other 50% on your write-up and presentation account or have any doubts/problems • We will give instructions on what we expect when we make the projects available • Quizzes: – Online on ANGEL – Multiple-choice, mostly Academic Honesty Assumed Background • Do all assignments on your own • First course on algorithms and data structures – Quizzes, home-works, projects • Comfortable programming in C/C++ – Comfortable with a debugger like gdb • We will use software to compare project • Preliminary understanding of computer architecture source codes – We will cover some basics in this course – Both partners on each team are expected to • Talk to me if you have doubts know everything about each project • Background poll to be turned in by next Monday 3

  4. Before We Begin … • Some advice – Speak up in class, ask questions – Attend all classes Operating Systems: • Hint: Ideas concerning homeworks, exam questions, … – Do all assignments on your own! Introduction & Background – Make good use of office hours – Bring printouts to class and take notes on them – Read text-book soon after class • Sections to read will be made available on the Web site alongside lecture notes • Even better: read before class and ask questions What is an Operating System (OS)? What is an OS • Literal meaning • There is no single truth here – Software that helps operate a computer – Our OS somewhere between these extremes • Lack of consensus on the term operate • Definition using negation • Overloaded term – Applications – Software that runs on a computer when nothing else is • Moving the burden to defining an application :) running (e.g., right after it boots up => kernel) – OS = all software minus applications • Very restrictive, what about dynamically loaded device drivers? • Helps the applications use the computer – Windows = Any other OS + Windows Media Player + … • Helps manage the resources of the computer • Very inclusive, why not everything else in the world? 4

  5. Why do we need an OS? • Why not provide this functionality in hardware? A Little Bit of History – Why this separate piece of software? The Dark Ages (1940s - 60s) 1. Single User Hardware: expensive; humans: cheap • One user at a time on console • Evolution of functionality • Computer executes one function at a time – Single user – No overlap: computation & I/O – Batch processing • User must be at console to debug – Overlap of I/O and computation Multiple users => inefficient use of machine – Multi-programming 5

  6. 2. Batch Processing 3. Overlap I/O and Computation • Execute multiple “jobs” in batch : • Before: machine waits for I/O to complete – Load program • New approach: – Run – Print results, dump machine state – Allow CPU to execute while waiting – Repeat – Add buffering • Users submit jobs (on cards or tape) • Human schedules jobs • Data fills “buffer” and then output • A program loads & runs jobs – and interrupt handling – The Operating System • I/O events trigger a signal (“interrupt”) More efficient use of machine, but still one job at a time More efficient use of machine, complicates debugging 4. Multiprogramming So what does an OS do? • Two kinds of functionality • Allow several programs to run at same time – Management of computer resources – Run one job until I/O • Sharing CPU between tasks – Run another job, etc. • Memory management • OS manages interaction between programs: – Certain services to users – Which jobs to start • Load programs, run them – Protects program’s memory from others – Decides which to resume when CPU available 6

  7. The Renaissance (1970s) OS Complexity Hardware: cheap; humans: expensive • Increased functionality & complexity • Users share system via terminals • First OS failures • The UNIX era – Multics (GE & MIT): – Multics: announced 1963, released 1969 • army of programmers, six years – OS/360 released with 1000 known bugs – UNIX: • Need to treat OS design scientifically • three guys, two years • Managing complexity becomes key to… • “Shell”: composable commands • But: response time & thrashing – Need for improved resource management The Industrial Revolution (1980s) The Modern Era (1990s-now) Hardware cheap; processing demands increasing Hardware very cheap; • “Real” operating systems on PCs humans expensive – NT (1991); Mac OS X; Linux • Widespread use of PCs • Different modalities: – IBM PC: 1981, Macintosh: 1984 • Simple OS (DOS, MacOS) – Parallel : Multiple processors, one machine – No multiprogramming, concurrency, – Distributed : Multiple networked processors memory protection, virtual memory, … – Later: networking, file-sharing, remote – Real-time : Strict or loose deadlines printing… – Sensor networks : Many small computers – GUI added to OS 7

  8. OSes Today • Active research area – Top CS conferences, several distinguished researchers/groups – Intersects with theory/algos., software engg., architecture, distrib. comp. • Major market presence – Microsoft, Apple, HP, … Outline of this Course • New environments, new devices – Web, P2P systems, Internet apps, sensor networks, mobile devices, multimedia, … • New challenges – Distributed systems, heterogeneous devices, ubiquitous computing, utility computing, mobile computing, autonomic computing Course Outline • Resource Management (and some services an OS provides to • Next time: programmers) – Background on Computer Architecture – CPU management – Memory management • Do the following this week: – I/O management (emphasis: Disk) – Reply to me/TAs if you don’t receive a “welcome” email via • Cross-cutting design considerations and techniques ANGEL by Friday – Quality-of-service/fairness, monitoring, accounting, caching, software – Take the poll on ANGEL (just 4-5 questions, no grades) design methodology, security and isolation • Advanced topics – Form project groups (2 per group) and send us email – Distributed systems – Talk to the TAs if problem with ANGEL account or with CSE Solaris/Linux accounts – Data centers, multi-media systems, real-time systems, virtual machines 8

Recommend


More recommend