Sie sind auf Seite 1von 37

Slide 1-1

Copyright 2004 Pearson Education, Inc.

Slide 1-2

Introduction

Copyright 2004 Pearson Education, Inc.

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.

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.

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.

Slide 1-5

Using the System Software


Application
Programmer

System Software

Software
SoftwareAPI
API
Command
Command
Line
Line
Interpreter
Interpreter
Compiler
Compiler

Loader
Loader
Libraries
Libraries
Libraries
Libraries
Libraries
Libraries

Database
Database
Management
Management
System
System

Window
Window
System
System

OS
OS

Hardware
Copyright 2004 Pearson Education, Inc.

Slide 1-6

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.

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.

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.

Disk Abstractions

Slide 1-10

Application
Programmer
OS Programmer

load();
seek();
out();

(a) Direct Control


Copyright 2004 Pearson Education, Inc.

void write() {
load();
seek()
out()
}

(b) write()
abstraction

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.

Slide 1-11

Abstract Machines

Slide 1-12

Abstract
Machines

Idea
Program
Program

Physical
Machine

Result
Result

Idea

Program
Program

Copyright 2004 Pearson Education, Inc.

Result
Result

Idea

Program
Program

Result
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.

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.

Slide 1-14

Multiprogramming
Abstract
Machine Pi

Abstract
Machine Pj

Abstract
Machine Pk

OS Resource Sharing
PPi Memory
i Memory
PPk Memory
k Memory

Time-multiplexed
Physical Processor

PPj Memory
j Memory

Space-multiplexed
Physical Memory
Copyright 2004 Pearson Education, Inc.

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.

How Multiprogramming Works


Process 1
Process 2
Process 3

Time-multiplexed CPU
Process 4

Space-multiplexed Memory

Copyright 2004 Pearson Education, Inc.

Slide 1-17

Speeding Up the Car Wash


Vacuum
Inside

Wash

(a) The Sequential Car Wash

Vacuum
Inside
Wash
(b) The Parallel Car Wash
Copyright 2004 Pearson Education, Inc.

Dry

Slide 1-18

Dry

Slide 1-19

Multiprogramming Performance
Pis Total Execution Time, ti
0

ti

Time

(a) Pis 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.

OS Strategies

Batch processing
Timesharing
Personal computer & workstations
Process control & real-time
Network
Distributed
Small computers

Copyright 2004 Pearson Education, Inc.

Slide 1-20

Slide 1-21

Batch Processing

Job 19

Input Spooler

Input Spool
Copyright 2004 Pearson Education, Inc.

Job 3

Output Spooler

Output Spool

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.

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.

Timesharing Systems
Abstract
Machines
Result
Physical
Machine

Command

Result

Command

Result
Command
Copyright 2004 Pearson Education, Inc.

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.

Personal Computers
CPU sharing among one persons 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.

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.

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.

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.

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.

Slide 1-30

Slide 1-31

Evolution of Modern OS
Timesharing
Memory Mgmt
Scheduling
Batch
Protection
Memory Mgmt
Protection
Scheduling
Files
Devices

Network OS
PC & Wkstation
System software
Human-Computer
Interface

Protocols

Real-Time
Scheduling

Small Computer
Modern OS

Copyright 2004 Pearson Education, Inc.

Client-Server Model

Network storage,
Resource management

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.

Slide 1-32

The Microsoft OS Family


Win32
Win32API
API
Win32
Win32API
APISubset
Subset
Win32
Win32API
APISubSet
SubSet
Windows
WindowsCE
CE
(Pocket
(PocketPC)
PC)
Windows
Windows95/98/Me
95/98/Me

Windows
WindowsNT/2000/XP
NT/2000/XP

Copyright 2004 Pearson Education, Inc.

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

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.

Slide 1-35

VxWorks Organization
Applications
Applications
VxWorks
VxWorksRuntime
RuntimeSystem
System
VxWorks
VxWorksConfigurable
Configurable
Core
CoreOS
OSExtension
Extension
Wind
WindMicrokernel
Microkernel

Copyright 2004 Pearson Education, Inc.

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.

Slide 1-37

Das könnte Ihnen auch gefallen