CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.
-
Upload
cleopatra-miles -
Category
Documents
-
view
216 -
download
0
Transcript of CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.
CS-502 Fall 2006 Introduction 1
CS-502 Operating Systems
Hugh C. LauerAdjunct Professor
CS-502 Fall 2006 Introduction 2
Why an Operating Systems course?
• WPI CS requirements – “core area” for grads• 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)
CS-502 Fall 2006 Introduction 3
Textbook and Web
• Text Book:– (required) Operating Systems Concepts, 7th
edition, by Silberschatz, Galvin, and Gagne, John Wiley and Sons, 2005
– (very useful) Linux Kernel Design, 2nd edition, by Robert Love, Novell Press, 2005
– (supplemental) Modern Operating Systems, 2nd edition, by Andrew S. Tanenbaum, Prentice Hall, 2001
• Course Information:– http://web.cs.wpi.edu/~cs502/f06/
CS-502 Fall 2006 Introduction 4
Prerequisites
• Prerequisites:– C/C++ programming– Data structures– Unix/Linux user experience and access– Computer Organization
• Reading assignment– Silbershatz Chapter 1 and §2.8
CS-502 Fall 2006 Introduction 5
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 11, 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 PM on Monday afternoons
• Contact– <Professor’s last
name> @ cs.wpi.edu– Adjunct office phone:
(508) 831-6470 (shared)
CS-502 Fall 2006 Introduction 6
Grading
• Grading– Exams & quizzes – 35%– Programming Projects (4-5) – 35%– Term Project – 15%– Class participation and written homework – 15%
• Unless otherwise noted, assignments are to be completed individually, not groups
• Late Policy – 10%/day– But contact Professor for extenuating
circumstances
• WPI Academic Honesty policy
CS-502 Fall 2006 Introduction 7
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-502 Fall 2006 Introduction 8
Programming Projects
• This term we embark on an experiment in CS-502 projects
• 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
CS-502 Fall 2006 Introduction 9
Programming Projects (continued)
• Similar to Fossil Lab• http://fossil.wpi.edu
• Shares VMware server resource in CS Dept
• However,• Does not require physical presence on campus• Does require you to install VMware client
application on your home or office PC• No Macintosh version of client is available
CS-502 Fall 2006 Introduction 10
Action items
• Sign up for CS Department logins– http://www.cs.wpi.edu/Account
• See instructions for setting up your virtual machine– See course web page for links to instructions.
• (Alternative) Acquire and install VMware Workstation at home or office– See course web page for links to instructions.
CS-502 Fall 2006 Introduction 11
Introductions
• Who are you?– Name, year, degree, major– 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?
CS-502 Fall 2006 Introduction 12
Instructor — Hugh C. LauerAdjunct 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– …
CS-502 Fall 2006 Introduction 13
Systems Experience
• 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.
CS-502 Fall 2006 Introduction 14
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• 109 Phong-illuminated samples per second
CS-502 Fall 2006 Introduction 15
Sample images from VolumePro
CS-502 Fall 2006 Introduction 16
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• …
CS-502 Fall 2006 Introduction 17
Class Discussion
What is an Operating System?
CS-502 Fall 2006 Introduction 18
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
• Also– Mediates access to
hardware devices– Provides a variety of
services to users and applications
CS-502 Fall 2006 Introduction 19
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!”
CS-502 Fall 2006 Introduction 20
What is an Operating System
Hardware Interfaces – Registers, etc.
OS Kernel
Prog. Tools Services UI/Shell
XYZ Office Media Player Business Appl.
CPU I/O Controllers
Traditional
OS
Practical
OS
CS-502 Fall 2006 Introduction 21
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-502 Fall 2006 Introduction 22
Operating Systems
• Large, complex programs• Typically
– Long-lived– Frequently extended and updated– Worked on by a number of 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
CS-502 Fall 2006 Introduction 23
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-502 Fall 2006 Introduction 24
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 off-line
• Output to tape is punched and/or printed off-line
• Typical university computing centers
– IBM 7090, Univac, etc.
CS-502 Fall 2006 Introduction 25
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-502 Fall 2006 Introduction 26
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
CS-502 Fall 2006 Introduction 27
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-502 Fall 2006 Introduction 28
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
CS-502 Fall 2006 Introduction 29
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• …
CS-502 Fall 2006 Introduction 37
Break
(next topic)