SlideShare a Scribd company logo
1 of 52
Download to read offline
Introduction
CS-3013 A-term 2009 1
CS-3013
Operating Systems
A-term 2009
(Slides include materials from Modern Operating Systems, 3rd ed., by Andrew Tanenbaum and from
Operating System Concepts, 7th ed., by Silbershatz, Galvin, & Gagne)
Introduction
CS-3013 A-term 2009 2
Why an Operating Systems course?
• WPI requirements
• Core area for Computer Science grads and undergrads
• Diversity requirement for ECE and other programs
• Understanding “systems”
• Inner workings of software underpinnings of everything else
• Diversity of operating systems
• OS-related assignments you may see in real life:–
• “Design and develop an operating system to do THIS” (not
very likely)
• “Design and develop this application on THAT system to
exploit its special features” (likely)
• “Select an operating system for an application that will do
THAT” (possible)
Introduction
CS-3013 A-term 2009 3
This Course
• Two 2-hour classes per week, 7 weeks
• 8:00 AM to 9:50 AM, Tuesdays and Fridays
• August 28 – October 13
• (Nearly) identical to first half of CS-502
• First graduate course in Operating Systems
• Concentrated reading and project work
• Project work inside Linux kernel
Introduction
CS-3013 A-term 2009 4
Textbook and Web
• Textbook:
– (required) Modern Operating Systems, 3rd
edition, by Andrew S. Tanenbaum, Pearson
Prentice-Hall, 2008
– No older editions!
– (required) Linux Kernel Design, 2nd edition, by
Robert Love, Novell Press, 2005
• Course Information:
– http://www.cs.wpi.edu/~cs3013/a09/
Introduction
CS-3013 A-term 2009 5
Prerequisites
• Prerequisites:
– C/C++ programming
• Especially a low-level language such as C
– Data structures
– Computer Organization
– Unix/Linux user experience and access
• Reading assignment
– Tanenbaum Chapter 1
• Quiz on Chapter 1 Friday, September 4, 8:00 AM
Introduction
CS-3013 A-term 2009 6
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
• It is nearly impossible to succeed in the projects if you don’t
know how to use pointers, malloc(), and free() in C
• Time required
• 17+ hours per week average, 7 weeks total
• Computing resources
• Fossil Lab
• Room B17, Fuller
• ID card operates lock; separate login account and password
• Web-based Turnin system for projects
Introduction
CS-3013 A-term 2009 7
Schedule & Logistics
• Schedule
– Fuller Labs – Room 320
– 8:00 AM to 9:50 AM
– One 5 minute break
– 14 classes
– One final exam
– Several quizzes during the term,
possibly unannounced.
• ~4 Programming Projects
– 1week each except last one
• Mobile Phones, pagers and other
similar devices OFF during
class
• Avoid food and drink in class
• Office Hours
– by appointment or immediately
after class
– Fridays noon–1:00PM
• Contacts
– <Professor’s last name> @
cs.wpi.edu
– Fuller 144:– (508) 831-5493
• Class e-mail lists
– cs3013-all or cs3013-staff @
same domain
• Teaching assistants
– Thangam V. Seenivasan
Jia Wang
– Office hours in Fossil Lab
Introduction
CS-3013 A-term 2009 8
Tanenbaum Textbook
• This course covers in depth
• Chapter 2 – Processes, threads, and synchronization
• Chapter 3 – Virtual memory
• Chapter 5 – Input/Output
• In addition, you are responsible for
• Chapter 1 – Introduction
• Chapter 11 – Case Study: Windows Vista
• Both will be covered in quizzes or Final Exam
Introduction
CS-3013 A-term 2009 9
Tanenbaum Textbook (continued)
• CS-4513, Distributed Systems covers
• Chapter 4:– File Systems
• Chapter 8:– Multiple-processor Systems (part of)
• Chapter 9:– Security
Introduction
CS-3013 A-term 2009 10
Exams and Quizzes
• Final exam, October 13, 8:00 AM
• Exam rules
– 1–1.5 hour
– May include lecture material introduced earlier that
same class
– Closed book, one 8½ x 11 sheet of prepared notes
(2 sides)
– Bring calculator
• Quizzes may be announced or unannounced
– Closed book, no notes
– Calculator may be useful
Introduction
CS-3013 A-term 2009 11
Grading
• Grading
– Exams & quizzes – 40%
– Programming Projects – 40%
– Class participation – 20%
• Optional two-person teams on some project work
• Late Policy – 10% per day
– But contact Professor for extenuating circumstances
– Rosh Hashanah occurs near a project due date!
• WPI Academic Honesty policy
Introduction
CS-3013 A-term 2009 12
More on Grading
• This is a hard course with a lot of project work.
– For some students, this is first really hard course
• It is possible to get an A if you ace the projects but do only
average on the quizzes and exams
• It is not possible to get an A if you ace the quizzes and
exams but don’t do satisfactory projects
• It is very difficult to pass if you don’t even turn in the
projects.
• No incomplete grades will be awarded.
Introduction
CS-3013 A-term 2009 13
Ground Rule #1
• 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.
Introduction
CS-3013 A-term 2009 14
Ground Rule #2
• Help each other!
• Even if a project or assignment is specified as
individual, ask your friends/colleagues about stuff
you don’t understand.
• It is a waste of your time try to figure out some
obscure detail on your own when there are lots of
resources around.
• When you have the answer, write it in your own
words (or own coding style)
Introduction
CS-3013 A-term 2009 15
Programming Projects
• Projects based on OpenSUSE Linux 11.1
• (The latest version!)
• Each student will get a “virtual machine”
• What is a virtual machine? (§1.7.5 and §8.3 in
Tanenbaum)
• Build, modify, install Linux kernel on your
virtual machine
• Debug, analyze, crash
• Restore, try again
Introduction
CS-3013 A-term 2009 16
Fossil Lab
(Free Open-Source Software Laboratory)
• Upgraded two years ago
• 30 Dell 2.4 GHz Core Duo PCs, 2 gigabytes RAM
• One Fossil server, 900+ gigabytes of user storage
• Gigabit local area network; protected from campus
• Virtual Machines
• Stored on Fossil server
• May be run on any Fossil PC
– VMware Workstation
• May be suspended, resumed, restored, etc.
Introduction
CS-3013 A-term 2009 17
What is a Virtual Machine?
• An application that simulates a computer
system with enough performance and
fidelity to mimic actual hardware
• Concept originated in 1960s, and has been
used occasionally in large systems
• Established in mainstream of enterprise
systems by VMware in early 2000s.
Introduction
CS-3013 A-term 2009 18
Virtual Machine Definitions
• Host system:– The hardware and operating
system that supports the virtualization
application
• E.g., a Windows PC in the Fossil Lab
• E.g., a departmental server
• E.g., your own PC or Mac
• Guest system:– The virtual hardware and
the operating system that is being simulated
• E.g., OpenSUSE Linux 11.1 for this course
Introduction
CS-3013 A-term 2009 19
Project Textbook (Linux)
• Preferred
– Robert Love, Linux Kernel Design, 2nd edition,
Novell Press, 2005
• Alternative
– Daniel Bovet & Marco Cesari, Understanding
the Linux Kernel, 3rd edition, O’Reilly Media,
2006
– This is denser and more encyclopedic; aimed at
professional Linux kernel developers
Introduction
CS-3013 A-term 2009 20
Questions?
Introduction
CS-3013 A-term 2009 21
Outline for Today
• Logistics and Details of this Course
• Introductions
• Discussion – What is an Operating
System?
• Project Assignment
• Virtual Machines
• Introduction to Concurrency
Introduction
CS-3013 A-term 2009 22
Getting to Know You
Introduction
CS-3013 A-term 2009 23
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
– …
Introduction
CS-3013 A-term 2009 24
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)
Introduction
CS-3013 A-term 2009 25
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
Introduction
CS-3013 A-term 2009 26
Sample images from VolumePro
Introduction
CS-3013 A-term 2009 27
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
• Linux
• …
Introduction
CS-3013 A-term 2009 28
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
Introduction
CS-3013 A-term 2009 29
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
Introduction
CS-3013 A-term 2009 30
Class Discussion
What is an Operating System?
(Laptops closed, please!)
Introduction
CS-3013 A-term 2009 31
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
– …
Introduction
CS-3013 A-term 2009 32
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)
Introduction
CS-3013 A-term 2009 33
Abstraction
The most important word in this
course!
Introduction
CS-3013 A-term 2009 34
What is an operating system? (cont’d)
• Abstractions:–
– Processes, threads, and
concurrent computation
– Virtual memory. For
managing memory
– Files. Persistent storage of
information
– Sockets & connections for
network communication
• Controls I/O & peripherals
• Implements security and
accessibility
• See §1.1 of Tanenbaum
• Definition — Same as
judicial definition of
pornography
• “I cannot define it, but I
sure can recognize one
when I see it!”
Introduction
CS-3013 A-term 2009 35
Operating Systems – a Study of Evolution
• Simple managing of time of expensive computers
• Managing concurrency between I/O and computation
… and users
… and applications
• Managing memory
• Managing files, communication, GUIs
• Creating abstractions for all of the above
• … and more!
Introduction
CS-3013 A-term 2009 36
What is an Operating System
Hardware Interfaces – Registers, etc.
OS Kernel
Prog. Tools Services UI/Shell/GUI
XYZ Office Media Player Business Appl.
Processor(s) I/O Controllers
Traditional
OS
Practical
OS
Introduction
CS-3013 A-term 2009 37
Computer System Organization
Introduction
CS-3013 A-term 2009 38
Operating System Organization
Kernel
System Libraries (user space)
Utilities, tools, Window
packages, program
management, other stuff
Drivers & modules File Systems
Introduction
CS-3013 A-term 2009 39
Major Topics in OS Courses
• 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?
• Is user interface package part of operating system?
Introduction
CS-3013 A-term 2009 40
Kinds of operating systems
• See §1.4 of Tanenbaum – Operating System Zoo
– Mainframe Operating Systems
– Server Operating Systems
– Multiprocessor Operating Systems
– Personal Computer Operating Systems
– Handheld Computer Operating Systems
– Embedded Operating Systems
– Sensor Node Operating Systems
– Real-time Operating Systems
– Smart-card Operating Systems
– …
Introduction
CS-3013 A-term 2009 41
Two Important Operating Systems
• Linux — Chapter 10
• Windows — Chapter 11
• Spans PCs, servers, multiprocessors, etc.
(Skip ahead)
Introduction
CS-3013 A-term 2009 42
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!
Introduction
CS-3013 A-term 2009 43
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
Introduction
CS-3013 A-term 2009 44
OS History - Linux
• 1996, v2.0
– multiple architectures, multiple processors
– threads, memory management ….
• Gnome UI – introduced in 1999
• Recent
– V2.6 – 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”
Introduction
CS-3013 A-term 2009 45
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.0
– Win95 interface
– Graphics to kernel
– More NT licenses sold than all Unix combined
– Microkernel de-emphasized
Introduction
CS-3013 A-term 2009 46
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
Introduction
CS-3013 A-term 2009 47
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 108 lines of
code
• Windows Vista – early 2007
Introduction
CS-3013 A-term 2009 48
Windows Vista
• See Chapter 11 of Tanenbaum!
Introduction
CS-3013 A-term 2009 49
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
Introduction
CS-3013 A-term 2009 50
Abstraction
The most important word in this
course!
Introduction
CS-3013 A-term 2009 51
Four fundamental Abstractions
• Processes & threads
• This course (Tanenbaum, Chapter 2)
• Virtual memory
• This course (Tanenbaum, Chapter 3)
• Files & persistent storage
• CS-4513 Distributed Systems (Tanenbaum, Chapter 4)
• Sockets & connections
• CS-4514, Computer Networks
Introduction
CS-3013 A-term 2009 52
Break
(a) Fill out questionnaire
(b) Get Fossil password

More Related Content

Similar to 009978776.pdf

CS403: Operating System : Lec 3 Types of OS (1) .pptx
CS403: Operating System : Lec 3 Types of OS (1) .pptxCS403: Operating System : Lec 3 Types of OS (1) .pptx
CS403: Operating System : Lec 3 Types of OS (1) .pptxAsst.prof M.Gokilavani
 
Radar 2009 a 0 prelude
Radar 2009 a  0 preludeRadar 2009 a  0 prelude
Radar 2009 a 0 preludeForward2025
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceAntonio García-Domínguez
 
new.deadlock.ppt
new.deadlock.pptnew.deadlock.ppt
new.deadlock.ppthalosidiq1
 
Application Virtualization, University of New Hampshire
Application Virtualization, University of New HampshireApplication Virtualization, University of New Hampshire
Application Virtualization, University of New HampshireTony Austwick
 
Introduction to oop
Introduction to oop Introduction to oop
Introduction to oop Kumar
 
Module05 arena
Module05 arenaModule05 arena
Module05 arenaBoPeng76
 
Caspar Resume EN 2009-07
Caspar Resume EN 2009-07Caspar Resume EN 2009-07
Caspar Resume EN 2009-07Caspar Zhang
 
Machine Learning Using Cloud Services
Machine Learning Using Cloud ServicesMachine Learning Using Cloud Services
Machine Learning Using Cloud ServicesSC5.io
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introductionTaymoor Nazmy
 
Autopsy 3: Free Open Source End-to-End Windows-based Digital Forensics Platform
Autopsy 3: Free Open Source End-to-End Windows-based Digital Forensics PlatformAutopsy 3: Free Open Source End-to-End Windows-based Digital Forensics Platform
Autopsy 3: Free Open Source End-to-End Windows-based Digital Forensics PlatformJason Letourneau
 
Autopsy 3: Free Open Source End-to-End Windows-based Digital Forensics Platform
Autopsy 3: Free Open Source End-to-End Windows-based Digital Forensics PlatformAutopsy 3: Free Open Source End-to-End Windows-based Digital Forensics Platform
Autopsy 3: Free Open Source End-to-End Windows-based Digital Forensics PlatformBasis Technology
 
Introduction to .NET Performance Measurement
Introduction to .NET Performance MeasurementIntroduction to .NET Performance Measurement
Introduction to .NET Performance MeasurementSasha Goldshtein
 
Practical unit testing in c & c++
Practical unit testing in c & c++Practical unit testing in c & c++
Practical unit testing in c & c++Matt Hargett
 
Emerging standards and support organizations within engineering simulation
Emerging standards and support organizations within engineering simulation Emerging standards and support organizations within engineering simulation
Emerging standards and support organizations within engineering simulation Modelon
 
BSC-Microsoft Research Center Overview
BSC-Microsoft Research Center OverviewBSC-Microsoft Research Center Overview
BSC-Microsoft Research Center OverviewMICProductivity
 
IPD Week - Technical Session - New IT Essentials 8 Technical Topics.pptx
IPD Week - Technical Session - New IT Essentials 8 Technical Topics.pptxIPD Week - Technical Session - New IT Essentials 8 Technical Topics.pptx
IPD Week - Technical Session - New IT Essentials 8 Technical Topics.pptxssuser455e28
 
Network of Electronic Self-Navigating Transports Presentation (NEST)
Network of Electronic Self-Navigating Transports Presentation (NEST)Network of Electronic Self-Navigating Transports Presentation (NEST)
Network of Electronic Self-Navigating Transports Presentation (NEST)David Wu
 

Similar to 009978776.pdf (20)

CS403: Operating System : Lec 3 Types of OS (1) .pptx
CS403: Operating System : Lec 3 Types of OS (1) .pptxCS403: Operating System : Lec 3 Types of OS (1) .pptx
CS403: Operating System : Lec 3 Types of OS (1) .pptx
 
Radar 2009 a 0 prelude
Radar 2009 a  0 preludeRadar 2009 a  0 prelude
Radar 2009 a 0 prelude
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
 
new.deadlock.ppt
new.deadlock.pptnew.deadlock.ppt
new.deadlock.ppt
 
Os(vijayanand)
Os(vijayanand)Os(vijayanand)
Os(vijayanand)
 
Application Virtualization, University of New Hampshire
Application Virtualization, University of New HampshireApplication Virtualization, University of New Hampshire
Application Virtualization, University of New Hampshire
 
Introduction to oop
Introduction to oop Introduction to oop
Introduction to oop
 
Module05 arena
Module05 arenaModule05 arena
Module05 arena
 
Caspar Resume EN 2009-07
Caspar Resume EN 2009-07Caspar Resume EN 2009-07
Caspar Resume EN 2009-07
 
Machine Learning Using Cloud Services
Machine Learning Using Cloud ServicesMachine Learning Using Cloud Services
Machine Learning Using Cloud Services
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introduction
 
BbWorld 2010 notes
BbWorld 2010 notesBbWorld 2010 notes
BbWorld 2010 notes
 
Autopsy 3: Free Open Source End-to-End Windows-based Digital Forensics Platform
Autopsy 3: Free Open Source End-to-End Windows-based Digital Forensics PlatformAutopsy 3: Free Open Source End-to-End Windows-based Digital Forensics Platform
Autopsy 3: Free Open Source End-to-End Windows-based Digital Forensics Platform
 
Autopsy 3: Free Open Source End-to-End Windows-based Digital Forensics Platform
Autopsy 3: Free Open Source End-to-End Windows-based Digital Forensics PlatformAutopsy 3: Free Open Source End-to-End Windows-based Digital Forensics Platform
Autopsy 3: Free Open Source End-to-End Windows-based Digital Forensics Platform
 
Introduction to .NET Performance Measurement
Introduction to .NET Performance MeasurementIntroduction to .NET Performance Measurement
Introduction to .NET Performance Measurement
 
Practical unit testing in c & c++
Practical unit testing in c & c++Practical unit testing in c & c++
Practical unit testing in c & c++
 
Emerging standards and support organizations within engineering simulation
Emerging standards and support organizations within engineering simulation Emerging standards and support organizations within engineering simulation
Emerging standards and support organizations within engineering simulation
 
BSC-Microsoft Research Center Overview
BSC-Microsoft Research Center OverviewBSC-Microsoft Research Center Overview
BSC-Microsoft Research Center Overview
 
IPD Week - Technical Session - New IT Essentials 8 Technical Topics.pptx
IPD Week - Technical Session - New IT Essentials 8 Technical Topics.pptxIPD Week - Technical Session - New IT Essentials 8 Technical Topics.pptx
IPD Week - Technical Session - New IT Essentials 8 Technical Topics.pptx
 
Network of Electronic Self-Navigating Transports Presentation (NEST)
Network of Electronic Self-Navigating Transports Presentation (NEST)Network of Electronic Self-Navigating Transports Presentation (NEST)
Network of Electronic Self-Navigating Transports Presentation (NEST)
 

More from KhadijaTahir29

chapter01-introductiontowindowsserver2003-090505014519-phpapp02.pdf
chapter01-introductiontowindowsserver2003-090505014519-phpapp02.pdfchapter01-introductiontowindowsserver2003-090505014519-phpapp02.pdf
chapter01-introductiontowindowsserver2003-090505014519-phpapp02.pdfKhadijaTahir29
 
lt-theoriesofintelligence-201117093932 (1).pdf
lt-theoriesofintelligence-201117093932 (1).pdflt-theoriesofintelligence-201117093932 (1).pdf
lt-theoriesofintelligence-201117093932 (1).pdfKhadijaTahir29
 

More from KhadijaTahir29 (8)

dns-approximately.pdf
dns-approximately.pdfdns-approximately.pdf
dns-approximately.pdf
 
009911554.pdf
009911554.pdf009911554.pdf
009911554.pdf
 
008094493.pdf
008094493.pdf008094493.pdf
008094493.pdf
 
chapter01-introductiontowindowsserver2003-090505014519-phpapp02.pdf
chapter01-introductiontowindowsserver2003-090505014519-phpapp02.pdfchapter01-introductiontowindowsserver2003-090505014519-phpapp02.pdf
chapter01-introductiontowindowsserver2003-090505014519-phpapp02.pdf
 
005272686.pdf
005272686.pdf005272686.pdf
005272686.pdf
 
009693652.pdf
009693652.pdf009693652.pdf
009693652.pdf
 
lt-theoriesofintelligence-201117093932 (1).pdf
lt-theoriesofintelligence-201117093932 (1).pdflt-theoriesofintelligence-201117093932 (1).pdf
lt-theoriesofintelligence-201117093932 (1).pdf
 
10658353.ppt
10658353.ppt10658353.ppt
10658353.ppt
 

Recently uploaded

Instant Issue Debit Cards - High School Spirit
Instant Issue Debit Cards - High School SpiritInstant Issue Debit Cards - High School Spirit
Instant Issue Debit Cards - High School Spiritegoetzinger
 
(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
High Class Call Girls Nashik Maya 7001305949 Independent Escort Service Nashik
High Class Call Girls Nashik Maya 7001305949 Independent Escort Service NashikHigh Class Call Girls Nashik Maya 7001305949 Independent Escort Service Nashik
High Class Call Girls Nashik Maya 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Call US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure service
Call US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure serviceCall US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure service
Call US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure servicePooja Nehwal
 
Bladex Earnings Call Presentation 1Q2024
Bladex Earnings Call Presentation 1Q2024Bladex Earnings Call Presentation 1Q2024
Bladex Earnings Call Presentation 1Q2024Bladex
 
How Automation is Driving Efficiency Through the Last Mile of Reporting
How Automation is Driving Efficiency Through the Last Mile of ReportingHow Automation is Driving Efficiency Through the Last Mile of Reporting
How Automation is Driving Efficiency Through the Last Mile of ReportingAggregage
 
call girls in Nand Nagri (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in  Nand Nagri (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in  Nand Nagri (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Nand Nagri (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
The Economic History of the U.S. Lecture 19.pdf
The Economic History of the U.S. Lecture 19.pdfThe Economic History of the U.S. Lecture 19.pdf
The Economic History of the U.S. Lecture 19.pdfGale Pooley
 
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779Delhi Call girls
 
Stock Market Brief Deck for 4/24/24 .pdf
Stock Market Brief Deck for 4/24/24 .pdfStock Market Brief Deck for 4/24/24 .pdf
Stock Market Brief Deck for 4/24/24 .pdfMichael Silva
 
Vip B Aizawl Call Girls #9907093804 Contact Number Escorts Service Aizawl
Vip B Aizawl Call Girls #9907093804 Contact Number Escorts Service AizawlVip B Aizawl Call Girls #9907093804 Contact Number Escorts Service Aizawl
Vip B Aizawl Call Girls #9907093804 Contact Number Escorts Service Aizawlmakika9823
 
Instant Issue Debit Cards - School Designs
Instant Issue Debit Cards - School DesignsInstant Issue Debit Cards - School Designs
Instant Issue Debit Cards - School Designsegoetzinger
 
Malad Call Girl in Services 9892124323 | ₹,4500 With Room Free Delivery
Malad Call Girl in Services  9892124323 | ₹,4500 With Room Free DeliveryMalad Call Girl in Services  9892124323 | ₹,4500 With Room Free Delivery
Malad Call Girl in Services 9892124323 | ₹,4500 With Room Free DeliveryPooja Nehwal
 
Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...
Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...
Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...Pooja Nehwal
 
High Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
High Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsHigh Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
High Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
20240417-Calibre-April-2024-Investor-Presentation.pdf
20240417-Calibre-April-2024-Investor-Presentation.pdf20240417-Calibre-April-2024-Investor-Presentation.pdf
20240417-Calibre-April-2024-Investor-Presentation.pdfAdnet Communications
 
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With Room...
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With Room...VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With Room...
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With Room...Suhani Kapoor
 
VIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service ThaneVIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service ThaneCall girls in Ahmedabad High profile
 

Recently uploaded (20)

Instant Issue Debit Cards - High School Spirit
Instant Issue Debit Cards - High School SpiritInstant Issue Debit Cards - High School Spirit
Instant Issue Debit Cards - High School Spirit
 
(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANIKA) Budhwar Peth Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(DIYA) Bhumkar Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
High Class Call Girls Nashik Maya 7001305949 Independent Escort Service Nashik
High Class Call Girls Nashik Maya 7001305949 Independent Escort Service NashikHigh Class Call Girls Nashik Maya 7001305949 Independent Escort Service Nashik
High Class Call Girls Nashik Maya 7001305949 Independent Escort Service Nashik
 
Call US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure service
Call US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure serviceCall US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure service
Call US 📞 9892124323 ✅ Kurla Call Girls In Kurla ( Mumbai ) secure service
 
Bladex Earnings Call Presentation 1Q2024
Bladex Earnings Call Presentation 1Q2024Bladex Earnings Call Presentation 1Q2024
Bladex Earnings Call Presentation 1Q2024
 
How Automation is Driving Efficiency Through the Last Mile of Reporting
How Automation is Driving Efficiency Through the Last Mile of ReportingHow Automation is Driving Efficiency Through the Last Mile of Reporting
How Automation is Driving Efficiency Through the Last Mile of Reporting
 
call girls in Nand Nagri (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in  Nand Nagri (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in  Nand Nagri (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Nand Nagri (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
The Economic History of the U.S. Lecture 19.pdf
The Economic History of the U.S. Lecture 19.pdfThe Economic History of the U.S. Lecture 19.pdf
The Economic History of the U.S. Lecture 19.pdf
 
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
Best VIP Call Girls Noida Sector 18 Call Me: 8448380779
 
Stock Market Brief Deck for 4/24/24 .pdf
Stock Market Brief Deck for 4/24/24 .pdfStock Market Brief Deck for 4/24/24 .pdf
Stock Market Brief Deck for 4/24/24 .pdf
 
Commercial Bank Economic Capsule - April 2024
Commercial Bank Economic Capsule - April 2024Commercial Bank Economic Capsule - April 2024
Commercial Bank Economic Capsule - April 2024
 
Vip B Aizawl Call Girls #9907093804 Contact Number Escorts Service Aizawl
Vip B Aizawl Call Girls #9907093804 Contact Number Escorts Service AizawlVip B Aizawl Call Girls #9907093804 Contact Number Escorts Service Aizawl
Vip B Aizawl Call Girls #9907093804 Contact Number Escorts Service Aizawl
 
Instant Issue Debit Cards - School Designs
Instant Issue Debit Cards - School DesignsInstant Issue Debit Cards - School Designs
Instant Issue Debit Cards - School Designs
 
Malad Call Girl in Services 9892124323 | ₹,4500 With Room Free Delivery
Malad Call Girl in Services  9892124323 | ₹,4500 With Room Free DeliveryMalad Call Girl in Services  9892124323 | ₹,4500 With Room Free Delivery
Malad Call Girl in Services 9892124323 | ₹,4500 With Room Free Delivery
 
Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...
Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...
Dharavi Russian callg Girls, { 09892124323 } || Call Girl In Mumbai ...
 
High Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
High Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsHigh Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
High Class Call Girls Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
20240417-Calibre-April-2024-Investor-Presentation.pdf
20240417-Calibre-April-2024-Investor-Presentation.pdf20240417-Calibre-April-2024-Investor-Presentation.pdf
20240417-Calibre-April-2024-Investor-Presentation.pdf
 
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With Room...
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With Room...VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With Room...
VIP Call Girls LB Nagar ( Hyderabad ) Phone 8250192130 | ₹5k To 25k With Room...
 
VIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service ThaneVIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
VIP Call Girls Thane Sia 8617697112 Independent Escort Service Thane
 

009978776.pdf

  • 1. Introduction CS-3013 A-term 2009 1 CS-3013 Operating Systems A-term 2009 (Slides include materials from Modern Operating Systems, 3rd ed., by Andrew Tanenbaum and from Operating System Concepts, 7th ed., by Silbershatz, Galvin, & Gagne)
  • 2. Introduction CS-3013 A-term 2009 2 Why an Operating Systems course? • WPI requirements • Core area for Computer Science grads and undergrads • Diversity requirement for ECE and other programs • Understanding “systems” • Inner workings of software underpinnings of everything else • Diversity of operating systems • OS-related assignments you may see in real life:– • “Design and develop an operating system to do THIS” (not very likely) • “Design and develop this application on THAT system to exploit its special features” (likely) • “Select an operating system for an application that will do THAT” (possible)
  • 3. Introduction CS-3013 A-term 2009 3 This Course • Two 2-hour classes per week, 7 weeks • 8:00 AM to 9:50 AM, Tuesdays and Fridays • August 28 – October 13 • (Nearly) identical to first half of CS-502 • First graduate course in Operating Systems • Concentrated reading and project work • Project work inside Linux kernel
  • 4. Introduction CS-3013 A-term 2009 4 Textbook and Web • Textbook: – (required) Modern Operating Systems, 3rd edition, by Andrew S. Tanenbaum, Pearson Prentice-Hall, 2008 – No older editions! – (required) Linux Kernel Design, 2nd edition, by Robert Love, Novell Press, 2005 • Course Information: – http://www.cs.wpi.edu/~cs3013/a09/
  • 5. Introduction CS-3013 A-term 2009 5 Prerequisites • Prerequisites: – C/C++ programming • Especially a low-level language such as C – Data structures – Computer Organization – Unix/Linux user experience and access • Reading assignment – Tanenbaum Chapter 1 • Quiz on Chapter 1 Friday, September 4, 8:00 AM
  • 6. Introduction CS-3013 A-term 2009 6 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 • It is nearly impossible to succeed in the projects if you don’t know how to use pointers, malloc(), and free() in C • Time required • 17+ hours per week average, 7 weeks total • Computing resources • Fossil Lab • Room B17, Fuller • ID card operates lock; separate login account and password • Web-based Turnin system for projects
  • 7. Introduction CS-3013 A-term 2009 7 Schedule & Logistics • Schedule – Fuller Labs – Room 320 – 8:00 AM to 9:50 AM – One 5 minute break – 14 classes – One final exam – Several quizzes during the term, possibly unannounced. • ~4 Programming Projects – 1week each except last one • Mobile Phones, pagers and other similar devices OFF during class • Avoid food and drink in class • Office Hours – by appointment or immediately after class – Fridays noon–1:00PM • Contacts – <Professor’s last name> @ cs.wpi.edu – Fuller 144:– (508) 831-5493 • Class e-mail lists – cs3013-all or cs3013-staff @ same domain • Teaching assistants – Thangam V. Seenivasan Jia Wang – Office hours in Fossil Lab
  • 8. Introduction CS-3013 A-term 2009 8 Tanenbaum Textbook • This course covers in depth • Chapter 2 – Processes, threads, and synchronization • Chapter 3 – Virtual memory • Chapter 5 – Input/Output • In addition, you are responsible for • Chapter 1 – Introduction • Chapter 11 – Case Study: Windows Vista • Both will be covered in quizzes or Final Exam
  • 9. Introduction CS-3013 A-term 2009 9 Tanenbaum Textbook (continued) • CS-4513, Distributed Systems covers • Chapter 4:– File Systems • Chapter 8:– Multiple-processor Systems (part of) • Chapter 9:– Security
  • 10. Introduction CS-3013 A-term 2009 10 Exams and Quizzes • Final exam, October 13, 8:00 AM • Exam rules – 1–1.5 hour – May include lecture material introduced earlier that same class – Closed book, one 8½ x 11 sheet of prepared notes (2 sides) – Bring calculator • Quizzes may be announced or unannounced – Closed book, no notes – Calculator may be useful
  • 11. Introduction CS-3013 A-term 2009 11 Grading • Grading – Exams & quizzes – 40% – Programming Projects – 40% – Class participation – 20% • Optional two-person teams on some project work • Late Policy – 10% per day – But contact Professor for extenuating circumstances – Rosh Hashanah occurs near a project due date! • WPI Academic Honesty policy
  • 12. Introduction CS-3013 A-term 2009 12 More on Grading • This is a hard course with a lot of project work. – For some students, this is first really hard course • It is possible to get an A if you ace the projects but do only average on the quizzes and exams • It is not possible to get an A if you ace the quizzes and exams but don’t do satisfactory projects • It is very difficult to pass if you don’t even turn in the projects. • No incomplete grades will be awarded.
  • 13. Introduction CS-3013 A-term 2009 13 Ground Rule #1 • 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.
  • 14. Introduction CS-3013 A-term 2009 14 Ground Rule #2 • Help each other! • Even if a project or assignment is specified as individual, ask your friends/colleagues about stuff you don’t understand. • It is a waste of your time try to figure out some obscure detail on your own when there are lots of resources around. • When you have the answer, write it in your own words (or own coding style)
  • 15. Introduction CS-3013 A-term 2009 15 Programming Projects • Projects based on OpenSUSE Linux 11.1 • (The latest version!) • Each student will get a “virtual machine” • What is a virtual machine? (§1.7.5 and §8.3 in Tanenbaum) • Build, modify, install Linux kernel on your virtual machine • Debug, analyze, crash • Restore, try again
  • 16. Introduction CS-3013 A-term 2009 16 Fossil Lab (Free Open-Source Software Laboratory) • Upgraded two years ago • 30 Dell 2.4 GHz Core Duo PCs, 2 gigabytes RAM • One Fossil server, 900+ gigabytes of user storage • Gigabit local area network; protected from campus • Virtual Machines • Stored on Fossil server • May be run on any Fossil PC – VMware Workstation • May be suspended, resumed, restored, etc.
  • 17. Introduction CS-3013 A-term 2009 17 What is a Virtual Machine? • An application that simulates a computer system with enough performance and fidelity to mimic actual hardware • Concept originated in 1960s, and has been used occasionally in large systems • Established in mainstream of enterprise systems by VMware in early 2000s.
  • 18. Introduction CS-3013 A-term 2009 18 Virtual Machine Definitions • Host system:– The hardware and operating system that supports the virtualization application • E.g., a Windows PC in the Fossil Lab • E.g., a departmental server • E.g., your own PC or Mac • Guest system:– The virtual hardware and the operating system that is being simulated • E.g., OpenSUSE Linux 11.1 for this course
  • 19. Introduction CS-3013 A-term 2009 19 Project Textbook (Linux) • Preferred – Robert Love, Linux Kernel Design, 2nd edition, Novell Press, 2005 • Alternative – Daniel Bovet & Marco Cesari, Understanding the Linux Kernel, 3rd edition, O’Reilly Media, 2006 – This is denser and more encyclopedic; aimed at professional Linux kernel developers
  • 21. Introduction CS-3013 A-term 2009 21 Outline for Today • Logistics and Details of this Course • Introductions • Discussion – What is an Operating System? • Project Assignment • Virtual Machines • Introduction to Concurrency
  • 22. Introduction CS-3013 A-term 2009 22 Getting to Know You
  • 23. Introduction CS-3013 A-term 2009 23 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 – …
  • 24. Introduction CS-3013 A-term 2009 24 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)
  • 25. Introduction CS-3013 A-term 2009 25 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
  • 26. Introduction CS-3013 A-term 2009 26 Sample images from VolumePro
  • 27. Introduction CS-3013 A-term 2009 27 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 • Linux • …
  • 28. Introduction CS-3013 A-term 2009 28 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
  • 29. Introduction CS-3013 A-term 2009 29 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
  • 30. Introduction CS-3013 A-term 2009 30 Class Discussion What is an Operating System? (Laptops closed, please!)
  • 31. Introduction CS-3013 A-term 2009 31 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 – …
  • 32. Introduction CS-3013 A-term 2009 32 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)
  • 33. Introduction CS-3013 A-term 2009 33 Abstraction The most important word in this course!
  • 34. Introduction CS-3013 A-term 2009 34 What is an operating system? (cont’d) • Abstractions:– – Processes, threads, and concurrent computation – Virtual memory. For managing memory – Files. Persistent storage of information – Sockets & connections for network communication • Controls I/O & peripherals • Implements security and accessibility • See §1.1 of Tanenbaum • Definition — Same as judicial definition of pornography • “I cannot define it, but I sure can recognize one when I see it!”
  • 35. Introduction CS-3013 A-term 2009 35 Operating Systems – a Study of Evolution • Simple managing of time of expensive computers • Managing concurrency between I/O and computation … and users … and applications • Managing memory • Managing files, communication, GUIs • Creating abstractions for all of the above • … and more!
  • 36. Introduction CS-3013 A-term 2009 36 What is an Operating System Hardware Interfaces – Registers, etc. OS Kernel Prog. Tools Services UI/Shell/GUI XYZ Office Media Player Business Appl. Processor(s) I/O Controllers Traditional OS Practical OS
  • 37. Introduction CS-3013 A-term 2009 37 Computer System Organization
  • 38. Introduction CS-3013 A-term 2009 38 Operating System Organization Kernel System Libraries (user space) Utilities, tools, Window packages, program management, other stuff Drivers & modules File Systems
  • 39. Introduction CS-3013 A-term 2009 39 Major Topics in OS Courses • 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? • Is user interface package part of operating system?
  • 40. Introduction CS-3013 A-term 2009 40 Kinds of operating systems • See §1.4 of Tanenbaum – Operating System Zoo – Mainframe Operating Systems – Server Operating Systems – Multiprocessor Operating Systems – Personal Computer Operating Systems – Handheld Computer Operating Systems – Embedded Operating Systems – Sensor Node Operating Systems – Real-time Operating Systems – Smart-card Operating Systems – …
  • 41. Introduction CS-3013 A-term 2009 41 Two Important Operating Systems • Linux — Chapter 10 • Windows — Chapter 11 • Spans PCs, servers, multiprocessors, etc. (Skip ahead)
  • 42. Introduction CS-3013 A-term 2009 42 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. Introduction CS-3013 A-term 2009 43 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. Introduction CS-3013 A-term 2009 44 OS History - Linux • 1996, v2.0 – multiple architectures, multiple processors – threads, memory management …. • Gnome UI – introduced in 1999 • Recent – V2.6 – 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. Introduction CS-3013 A-term 2009 45 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.0 – Win95 interface – Graphics to kernel – More NT licenses sold than all Unix combined – Microkernel de-emphasized
  • 46. Introduction CS-3013 A-term 2009 46 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. Introduction CS-3013 A-term 2009 47 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 108 lines of code • Windows Vista – early 2007
  • 48. Introduction CS-3013 A-term 2009 48 Windows Vista • See Chapter 11 of Tanenbaum!
  • 49. Introduction CS-3013 A-term 2009 49 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
  • 50. Introduction CS-3013 A-term 2009 50 Abstraction The most important word in this course!
  • 51. Introduction CS-3013 A-term 2009 51 Four fundamental Abstractions • Processes & threads • This course (Tanenbaum, Chapter 2) • Virtual memory • This course (Tanenbaum, Chapter 3) • Files & persistent storage • CS-4513 Distributed Systems (Tanenbaum, Chapter 4) • Sockets & connections • CS-4514, Computer Networks
  • 52. Introduction CS-3013 A-term 2009 52 Break (a) Fill out questionnaire (b) Get Fossil password