Presentation is loading. Please wait.

Presentation is loading. Please wait.

IntroductionCS-502 Fall 20071 CS-502 Operating Systems Fall 2007 Hugh C. Lauer Adjunct Professor.

Similar presentations


Presentation on theme: "IntroductionCS-502 Fall 20071 CS-502 Operating Systems Fall 2007 Hugh C. Lauer Adjunct Professor."— Presentation transcript:

1 IntroductionCS-502 Fall 20071 CS-502 Operating Systems Fall 2007 Hugh C. Lauer Adjunct Professor

2 IntroductionCS-502 Fall 20072 Outline for Today Logistics and Details of this Course Introductions Discussion – What is an Operating System? Introduction to Concurrency Project Assignment Virtual Machines Term Project Assignment

3 IntroductionCS-502 Fall 20073 Why an Operating Systems course? WPI CS requirements “Core area” for both grads and undergrads Understanding of inner workings of “systems” Exposure to diversity of operating systems OS-related assignments you may see in real life:– “Design and develop an operating system to do THIS” (not probable) “Select an operating system for a product that will do THAT” (probable) “Design and develop this application on THAT system to exploit its special features” (likely)

4 IntroductionCS-502 Fall 20074 This Course One 3-hour class per week, 14 weeks September 10 – December 10 No break during Thanksgiving week Concentrated reading and project work No time to take another course while holding a full-time job!

5 IntroductionCS-502 Fall 20075 Textbook and Web Text Book: –(required) Operating Systems Concepts, 7 th edition, by Silberschatz, Galvin, and Gagne, John Wiley and Sons, 2005 –(required) Linux Kernel Design, 2 nd edition, by Robert Love, Novell Press, 2005 –(supplemental) Modern Operating Systems, 2 nd edition, by Andrew S. Tanenbaum, Prentice Hall, 2001 Course Information: –http://web.cs.wpi.edu/~cs502/f07/http://web.cs.wpi.edu/~cs502/f07/

6 IntroductionCS-502 Fall 20076 Prerequisites Prerequisites: –C/C++ programming –Data structures –Unix/Linux user experience and access –Computer Organization Reading assignment –Silbershatz Chapters 1 and 2 Especially §2.8 about virtual machines

7 IntroductionCS-502 Fall 20077 More on Prerequisites No time to try to “pick up” C programming Java-only programmers will find it challenging C++-only programmers may also find it challenging Time required 15+ hours per week average, 14 weeks total 3 graduate courses per term is normal load for full time student Computing resources required Modern PC or Mac with > 8 gigabytes of free disk space Ability to install VMware Player software 2 nd best: install client software to access VMware Server on CS Department machines

8 IntroductionCS-502 Fall 20078 Schedule & Logistics Schedule –Fuller Labs – Room 320 –6:00 PM to 8:50 PM –Approx two 5 minute breaks around 7PM, 8PM –14 classes –No break for Thanksgiving! –Term Project & Final Exam – Monday, December 10, 2006 4-5 Programming Projects –2-3 weeks each 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, by 4:30 PM on Monday afternoons Contact – @ cs.wpi.edu –Adjunct office phone:– (508) 831-6470 (shared)

9 IntroductionCS-502 Fall 20079 Exams and Quizzes Final exam on December 10 –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 Two or more unannounced quizzes –Closed book, no notes –Calculator may be useful

10 IntroductionCS-502 Fall 200710 Grading –Exams & quizzes – ~30% –Programming Projects – ~30% –Term Project – ~20% –Class participation and written homework – ~20% Unless otherwise noted, assignments are to be completed individually, not groups Late Policy – 10% per day –But contact Professor for extenuating circumstances WPI Academic Honesty policy

11 IntroductionCS-502 Fall 200711 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 IntroductionCS-502 Fall 200712 Programming Projects Project work based on OpenSUSE Linux 10.2 Each student will get a “virtual machine” What is a virtual machine? ( §2.8 in Silbershatz) Build, modify, install Linux kernel on your virtual machine Debug, analyze, crash Restore, try again

13 IntroductionCS-502 Fall 200713 Programming Projects (continued) Similar to Fossil Lab http://fossil.wpi.edu However, Does not require physical presence on campus Does require you to install VMware software on your home or office PC

14 IntroductionCS-502 Fall 200714 Ways to Use your Virtual Machine Use VMware Player (or other VMware software) on your own PC –See DVD and handout for instructions. Use CS Department server –Sign up for login ID at http://www.cs.wpi.edu/Accounthttp://www.cs.wpi.edu/Account –Instructions to follow Macintosh Parallels –See instructor

15 IntroductionCS-502 Fall 200715 Questions?

16 IntroductionCS-502 Fall 200716 Outline for Today Logistics and Details of this Course Introductions Discussion – What is an Operating System? Introduction to Concurrency Project Assignment Virtual Machines Term Project Assignment

17 IntroductionCS-502 Fall 200717 Introductions Who are you? –Name, year, major and/or degree program –Full time student? Work experience in computing, etc.? Employer? C & C++ experience –Other programming experience Previous degree and where Why CS502– Operating Systems? Anything else relevant?

18 IntroductionCS-502 Fall 200718 Instructor — Hugh C. Lauer Adjunct Professor Ph. D. Carnegie-Mellon 1972-73 –Dissertation “Correctness in Operating Systems” Lecturer: University of Newcastle upon Tyne, UK Approximately 30 years in industry in USA Research topics –Operating Systems –Proofs of Correctness –Computer Architecture –Networks and Distributed Computing –Real-time networking –3D Volume Rendering –Surgical Simulation and Navigation –…

19 IntroductionCS-502 Fall 200719 Systems Experience IBM Corporation University of Newcastle 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. Dimensions Imaging, Inc. (new start-up)

20 IntroductionCS-502 Fall 200720 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

21 IntroductionCS-502 Fall 200721 Sample images from VolumePro

22 IntroductionCS-502 Fall 200722 Operating Systems I have known IBSYS (IBM 7090) OS/360 (IBM 360) TSS/360 (360 mod 67) Michigan Terminal System (MTS) CP/CMS & VM 370 MULTICS (GE 645) Alto (Xerox PARC) Pilot (Xerox STAR) CP/M MACH Apollo DOMAIN Unix (System V & BSD) Apple Mac (v.1 – v.9) MS-DOS Windows NT, 2000, XP various embedded systems …

23 IntroductionCS-502 Fall 200723 Other Two seminal contributions to computer science Duality hypothesis for operating system structures (with Roger Needham) First realization of opaque types in type-safe programming languages (with Ed Satterthwaite) 21 US patents issued Computer architecture Software reliability Networks Computer graphics & volume rendering

24 IntroductionCS-502 Fall 200724 Outline for Today Logistics and Details of this Course Introductions Discussion – What is an Operating System? Introduction to Concurrency Project Assignment Virtual Machines Term Project Assignment

25 IntroductionCS-502 Fall 200725 Class Discussion What is an Operating System? (Laptops closed, please!)

26 IntroductionCS-502 Fall 200726 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 –…–…

27 IntroductionCS-502 Fall 200727 Definition – Abstraction The distillation of a complex mechanism into a simple, conceptual model User of abstraction does not need to worry about details Implementer of abstraction does not need to worry about how user will use it (within limits)

28 IntroductionCS-502 Fall 200728 What is an operating system? (cont’d) Abstractions:– –Processes, threads, and concurrent computation –Virtual memory & manages memory –File system. Persistent storage of information –Sockets and connections for network communication Controls I/O & peripherals Implements security and accessibility Definition — Same as judicial definition of pornography “I cannot define it, but I sure can recognize one when I see it!”

29 IntroductionCS-502 Fall 200729 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

30 IntroductionCS-502 Fall 200730 Computer System Organization

31 IntroductionCS-502 Fall 200731 Operating System Organization Kernel System Libraries (user space) Utilities, tools, other stuff

32 IntroductionCS-502 Fall 200732 Operating System Organization (continued) Kernel System Libraries (user space) Utilities, tools, other stuff Drivers & modulesFile Systems

33 IntroductionCS-502 Fall 200733 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?

34 IntroductionCS-502 Fall 200734 Operating Systems Large, complex programs Typically –Long-lived –Frequently extended and updated –Worked on by many developers –Used and, maybe abused by a variety of users with varying expertise and expectations Essential to create an acceptable computing environment to create and execute other programs that achieve business or personal goals

35 IntroductionCS-502 Fall 200735 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

36 IntroductionCS-502 Fall 200736 Kinds of operating systems (1) Stand-alone machines – no OS –Manually scheduled “jobs,” reset between jobs –Early business computers E.g., IBM 1401/1460 –Early mini-computers E.g., PDP1, PDP5, PDP8, etc. Simple batch monitors –Simple “monitor routine” switches between jobs –Input loaded onto tape or other media off-line –Output to tape is punched and/or printed off-line –Typical university computing centers IBM 7090, Univac, etc.

37 IntroductionCS-502 Fall 200737 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

38 IntroductionCS-502 Fall 200738 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 about 1970 E.g., MULTICS, IBM 360/67, DEC PDP-10, PDP-20 –Advanced minicomputers DEC, Data General, Prime, etc. Unix

39 IntroductionCS-502 Fall 200739 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 (?)

40 IntroductionCS-502 Fall 200740 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 server systems

41 IntroductionCS-502 Fall 200741 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 –VxWorks, etc. Embedded systems –Auto ignition –Cell phone, PDA –Appliances –…–…

42 IntroductionCS-502 Fall 200742 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 Bell Labs – different goals Source code made available to Universities – BSD –Posix (start 1981) defines standard Unix system calls –AT&T licensing!

43 IntroductionCS-502 Fall 200743 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

44 IntroductionCS-502 Fall 200744 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”

45 IntroductionCS-502 Fall 200745 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

46 IntroductionCS-502 Fall 200746 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

47 IntroductionCS-502 Fall 200747 OS History – Windows NT/2000/XP Microsoft has 80% to 90% of OS market Wintel – Windows + X86 WinNT 4.x is 12 million lines of code Win2000 is 18 million lines of code Windows XP – approaching 10 8 lines of code Windows Vista – early 2007

48 IntroductionCS-502 Fall 200748 OS and Hardware OS mediates programs’ access to hardware –Computation – CPU –Storage – volatile (memory) and persistent (disk) –Networks – NIC, protocols –I/O devices – sound cards, keyboards, displays OS creates uniform abstractions –Processes –Files –Sockets –Streams

49 IntroductionCS-502 Fall 200749 Break

50 IntroductionCS-502 Fall 200750 Outline for Today Logistics and Details of this Course Introductions Discussion – What is an Operating System? Introduction to Concurrency Project Assignment Virtual Machines Term Project Assignment

51 IntroductionCS-502 Fall 200751 Outline for Today Logistics and Details of this Course Introductions Discussion – What is an Operating System? Introduction to Concurrency Project Assignment Virtual Machines Term Project Assignment

52 IntroductionCS-502 Fall 200752 Outline for Today Logistics and Details of this Course Introductions Discussion – What is an Operating System? Introduction to Concurrency Project Assignment Virtual Machines Term Project Assignment


Download ppt "IntroductionCS-502 Fall 20071 CS-502 Operating Systems Fall 2007 Hugh C. Lauer Adjunct Professor."

Similar presentations


Ads by Google