CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

30
CS-502 Fall 2006 Introduction 1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor

Transcript of CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

Page 1: 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

Page 2: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct 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)

Page 3: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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/

Page 4: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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

Page 5: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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)

Page 6: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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

Page 7: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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.

Page 8: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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

Page 9: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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

Page 10: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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.

Page 11: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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?

Page 12: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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– …

Page 13: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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.

Page 14: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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

Page 15: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

CS-502 Fall 2006 Introduction 15

Sample images from VolumePro

Page 16: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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• …

Page 17: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

CS-502 Fall 2006 Introduction 17

Class Discussion

What is an Operating System?

Page 18: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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

Page 19: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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!”

Page 20: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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

Page 21: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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?

Page 22: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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

Page 23: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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

Page 24: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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.

Page 25: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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

Page 26: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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

Page 27: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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 (?)

Page 28: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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

Page 29: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

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• …

Page 30: CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.

CS-502 Fall 2006 Introduction 37

Break

(next topic)