Download presentation
Presentation is loading. Please wait.
Published byBernard Goodman Modified over 9 years ago
1
CS 3013 & CS 502 Summer 2006 Course Introduction1 CS3013 & CS502 – Operating Systems Hugh C. Lauer, Ph.D. Adjunct Professor
2
CS 3013 & CS 502 Summer 2006 Course Introduction2 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
3
CS 3013 & CS 502 Summer 2006 Course Introduction3 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
4
CS 3013 & CS 502 Summer 2006 Course Introduction4 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
5
CS 3013 & CS 502 Summer 2006 Course Introduction5 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”
6
CS 3013 & CS 502 Summer 2006 Course Introduction6 Schedule & Logistics Schedule –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 If you need to eat during class –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 – @cs.wpi.edu –Adjunct office phone: (508) 831-6470 (shared)
7
CS 3013 & CS 502 Summer 2006 Course Introduction7 Textbook and Web Text Book: –Modern Operating Systems. 2nd 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/~cs502/e06/http://www.cs.wpi.edu/~cs502/e06/ –http://www.cs.wpi.edu/~cs3013/e06/http://www.cs.wpi.edu/~cs3013/e06/
8
CS 3013 & CS 502 Summer 2006 Course Introduction8 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
9
CS 3013 & CS 502 Summer 2006 Course Introduction9 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
10
CS 3013 & CS 502 Summer 2006 Course Introduction10 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
11
CS 3013 & CS 502 Summer 2006 Course Introduction11 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.
12
CS 3013 & CS 502 Summer 2006 Course Introduction12 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?
13
CS 3013 & CS 502 Summer 2006 Course Introduction13 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 –3D Volume Rendering –Surgical Simulation –…
14
CS 3013 & CS 502 Summer 2006 Course Introduction14 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 TeraRecon, Inc. SensAble Technologies, Inc.
15
CS 3013 & CS 502 Summer 2006 Course Introduction15 VolumePro™ Interactive volume rendering of 3D data such as MRI scans CT scans Seismic scans Two generations of ASICs, boards, software VolumePro 500 – 1999 VolumePro 1000 – 2001 CTO, Chief Architect of VolumePro 1000 7.5-million gate, high-performance ASIC 10 9 Phong-illuminated samples per second
16
CS 3013 & CS 502 Summer 2006 Course Introduction16 Sample images from VolumePro
17
CS 3013 & CS 502 Summer 2006 Course Introduction17 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) MACH Apollo DOMAIN Unix (System V & BSD) Apple Mac (v. 1– v. 9) CP/M MS-DOS Windows NT & 2000 various embedded systems …
18
CS 3013 & CS 502 Summer 2006 Course Introduction18 Discussion:– What is an Operating System?
19
CS 3013 & CS 502 Summer 2006 Course Introduction19 What is an Operating System? Characteristics –Large, complex set of programs –Long-lived, evolutionary –Worked on by many people over many years Functions –Creates abstractions –Multiplexes concurrent activities –Manages resources –Mediates access to hardware devices –Provides a variety of services to users and applications
20
CS 3013 & CS 502 Summer 2006 Course Introduction20 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
21
CS 3013 & CS 502 Summer 2006 Course Introduction21 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 Controls I/O Implements networking & communications Definition — Same as judicial definition of pornography “I cannot define it, but I sure can recognize one when I see it!”
22
CS 3013 & CS 502 Summer 2006 Course Introduction22 What is an Operating System Hardware Interfaces – Registers, etc. OS Kernel Prog. ToolsServicesUI/Shell XYZ OfficeMedia PlayerBusiness Appl. CPUI/O Controllers Traditional OS Practical OS
23
CS 3013 & CS 502 Summer 2006 Course Introduction23 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?
24
CS 3013 & CS 502 Summer 2006 Course Introduction24 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
25
CS 3013 & CS 502 Summer 2006 Course Introduction25 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
26
CS 3013 & CS 502 Summer 2006 Course Introduction26 Kinds of operating systems (1) Stand-alone machines – no OS per se Manually scheduled “jobs,” reset between jobs Early business computers –E.g., IBM 1401/1460 Early mini-computers –E.g., PDP1, PDP5, PDP8, etc. –But defines important abstractions Simple batch monitors 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.
27
CS 3013 & CS 502 Summer 2006 Course Introduction27 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
28
CS 3013 & CS 502 Summer 2006 Course Introduction28 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 1970s –E.g., MULTICS, IBM 360/67, DEC PDP-10, PDP-20 Advanced minicomputers –DEC, Data General, Prime, etc. –Unix
29
CS 3013 & CS 502 Summer 2006 Course Introduction29 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 (?)
30
CS 3013 & CS 502 Summer 2006 Course Introduction30 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 Multiple processor systems Beowulf clusters Unix, Solaris, HP-UX, Linux
31
CS 3013 & CS 502 Summer 2006 Course Introduction31 Kinds of operating systems (6) Real-time 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 –VxWorks, etc. Embedded systems Auto ignition Cell phone, PDA Appliances …
32
CS 3013 & CS 502 Summer 2006 Course Introduction32 OS History – Unix & Linux Unix –Descendant of MULTICS –First “C” version in 1973 (DEC PDP-11) Timesharing for < 10 users on 32K 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!
33
CS 3013 & CS 502 Summer 2006 Course Introduction33 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, v1.0 –networking (Internet) –enhanced file system –many devices, dynamic kernel modules
34
CS 3013 & CS 502 Summer 2006 Course Introduction34 OS History - Linux 1996, v2.0 –multiple architectures, multiple processors –threads, memory management …. Gnome UI – introduced in 1999 Recent –V2.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”
35
CS 3013 & CS 502 Summer 2006 Course Introduction35 OS History – Windows NT/2000/XP Key designer – David Cutler also designed VAX/VMS 1988, v1 – Win32 API “microkernel” 1990, v3.1– Server and Workstation versions 1996, v4 –Win95 interface –Graphics to kernel –More NT licenses sold than all Unix combined –Microkernel de-emphasized
36
CS 3013 & CS 502 Summer 2006 Course Introduction36 OS History – Windows NT/2000/XP Windows 2000 – NT5.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
37
CS 3013 & CS 502 Summer 2006 Course Introduction37 OS History – Windows NT/2000/XP Microsoft has 80% to 90% of OS market Wintel – Windows + Intel X86 WinNT 4.x is 12 million lines of code Win2000 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
38
CS 3013 & CS 502 Summer 2006 Course Introduction38 Break (next topic)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.