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