Download Ch 1 PowerPoint Slides

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Mobile operating system wikipedia , lookup

Security-focused operating system wikipedia , lookup

Unix security wikipedia , lookup

CP/M wikipedia , lookup

Distributed operating system wikipedia , lookup

Transcript
Slide 1-1
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-2
Introduction
Copyright © 2004 Pearson Education, Inc.
1
Operating Systems: A Modern Perspective, Chapter 1
Why Study Operating Systems?
• Understand the model of operation
– Easier to see how to use the system
– Enables you to write efficient code
• Learn to design an OS
• Even so, OS is pure overhead of real work
• Application programs have the real value to
person who buys the computer
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-3
Perspectives of the Computer
print
cut
save send
open()
malloc()
fork()
read-disk
start-printer
track-mouse
Application
Software
System
Software
Application
Software
System
Software
Application
Software
System
Software
Hardware
Hardware
Hardware
(b) Application
Programmer
View
(c) OS Programmer
View
(a) End User
View
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-4
System Software
•Independent of individual applications, but
common to all of them
•Examples
–C library functions
–A window system
–A database management system
–Resource management functions
–The OS
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-5
Slide 1-6
Using the System Software
Application
Programmer
System Software
Software API
Command
Line
Interpreter
Compiler
Loader
Libraries
Libraries
Libraries
Database
Management
System
Window
System
OS
Hardware
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Application Software, System Software, and the OS
Human-Computer Interface
Application Software
API
System Software
(More Abstract Resources)
OS Interface
Trusted OS
(Abstract Resources)
Software-Hardware Interface
Hardware Resources
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-7
The OS as Resource Manager
•Process: An executing program
•Resource: Anything that is needed for a
process to run
–Memory
–Space on a disk
–The CPU
•“An OS creates resource abstractions”
•“An OS manages resource sharing”
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-8
Resource Abstraction
Slide 1-9
load(block, length, device);
seek(device, 236);
out(device, 9)
write(char *block, int len, int device,
int track, int sector) {
...
load(block, length, device);
seek(device, 236);
out(device, 9);
...
}
write(char *block, int len, int device,int addr);
fprintf(fileID, “%d”, datum);
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Disk Abstractions
Slide 1-10
Application
Programmer
OS Programmer
void write() {
load(…);
seek(…)
out(…)
}
load(…);
seek(…);
out(…);
(a) Direct Control
Copyright © 2004 Pearson Education, Inc.
(b) write()
abstraction
Operating Systems: A Modern Perspective, Chapter 1
int fprintf(…) {
...
write(…)
…
}
(c) fprintf()
abstraction
Abstract Resources
User Interface
Application
Abstract Resources (API)
Middleware
OS Resources (OS Interface)
OS
Hardware Resources
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-11
Slide 1-12
Abstract Machines
Abstract
Machines
Idea
Program
Physical
Machine
Result
Idea
Program
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
…
Result
…
Idea
…
Program
Result
Resource Sharing
• Space- vs time-multiplexed sharing
• To control sharing, must be able to isolate
resources
• OS usually provides mechanism to isolate,
then selectively allows sharing
– How to isolate resources
– How to be sure that sharing is acceptable
• Concurrency
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-13
The OS as a Conductor
The OS coordinates the sharing and use of all the
components in the computer
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-14
Multiprogramming
Abstract
Machine Pi
Abstract
Machine Pj
Abstract
Machine Pk
…
OS Resource Sharing
Pi Memory
Pk Memory
…
Time-multiplexed
Physical Processor
Pj Memory
Space-multiplexed
Physical Memory
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-15
Slide 1-16
Multiprogramming(2)
• Technique for sharing the CPU among
runnable processes
– Process may be blocked on I/O
– Process may be blocked waiting for other
resource, including the CPU
• While one process is blocked, another might
be able to run
• Multiprogramming OS accomplishes CPU
sharing “automatically” – scheduling
• Reduces time to run all processes
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
How Multiprogramming Works
Process 1
Process 2
Process 3
Time-multiplexed CPU
Process 4
Space-multiplexed Memory
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-17
Speeding Up the Car Wash
Vacuum
Inside
Wash
(a) The Sequential Car Wash
Vacuum
Inside
Wash
Dry
(b) The Parallel Car Wash
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-18
Dry
Slide 1-19
Multiprogramming Performance
Pi’s Total Execution Time, ti
0
ti
Time
(a) Pi’s Use of Machine Resources
P1
P2
Pi
…
…
PN
Time
(a) All Processes’ Use of Machine Resources
Using the processor
I/O operation
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
OS Strategies
•
•
•
•
•
•
•
Batch processing
Timesharing
Personal computer & workstations
Process control & real-time
Network
Distributed
Small computers
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-20
Slide 1-21
Batch Processing
Job 3
Job 19
Input Spooler
Output Spooler
Output Spool
Input Spool
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Batch Processing(2)
•
•
•
•
•
•
•
Slide 1-22
Uses multiprogramming
Job (file of OS commands) prepared offline
Batch of jobs given to OS at one time
OS processes jobs one-after-the-other
No human-computer interaction
OS optimizes resource utilization
Batch processing (as an option) still used
today
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
A Shell Script Batch File
Slide 1-23
cc -g -c menu.c
cc -g -o driver driver.c menu.o
driver < test_data > test_out
lpr -PthePrinter test_out
tar cvf driver_test.tar menu.c driver.c test_data test_out
uuencode driver_test.tar driver_test.tar >driver_test.encode
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Timesharing Systems
Abstract
Machines
Result
Physical
Machine
Command
Result
…
Command
Result
Command
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-24
Timesharing Systems(2)
Slide 1-25
• Uses multiprogramming
• Support interactive computing model
(Illusion of multiple consoles)
• Different scheduling & memory allocation
strategies than batch
• Tends to propagate processes
• Considerable attention to resource isolation
(security & protection)
• Tend to optimize response time
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Personal Computers
• CPU sharing among one person’s processes
• Power of computing for personal tasks
– Graphics
– Multimedia
• Trend toward very small OS
• OS focus on resource abstraction
• Rapidly evolved to “personal multitasking”
systems
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-26
Process Control & Real-Time
• Computer is dedicated to a single purpose
• Classic embedded system
• Must respond to external stimuli in fixed
time
• Continuous media popularizing real-time
techniques
• An area of growing interest
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-27
Networks
• LAN (Local Area Network) evolution
• 3Mbps (1975)  10 Mbps (1980)  100 Mbps
(1990)  1 Gbps (2000)
• High speed communication means new way to do
computing
–
–
–
–
Shared files
Shared memory
Shared procedures/objects
???
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-28
Slide 1-29
Distributed OS
• Wave of the future
App
App
App
App
App
App
Distributed OS
Multiple Computers connected by a Network
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Small Computers
• PDAs, STBs, embedded systems became
commercially significant
• Have an OS, but
– Not general purpose
– Limited hardware resources
– Different kinds of devices
• Touch screen, no keyboard
• Graffiti
– Evolving & leading to new class of Oses
• PalmOS, Pocket PC (WinCE), VxWorks, …
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-30
Slide 1-31
Evolution of Modern OS
Timesharing
Network OS
Memory Mgmt
Scheduling
Batch
Protection
Memory Mgmt
Protection
Scheduling
Files
Devices
PC & Wkstation
Protocols
System software
Real-Time
Human-Computer
Interface
Scheduling
Small Computer
Modern OS
Copyright © 2004 Pearson Education, Inc.
Client-Server Model
Network storage,
Resource management
Operating Systems: A Modern Perspective, Chapter 1
Examples of Modern OS
• UNIX variants (e.g. Linux) -- have evolved
since 1970
• Windows NT/2K -- has evolved since 1989
(much more modern than UNIX
– Win2K = WinNT, V5
•
•
•
•
Research OSes – still evolving …
Small computer OSes – still evolving …
Book provides Linux examples
This course will use Windows NT as the
main example
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-32
The Microsoft OS Family
Win32 API
Win32 API Subset
Win32 API SubSet
Windows CE
(Pocket PC)
Windows 95/98/Me
Windows NT/2000/XP
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-33
Microsoft Windows NT
• Heavily window-oriented
• Foundation behavior is windowsindependent
– We will focus on the foundation
– Use only the “MS-DOS prompt” -- cmd.exe
OS API
NT Executive
NT Kernel
Copyright © 2004 Pearson Education, Inc.
NT User Interface
and Graphics
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-34
Windows NT (cont)
•
•
•
•
•
OS API has text orientation (like UNIX)
Object-oriented implementation
Heavy use of threads
Broad spectrum of synchronization tools
Modern I/O system
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-35
VxWorks Organization
Applications
VxWorks Runtime System
VxWorks Configurable
Core OS Extension
Wind Microkernel
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-36
Windows CE Organization
Shells and Applications
Win32 API (& Network Extensions)
Kernel
Object
Store
Network
Graphics,
and
Window Mgr,
Comm
and
Services
Event Mgr
Device Drivers
OEM Abstraction Layer
Copyright © 2004 Pearson Education, Inc.
Operating Systems: A Modern Perspective, Chapter 1
Slide 1-37