ICS 143 - Introduction to Operating Systems
Download
Report
Transcript ICS 143 - Introduction to Operating Systems
Principles of
Operating Systems
Introduction and Overview
Prof. Dan Connors
Principles of Operating Systems Lecture 1
1
OS Staff
Instructor:
Prof. Dan Connors
Office: MW 12-2
CS Building 320
Email: [email protected]
Teaching Assistants:
TA Bryan Corell Email: [email protected] Principles of Operating Systems Lecture 1
2
Course logistics and details
Course Web page http://web.cs.du.edu/~dconnors/courses/comp3361
Lectures - MW 2:00-3:50
Textbook:
Operating System Concepts -- 8th Edition
Silberschatz and Galvin, Addison-Wesley Inc.
Alternate Book
Principles of Operating Systems, L.F. Bic and A.C. Shaw, Prentice-Hall/Pearson
Education, 2003. ISBN 0130266116.
Principles of Operating Systems Lecture 1
3
Course logistics and details
Homework and Assignments
~5 written homework assignments in the quarter,
and 5 programming assignments (some knowledge of
C). Late homework will not be accepted.
Tests
Midterm - date to be announced, tentatively Week 5
in class
2:00 pm - 3:50 pm
Friday
John Greene Hall
316 Mar 12, 2010 - Mar 12, 2010
Principles of Operating Systems Lecture 1
4
Grading Policy
Homework - 35%
Midterm 30% of the final grade
Final exam - 35% of the final grade
Final assignment of grades will be based on a
curve.
Principles of Operating Systems Lecture 1
5
Lecture Schedule
Week 1:
• Introduction to Operating Systems, Computer System
Structures, Operating System Structures
Week 2 : Process Management
• Processes and Threads, CPU Scheduling
Week 3: Process Management
• Process Synchronization
Week 4: Process Management
• Process Synchronization
Week 5: Storage Management
• Deadlocks
Principles of Operating Systems Lecture 1
6
Course Schedule
Week 6 - Storage Management
• Midterm exam, Memory Management
Week 7 - Storage Management
• Memory Mangement, Virtual Memory
Week 8 - I/O Systems
• Virtual Memory, Filesystem Interface,
Week 9 - Other topics
• FileSystems Implementation, I/O subsystems
Week 10 - Other topics
• Case study – UNIX, WindowsNT, course revision and summary.
Principles of Operating Systems Lecture 1
7
Introduction
What is an operating system?
Early Operating Systems
Simple Batch Systems
Multiprogrammed Batch Systems
Time-sharing Systems
Personal Computer Systems
Parallel and Distributed Systems
Real-time Systems
Principles of Operating Systems Lecture 1
8
What is an Operating System?
An OS is a program that acts an intermediary
between the user of a computer and computer
hardware.
Major cost of general purpose computing is
software.
OS simplifies and manages the complexity of running
application programs efficiently.
Principles of Operating Systems Lecture 1
9
Goals of an Operating System
Simplify the execution of user programs and
make solving user problems easier.
Use computer hardware efficiently.
Allow sharing of hardware and software resources.
Make application software portable and versatile.
Provide isolation, security and protection among
user programs.
Improve overall system reliability
error confinement, fault tolerance, reconfiguration.
Principles of Operating Systems Lecture 1
10
Why should I study Operating
Systems?
Need to understand interaction between the
hardware and applications
New applications, new hardware..
Need to understand basic principles in the design of
computer systems
efficient resource management, security, flexibility
Increasing need for specialized operating systems
e.g. embedded operating systems for devices - cell phones,
sensors and controllers
real-time operating systems - aircraft control, multimedia
services
Principles of Operating Systems Lecture 1
11
Principles of Operating Systems Lecture 1
12
Abstract View of System
User
1
compiler
User
2
assembler
User
3
...
Text editor
User
n
Database
system
System and Application Programs
Operating System
Computer
Hardware
Principles of Operating Systems Lecture 1
13
Multiprogramming
Use interrupts to run multiple programs
simultaneously
When a program performs I/O, instead of polling, execute
another program till interrupt is received.
Requires secure memory, I/O for each program.
Requires intervention if program loops
indefinitely.
Requires CPU scheduling to choose the next job
to run.
Principles of Operating Systems Lecture 1
14
Timesharing
Programs queued for execution in FIFO order.
Like multiprogramming, but timer device
interrupts after a quantum (timeslice).
Interrupted program is returned to end of FIFO
Next program is taken from head of FIFO
Control card interpreter replaced by command
language interpreter.
Principles of Operating Systems Lecture 1
15
Timesharing (cont.)
Interactive (action/response)
when OS finishes execution of one command, it seeks
the next control statement from user.
File systems
online filesystem is required for users to access data and
code.
Virtual memory
Job is swapped in and out of memory to disk.
Principles of Operating Systems Lecture 1
16
Moore’s Law- Growth in Transistor Density
Defined by Dr. Gordon Moore (Intel) in the late 1960s.
Predicts an exponential increase in component (transistor) density over time- a doubling time of 18
months.
Does not translate directly into performance or clock frequency.
Applicable to microprocessors, DRAMs, DSPs, and other microelectronics.
Transistors and Clock Rate
Processors got faster every 18 months (roughly 50% to 100%!)
Why bother with parallel programming? Just wait a year or two.
Slide Source: http://audilab.bmed.mcgill.ca/~funnell/Bacon/HW/trends.html
Current Trends
New Constraints
Power limits clock rates
Cannot squeeze more
performance from ILP (complex
cores) either!
But Moore’s Law continues!
What to do with all of those
transistors if everything else is
flat-lining?
Power Consumption is chief
concern for system architects
Power-Efficiency is the primary
concern of consumers of computer
systems!
Figure courtesy of Kunle
Olukotun, Lance Hammond, Herb
Sutter, and Burton Smith
Emerging Multicore
Processors
Processor cores
L2$
Shared
L2$
L3$
Shared
L3$
Monolithic Processor
Multicore Processors
Chip-multiprocessors (CMPs)
• Future computer systems will
integrate 10’s of multithreaded
processors on a single chip die,
resulting in 100’s of concurrent
program threads sharing system
resources
• Multiple processor cores
– Chip multiprocessor (CMP)
– Multithreaded (SMT/MT) in
each core
• Lower communication
costs
• Purpose-built low-latency
communication hardware
Processor cores
Shared
L2$
Shared
L3$
Run-time Adaptation/Optimization
Shared
L2$
Resource allocations
PMU Data
HW Alerts
Shared
L3$
On/off-line profile
Monitoring Engine
MT cores
Adjusted code
Operating
System
Static
Compiler
Dynamic
Compiler
Continuous optimization: constantly adapt system to meet
current usage requirements and system characteristics
System software continually and automatically adapt system
resource decisions and thread execution
Parallel Systems
Multiprocessor systems with more than one CPU
in close communication.
Improved Throughput, economical, increased
reliability.
Kinds:
• Vector and pipelined
• Symmetric and asymmetric multiprocessing
• Distributed memory vs. shared memory
Programming models:
• Tightly coupled vs. loosely coupled ,message-based vs. shared
variable
Principles of Operating Systems Lecture 1
23
Distributed Systems
Distribute computation among many processors.
Loosely coupled • no shared memory, various communication lines
client/server architectures
Advantages:
•
•
•
•
resource sharing
computation speed-up
reliability
communication - e.g. email
Applications - digital libraries, digital multimedia
Principles of Operating Systems Lecture 1
24
Real-time systems
Correct system function depends on timeliness
Feedback/control loops
Sensors and actuators
Hard real-time systems Failure if response time too long.
Secondary storage is limited
Soft real-time systems Less accurate if response time is too long.
Useful in applications such as multimedia, virtual reality.
Principles of Operating Systems Lecture 1
25
Virtual Machines
Logically treats hardware
and OS kernel as
hardware
processes
processes
processes
Provides interface
identical to underlying
bare hardware.
kernel kernel kernel
Virtual machine
hardware
Creates illusion of
multiple processes - each
with its own processor
and virtual memory