CS 3013 CS 502 Operating Systems Hugh C
- Slides: 38
CS 3013 & CS 502 – Operating Systems Hugh C. Lauer, Ph. D. Adjunct Professor CS 3013 & CS 502 Summer 2006 Course Introduction 1
Why an Operating Systems course? • WPI CS requirements – “core area” for undergrads and grads • Understanding of inner workings of “systems” • Exposure to diversity of operating systems CS 3013 & CS 502 Summer 2006 Course Introduction 2
Combined Course • CS-3013 • Seven weeks, four 1 -hour classes per week • CS-502 • Fourteen weeks, one 3 -hour class per week • Organized for students with full-time jobs • Overlapping material • Traditionally, most CS-3013 content is covered during first 2/3 of CS-502 CS 3013 & CS 502 Summer 2006 Course Introduction 3
This course • One 4 -hour class per week – CS-3013 students: seven weeks (28 hours) • Similar level of intensity to traditional course – CS-502 students: ten weeks (40 hours) • More concentrated than fall or spring term course CS 3013 & CS 502 Summer 2006 Course Introduction 4
Prerequisites • Prerequisites: – C/C++ programming – Data structures – Unix/Linux user experience and access – Computer Organization • Reading assignment – Tanenbaum §§ 1. 0 – 1. 4 – Especially § 1. 4: “Computer Hardware Review” CS 3013 & CS 502 Summer 2006 Course Introduction 5
Schedule & Logistics • Schedule • If you need to eat during class – Fuller Labs – Room 311 – 6: 00 PM to 9: 50 PM – Approx two 5 minute breaks around 7: 20 PM, 8: 40 PM – “Final exam” – Thursday, June 29, 2006 – Final three weeks of CS-502 to be determined • Mobile Phones, pagers and other similar devices OFF during class CS 3013 & CS 502 Summer 2006 – Please be QUIET – Avoid spicy or savory aromas (pot stickers, curries, etc. ) • Office Hours – by appointment – will try to be in Adjunct Office, Fuller 239, on Thursday late afternoons • Contact – <instructor’s last name>@cs. wpi. edu – Adjunct office phone: (508) 831 -6470 (shared) Course Introduction 6
Textbook and Web • Text Book: – Modern Operating Systems. 2 nd edition, by Andrew S. Tanenbaum. Prentice Hall, 2001 – (supplementary) Operating Systems Concepts. Seventh Edition, by Silberschatz, Galvin, and Gagne. John Wiley & Sons, 2005 • Course Information: – http: //www. cs. wpi. edu/~cs 502/e 06/ – http: //www. cs. wpi. edu/~cs 3013/e 06/ CS 3013 & CS 502 Summer 2006 Course Introduction 7
Exams and Quizzes • One “final” exam on June 29 (7 th week) – 1. 5– 2. 0 hours – May include lecture material introduced earlier that same evening – Closed book, one 8½ x 11 sheet of prepared notes (2 sides) – Bring calculator • One or more unannounced quizzes – Closed book, no notes – Calculator may be useful CS 3013 & CS 502 Summer 2006 Course Introduction 8
Programming Projects • All students – Three programming projects, 2 weeks each – Submit via turnin prior to beginning of class • CS-502 students – Additional project during final three weeks – Term project to study some operating system CS 3013 & CS 502 Summer 2006 Course Introduction 9
Grading • Grading (all students) – Exams & Quizzes – 30 points – Programming Projects (3) – 50 points – Class participation – 20 points • Additional grading (CS-502 students only) – Term Project and final three weeks – 30 points • Assignments are to be completed individually, not groups – Unless otherwise specified • Late Policy – 10%/day • WPI Academic Honesty policy CS 3013 & CS 502 Summer 2006 Course Introduction 10
Ground Rule • There are no “stupid” questions. • It is a waste of your time and the class’s time to proceed when you don’t understand the basic terms. • If you don’t understand it, someone else probably doesn’t it, either. CS 3013 & CS 502 Summer 2006 Course Introduction 11
Introductions • Who are you? – Name, year, course or major – Full-time job this summer or not? – Employer, work experience in computing, etc. • C & C++ experience – Other programming experience • Previous degree and where • Why an Operating Systems course • Anything else relevant? CS 3013 & CS 502 Summer 2006 Course Introduction 12
Instructor — Hugh C. Lauer, Adjunct Professor • Ph. D. Carnegie-Mellon 1973 – Dissertation “Correctness in Operating Systems” • Lecturer: University of Newcastle upon Tyne, UK • Approximately 30 years in industry in USA • Research topics and technology specialties – – – – Operating Systems Proofs of Correctness Computer Architecture Networks and Distributed Computing Real-time networking 3 D Volume Rendering Surgical Simulation … CS 3013 & CS 502 Summer 2006 Course Introduction 13
Systems Experience • • Systems Development Corporation Xerox Corporation (Palo Alto) Software Arts, Inc. Apollo Computer Eastman Kodak Company Mitsubishi Electric Research Labs (MERL) Real-Time Visualization • Founded and spun out from MERL • Acquired by Tera. Recon, Inc. • Sens. Able Technologies, Inc. CS 3013 & CS 502 Summer 2006 Course Introduction 14
Volume. Pro™ • Interactive volume rendering of 3 D data such as • MRI scans • CT scans • Seismic scans • Two generations of ASICs, boards, software • Volume. Pro 500 – 1999 • Volume. Pro 1000 – 2001 • CTO, Chief Architect of Volume. Pro 1000 • 7. 5 -million gate, high-performance ASIC • 109 Phong-illuminated samples per second CS 3013 & CS 502 Summer 2006 Course Introduction 15
Sample images from Volume. Pro CS 3013 & CS 502 Summer 2006 Course Introduction 16
Operating Systems I have known • • IBSYS (IBM 7090) OS/360 (IBM 360) TSS/360 (360 mod 67) Michigan Terminal System CP/CMS & VM 370 MULTICS (GE 645) Alto (Xerox PARC) Pilot (Xerox STAR) CS 3013 & CS 502 Summer 2006 • • MACH Apollo DOMAIN Unix (System V & BSD) Apple Mac (v. 1– v. 9) CP/M MS-DOS Windows NT & 2000 various embedded systems • … Course Introduction 17
Discussion: – What is an Operating System? CS 3013 & CS 502 Summer 2006 Course Introduction 18
What is an Operating System? • Functions • Characteristics – Large, complex set of programs – Long-lived, evolutionary – Worked on by many people over many years CS 3013 & CS 502 Summer 2006 – Creates abstractions – Multiplexes concurrent activities – Manages resources – Mediates access to hardware devices – Provides a variety of services to users and applications Course Introduction 19
Three important terms • Abstraction • A useful, practical idealization of a very complex process or system, details of which can be ignored • Concurrency • Computational activities occurring at the same time and potentially in conflict with each other • Resource • Device, object, system, information, etc. , needed by a computation for its successful outcome CS 3013 & CS 502 Summer 2006 Course Introduction 20
What is an operating system? (cont’d) • Abstractions: – – Implements processes & threads – Implements virtual memory & manages memory – Provides interprocess communication (IPC) – Implements file system. Manages persistent storage of information • Definition — Same as judicial definition of pornography • “I cannot define it, but I sure can recognize one when I see it!” • Controls I/O • Implements networking & communications CS 3013 & CS 502 Summer 2006 Course Introduction 21
What is an Operating System XYZ Office Prog. Tools Media Player Business Appl. Services UI/Shell OS Kernel Traditional OS OS Hardware Interfaces – Registers, etc. CPU CS 3013 & CS 502 Summer 2006 I/O Controllers Course Introduction Practical 22
Major OS Issues • • • • structure: how is the OS organized? sharing: how are resources shared across users? naming: how are resources named (by users or programs)? security: how is the integrity of the OS and its resources ensured? protection: how is one user/program protected from another? performance: how do we make it all go fast? reliability: what happens if something goes wrong – hardware or software extensibility: can we add new features? communication: how do programs exchange information concurrency: how are parallel activities created and controlled? scale: what happens as demands or resources increase? persistence: how do you make data last longer than program executions? distribution: how do multiple computers interact with each other? accounting: how do we keep track of resource usage, and charge for it? CS 3013 & CS 502 Summer 2006 Course Introduction 23
Operating System • Large, complex program – In most cases, a set of programs • Typically – – Long-lived Frequently extended and updated Worked on by a number of developers Used and (perhaps) abused by a variety of users with varying expertise and expectations • Creates acceptable computing environment to develop and execute other programs that achieve business or personal goals CS 3013 & CS 502 Summer 2006 Course Introduction 24
Kinds of operating systems • • • Stand-alone machines – no OS Simple batch monitors Concurrent I/O and programs Time-sharing, multiple users, interactive Servers, non-stop systems, transaction processing PC’s, workstations Multiple processor systems Real-time systems Embedded systems CS 3013 & CS 502 Summer 2006 Course Introduction 25
Kinds of operating systems (1) • Stand-alone machines – no OS per se • Simple batch monitors • Manually scheduled “jobs, ” reset between jobs • Early business computers – E. g. , IBM 1401/1460 • Early mini-computers – E. g. , PDP 1, PDP 5, PDP 8, etc. – But defines important abstractions CS 3013 & CS 502 Summer 2006 Course Introduction • Simple “monitor routine” switches between jobs • Input loaded onto tape off-line • Output to tape is punched and/or printed off-line • Typical university computing centers – IBM 7090, Univac, etc. 26
Kinds of operating systems (2) • Concurrent I/O and programs • SPOOL-ing (Simultaneous Peripheral Operation On Line) – Allows direct input & output • Multiple programs resident in memory at once – Keeps processor busy • On-line file storage • Some support for terminals, telecommunications • Early business computers – E. g. , IBM 7070, IBM 360 & 370 • Scientific computing – E. g. , Control Data 6600, IBM 360/91 CS 3013 & CS 502 Summer 2006 Course Introduction 27
Kinds of operating systems (3) • Time-sharing, multiple users, interactive • • • Many concurrent users “logged on” Interactive editing and computing Self submission of batch jobs Protection among users, protection among jobs Fair allocation of resources • All university computing centers since mid 1970 s – E. g. , MULTICS, IBM 360/67, DEC PDP-10, PDP-20 • Advanced minicomputers – DEC, Data General, Prime, etc. – Unix CS 3013 & CS 502 Summer 2006 Course Introduction 28
Kinds of operating systems (4) • Servers, non-stop systems, transaction processing • Banking, airline reservation • Online databases • Many very short “transactions” • Tandem, Stratus, Sequoia • Unix, Linux, Solaris, HP-UX • Windows Server 2000, 2003 • Oracle, SAP (? ) CS 3013 & CS 502 Summer 2006 Course Introduction 29
Kinds of operating systems (5) • PC’s, workstations • • CP/M, DOS, MS-DOS Apollo Domain Unix, Solaris, HP-UX Mac OS Windows 95, 98, Me Windows 2000, XP Linux CS 3013 & CS 502 Summer 2006 • Multiple processor systems Course Introduction • Beowulf clusters • Unix, Solaris, HP-UX, Linux 30
Kinds of operating systems (6) • Real-time systems • Embedded systems • SAGE (North American air defense) • Process control (steel mills, refineries, etc. ) • Large and small • Computers you never heard of • Systems you never heard of • • Auto ignition Cell phone, PDA Appliances … – Vx. Works, etc. CS 3013 & CS 502 Summer 2006 Course Introduction 31
OS History – Unix & Linux • Unix – Descendant of MULTICS – First “C” version in 1973 (DEC PDP-11) • Timesharing for < 10 users on 32 K Memory • Many Unix versions at BTL – different goals • Source code made available to Universities – BSD – POSIX (started 1981) defines standard Unix system calls – AT&T licensing! CS 3013 & CS 502 Summer 2006 Course Introduction 32
OS History - Linux • Open Source – Linux. org • First Version 1991, Linus Torvalds, 80386 processor – v. 01, limited devices, no networking, – with proper Unix process support! • 1994, v 1. 0 – networking (Internet) – enhanced file system – many devices, dynamic kernel modules CS 3013 & CS 502 Summer 2006 Course Introduction 33
OS History - Linux • 1996, v 2. 0 – multiple architectures, multiple processors – threads, memory management …. • Gnome UI – introduced in 1999 • Recent – – V 2. 4 – 3 million lines of code 7 -10 million users Growth by 25%/year through 2003 Growing use in business server market • Note - Development convention – Odd numbered minor versions “development” – Even numbered minor versions “stable” CS 3013 & CS 502 Summer 2006 Course Introduction 34
OS History – Windows NT/2000/XP • Key designer – David Cutler also designed VAX/VMS • 1988, v 1 – Win 32 API “microkernel” • 1990, v 3. 1– Server and Workstation versions • 1996, v 4 – – Win 95 interface Graphics to kernel More NT licenses sold than all Unix combined Microkernel de-emphasized CS 3013 & CS 502 Summer 2006 Course Introduction 35
OS History – Windows NT/2000/XP • Windows 2000 – NT 5. 0 – Multi-user (with terminal services) – Professional - desktop – Server and Advanced Server - Client-server application servers – Datacenter Server - Up to 32 processors, 64 GB RAM • Windows XP – Windows 2000 code base – Revised UI – EOL for DOS/Windows line CS 3013 & CS 502 Summer 2006 Course Introduction 36
OS History – Windows NT/2000/XP • • • Microsoft has 80% to 90% of OS market Wintel – Windows + Intel X 86 Win. NT 4. x is 12 million lines of code Win 2000 is 18 million lines of code Windows XP • Much bigger than Windows 2000 • Impossible to tell where boundary of OS is • Comprehensive case study in Silbershatz, ch. 22 CS 3013 & CS 502 Summer 2006 Course Introduction 37
Break (next topic) CS 3013 & CS 502 Summer 2006 Course Introduction 38
- Rubrik pemarkahan
- Cs 3013
- Cs 3013
- Ley 502 nicaragua
- Single family housing section 504 repair pilot program
- 7064-502
- Product support analysis psa
- Valence electrons of oxygen
- Mgt502
- Krs156.502
- Kernel io subsystem
- 502
- Krs156.502
- 502-026-050
- Opti 502
- Ceip los almendros rivas
- Cs 502
- Cs 502
- Rank’s model of persuasion
- Who is the protagonist in the father by hugh garner
- Hugh titcomb
- Venous guttering pictures
- Hugh thistlethwaite
- Morehouse school of medicine registrar
- épreuve de hugh et leifson
- The unholy catholic
- Biography of saki
- Hugh van es
- Hugh jackman christmas kangaroo
- Hugh gusterson
- Transport appraisal guidance
- Theme of mrs packletide's tiger
- Hugh whelan
- Hugh's energy conservation
- Gabriel hugh elkaim
- Gabriel hugh elkaim
- Gabriel hugh elkaim
- Hector hugh munro full name
- Hugh hefner