Transcript 01-Intro
Course Overview
Introduction
Computer System
Structures
Operating System
Structures
Processes
Process Synchronization
Deadlocks
CPU Scheduling
© 2000 Franz Kurfess
Memory Management
Virtual Memory
File Management
Security
Networking
Distributed Systems
Case Studies
Conclusions
Introduction 1
Chapter Overview -- Introduction
Motivation
Course
Objectives
Course Prerequisites
Relevance of OS mechanisms
Scenarios
Historical Perspective
OS Examples
Course Outlook
Important Concepts and Terms
Chapter Summary
© 2000 Franz Kurfess
Introduction 2
Motivation
OS
is the “glue” between the computer system’s hardware
and the user interface and applications
OS concepts help with the understanding of a computer
system’s operation
the performance of a computer system depends as much
on the efficient implementation of OS mechanisms as on
the hardware computing power
understanding of OS internals helps with the development
of good and efficient software
the selection of a computer system for a particular task or
scenario must consider OS issues
© 2000 Franz Kurfess
Introduction 3
Objectives
appreciate
the relevance of operating systems
put operating systems in context with the overall computer
system
outline the relationships between various user activities,
and how their needs are handled by the operating system
provide an understanding for the historical development of
operating systems
identify important components of operating systems
describe methods, algorithms and data structures used in
operating systems
discuss criteria, problems and trade-offs for design
desicions
© 2000 Franz Kurfess
Introduction 4
Course Prerequisites
basic
knowledge of computer organization
CPU,
main memory, secondary storage, peripheral
devices
basic
knowledge of computer usage
operating
system (Windows, MacOS, Unix)
applications
at
least one programming language
Pascal,
data
C, C++, Java, Fortran, assembly language
structures and algorithms
array,
basic
list, tree, graph; sorting, searching, etc.
mathematics
Boolean
© 2000 Franz Kurfess
logic, binary and hexadecimal numbers
Introduction 5
What this course is not:
It
is not a course about one specific operating
system:
it
discusses general concepts
sometimes reference is made to aspects of specific OSs
as examples
It
is not an introduction on how to use certain
operating systems:
it deals with design and implementation issues of OS
concepts
sometimes features of a specific OS may be used as
examples to demonstrate the use of a method
© 2000 Franz Kurfess
Introduction 6
Where does the OS Fit?
CPU & Memory
I/O Devices
© 2000 Franz Kurfess
Hardware
[David Jones] Introduction 7
Where does the OS Fit?
System Calls
Operating System
CPU & Memory
I/O Devices
© 2000 Franz Kurfess
Hardware
[David Jones] Introduction 8
Where does the OS Fit?
Users and User Programs
System Calls
Operating System
CPU & Memory
I/O Devices
© 2000 Franz Kurfess
Hardware
[David Jones] Introduction 9
Example: Web Pages
important
aspects
Web
page design
Web site design
word processing
graphics and animation
sound and video
data base
© 2000 Franz Kurfess
Introduction 10
Web Page Design
page
layout
format,
graphic
logo,
components, arrangement on the page
elements
buttons, special effects, ...
© 2000 Franz Kurfess
Introduction 11
Web Site Design
site
structure
essential
overall
parts and their relationships
layout
format
framework (font, headers, footers,
background ...)
graphic
logo,
elements
buttons, ...
implementation
hardware,
connection
servers (Web, ftp, mail, newsgroups,...)
additional applications (data base, audio, video,
security, statistics)
© 2000 Franz Kurfess
Introduction 12
Word Processing
writing
text
formatting
auxiliary tasks
spell
& grammar checking
constructing table of contents, index, etc.
conversion
HTML,
© 2000 Franz Kurfess
to a Web-friendly format
PDF, ASCII
Introduction 13
Graphics and Animation
drawing
graphics
application of effects
developing animation
objects
involved
trajectory
changes in the objects over time
conversion
animated
© 2000 Franz Kurfess
to a Web-friendly format
GIFs, Shockwave, Java
Introduction 14
Images, Sound and Video
capturing
and recording of the material
processing
resolution,
colors, effects
editing
selection
of images, sounds, video frames
sequences
conversion
MPEG,
© 2000 Franz Kurfess
to a Web-friendly format
Quicktime (?)
Introduction 15
Data Bases
development
of the data base
elements
to be stored
entity-relationship diagram
keys
interface
to the Web
forms
via HTML, Javascript, Java
conversion to SQL, generation of the query
search and presentation of the response
© 2000 Franz Kurfess
Introduction 16
Scenario 1: Webmaster Jill
Web
master Jill works on a page that
provides access to a database containing
information about the products her company
offers
she
has a number of applications running
simultaneously, and switches back and forth
word processor
Web page design tools
graphics tool
data base
at
the same time, she tests the page she’s working
on with a Web browser
her computer is also used as Web server
© 2000 Franz Kurfess
Introduction 17
Scenario 2: Web Data Base
information
about products a company offers
many queries resulting in short responses
short CPU bursts, most of them with I/O activities to
retrieve items from the data base
http protocol is stateless
no
information is carried over between page requests of
the same user
it is difficult to predict or guess which item will be retreived
next
© 2000 Franz Kurfess
Introduction 18
Scenario 3: Intranet Image Server
central
server holding photographs of an image
agency (professional photographers)
large file size
high
resolution
millions of colors
CPU
mainly retrieves images from hard disk and
transfers them onto the network
activities during the transfer of an image are fairly
predictable
© 2000 Franz Kurfess
Introduction 19
Active Tasks
visible
to the user
word
processor, Web page design tool, graphics tool, data
base (client), browser
but also: user interface
not
visible to the user
Web
server, data base server, auxiliary user programs
but also: OS tasks administrating the available resources
© 2000 Franz Kurfess
Introduction 20
Primary User Needs
immediate
typing,
mouse movement, clicks
up-to-date
arrival
response to user actions
display of important activities
of e-mail, completion of a task
quick
switching between tasks
good performance for relevant activities
sharing of information across tasks
convenient representation of information
privacy
© 2000 Franz Kurfess
Introduction 21
Secondary User Needs
invisible
tasks should have no effect on the user’s
activities
problems with one task leave other tasks unaffected
information is stored automatically
context-dependent user interface
good resource utilization
processing
power, memory space
...
© 2000 Franz Kurfess
Introduction 22
OS Responsibilities
handle
simultaneous activities according to their
importance
allocate resources to the tasks as needed
facilitate storage of and access to information,
possibly by several tasks at the same time
protect tasks from each other
perform tasks invisible to the user in a non-obtrusive
way
© 2000 Franz Kurfess
Introduction 23
OS Requirements
quick
response to user activities
good performance
subjective
-- as perceived by the user
objective -- according to some standardized
measurements
efficient
resource utilization
protection and security
© 2000 Franz Kurfess
Introduction 24
OS Examples
MVS,
VMS
Unix
Windows
95, NT, Macintosh OS, OS/2, BeOS
VxWorks
© 2000 Franz Kurfess
Introduction 25
Historical Perspective
computer
systems
theoretical concepts
technological development
computation,
storage, input/output
commercial
use
impact on users
© 2000 Franz Kurfess
Introduction 26
19th Century
Analytical
Engine [Babbage & Lovelace, 1834]
mechanical
computing device, very limited
programmability
Boolean
algebra [Boole, 1854]
foundation
© 2000 Franz Kurfess
for the operation of digital computers
Introduction 27
1930-1944
electromechanical
computers (relays, switches)
Model
1 [Bell Labs, 1930]
Zuse-1 [Zuse, Austria/Germany, 1941]
MARK I [Aiken, Harvard Univ., 1944]
electronic
calculating device
COLOSSUS
[Turing et al, Great Britain, 1938]
used to decipher German war communications
© 2000 Franz Kurfess
Introduction 28
1944-1954
electrical
computers (tubes, CRT displays)
EDSAC
uses library of subroutines
EDVAC
[Turing et al, 1949]
[von Neumann et al., 1951]
stored program computer, von Neumann architecture
UNIVAC
I [Harvard, 1954]
IBM 650 [1954]
first computer produced in series
technology
and concepts
transistor
[Bell Labs, 1948]
assembler, compilers (Math_MATIC, Fortran)
[1954]
microprogramming [Wilkes, 1952]
© 2000 Franz Kurfess
Introduction 29
1955-1964
transistor-based
computers (monitor, keyboard)
TRIDAC
DEC
PDP-1 [1959], PDP-8 [1964]
IBM/360 [1964]
technology
and concepts
Integrated
Circuit (IC) [Noyce & Moore, 1959]
virtual memory [U. of Manchester, England, 1958]
CTSS time sharing system [Corbato, MIT, 1962]
ALGOL 58 [Bauer et al., Munich, Germany, 1958]
PL/1, APL [1964]
© 2000 Franz Kurfess
Introduction 30
1965-1974
IC-based
computers
commercial
IBM/360 family
Control
Data 6600 [1965]
supercomputer
DEC
success of mainframes
PDP-11 [1972]
minicomputer
© 2000 Franz Kurfess
Introduction 31
1965-1974 cont.
technology
and concepts
Cache
memory [Wilkes, 1965]
microprocessor Intel 4004 [Intel, 1971], Intel 8008 [Intel,
1972]
Winchester hard disk [IBM, 1973]
ARPANet [1965] Ethernet [Xeroc, 1973]
BASIC [1965], Simula [Wirth, 1965], Pascal [Wirth, 1970],
C [AT&T, 1972], Smalltalk [Xerox, 1972]
OS/360 [IBM, 1966], MULTICS [MIT, 1966]
THE [TH Eindhoven, Netherlands, 1968]
layer structure, concurrent processing
Unix
[Thompson & Ritchie, AT&T, 1969]
© 2000 Franz Kurfess
Introduction 32
1975-1984
IC
and microprocessor-based computers
minicomputers
take over tasks from mainframes
Altair 8800 [1975]
hobbyist computer, Intel 8080, 1K RAM
personal
computers
Apple II, TRS 80, Commodore PET [1977]
IBM PC [1981], Compaq Portable [1982]
Apple Macintosh [1984]
DEC
VAX [1978]
workstation
graphical user interface, mouse, Ethernet, Smalltalk
Xerox Star [1981]
SUN [1984]
© 2000 Franz Kurfess
Introduction 33
1975-1984 cont.
technology
and concepts
Internet
[1983]
CP/M operating system [1977]
VMS operating system [DEC, 1978]
UNIX 3BSD [1979], SunOS [1984]
Ada [1979], Turbo Pascal [1982], Modula 2 [1982]
Visicalc [1979]
PostScript [1984]
© 2000 Franz Kurfess
Introduction 34
1985-1994
IC
and microprocessor-based computers
wide-spread
use of personal computers
work stations take over tasks from mainframes and
minicomputers
Cray-2 [1985], Connection machine [1985]
PCs based on Intel 386 [1987]
NeXT [1988]
© 2000 Franz Kurfess
Introduction 35
1985-1994 cont.
technology
and concepts
Intel
80486 [1989], Pentium [1993]
Alpha RISC chip [1992]
PowerPC [1993]
C++ [1985]
World Wide Web [Berners-Lee, 1990]
MS Windows [1985], Windows 3.0 [1990], Windows NT
[1993]
OS/2 [1987]
Sun Solaris [1992]
Motif graphical user interface [1989]
local area networks [1987]
© 2000 Franz Kurfess
Introduction 36
1995- ???
mainly
microprocessor-based computers
PDAs,
e.g. Apple Newton [1995], PalmPilot
Network Computer (NC) [Oracle, 1996]
technology
and concepts
Intel
Pentium Pro [1996]
PowerPC G3 [1997]
Windows 95
BeOS [1996]
Java [Sun, 1995]
Y2K problem [2000]
will all computing come to a halt?
© 2000 Franz Kurfess
Introduction 37
Important Concepts and Terms
application programs
CPU
computer system
graphical user interface
hardware
integrated circuit
© 2000 Franz Kurfess
operating system
processes, tasks
resources, services
software
transistor
user interface
Introduction 38
Chapter Summary
operating
systems make the raw hardware usable
for users and applications
operating systems administer the resources of a
computer system
the most visible part of an operating system is the
user interface
determines
the “look and feel” of a computer system
has a very strong influence on the performance of a
system as perceived by the user
© 2000 Franz Kurfess
Introduction 39