Introduction 1 © 2000 Franz Kurfess Course Overview Introduction Computer System Structures ...
-
date post
19-Dec-2015 -
Category
Documents
-
view
214 -
download
0
Transcript of Introduction 1 © 2000 Franz Kurfess Course Overview Introduction Computer System Structures ...
Introduction Introduction 11 © 2000 Franz Kurfess
Course OverviewCourse Overview Introduction Computer System
Structures Operating System
Structures Processes Process Synchronization Deadlocks CPU Scheduling
Memory Management Virtual Memory File Management Security Networking Distributed Systems Case Studies Conclusions
Introduction Introduction 22 © 2000 Franz Kurfess
Chapter Overview -- IntroductionChapter Overview -- Introduction
Motivation Course Objectives Course Prerequisites Relevance of OS mechanisms Scenarios Historical Perspective OS Examples Course Outlook Important Concepts and Terms Chapter Summary
Introduction Introduction 33 © 2000 Franz Kurfess
MotivationMotivation 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
Introduction Introduction 44 © 2000 Franz Kurfess
ObjectivesObjectives 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
Introduction Introduction 55 © 2000 Franz Kurfess
Course PrerequisitesCourse 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, C, C++, Java, Fortran, assembly language
data structures and algorithms array, list, tree, graph; sorting, searching, etc.
basic mathematics Boolean logic, binary and hexadecimal numbers
Introduction Introduction 66 © 2000 Franz Kurfess
What this course is not: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
Introduction Introduction 77 © 2000 Franz Kurfess
Where does the OS Fit?Where does the OS Fit?
HardwareCPU & MemoryI/O Devices
[David Jones]
Introduction Introduction 88 © 2000 Franz Kurfess
Where does the OS Fit?Where does the OS Fit?
HardwareCPU & MemoryI/O Devices
Operating System
System Calls
[David Jones]
Introduction Introduction 99 © 2000 Franz Kurfess
Where does the OS Fit?Where does the OS Fit?
HardwareCPU & MemoryI/O Devices
Operating System
System Calls
Users and User Programs
[David Jones]
Introduction Introduction 1010 © 2000 Franz Kurfess
Example: Web PagesExample: Web Pages
important aspects Web page design Web site design word processing graphics and animation sound and video data base
Introduction Introduction 1111 © 2000 Franz Kurfess
Web Page DesignWeb Page Design
page layout format, components, arrangement on the page
graphic elements logo, buttons, special effects, ...
Introduction Introduction 1212 © 2000 Franz Kurfess
Web Site DesignWeb Site Design site structure
essential parts and their relationships
overall layout format framework (font, headers, footers, background ...)
graphic elements logo, buttons, ...
implementation hardware, connection servers (Web, ftp, mail, newsgroups,...) additional applications (data base, audio, video,
security, statistics)
Introduction Introduction 1313 © 2000 Franz Kurfess
Word ProcessingWord Processing
writing text formatting auxiliary tasks
spell & grammar checking constructing table of contents, index, etc.
conversion to a Web-friendly format HTML, PDF, ASCII
Introduction Introduction 1414 © 2000 Franz Kurfess
Graphics and AnimationGraphics and Animation
drawing graphics application of effects developing animation
objects involved trajectory changes in the objects over time
conversion to a Web-friendly format animated GIFs, Shockwave, Java
Introduction Introduction 1515 © 2000 Franz Kurfess
Images, Sound and VideoImages, Sound and Video
capturing and recording of the material processing
resolution, colors, effects
editing selection of images, sounds, video frames sequences
conversion to a Web-friendly format MPEG, Quicktime (?)
Introduction Introduction 1616 © 2000 Franz Kurfess
Data BasesData 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
Introduction Introduction 1717 © 2000 Franz Kurfess
Scenario 1: Webmaster JillScenario 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
Introduction Introduction 1818 © 2000 Franz Kurfess
Scenario 2: Web Data BaseScenario 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
Introduction Introduction 1919 © 2000 Franz Kurfess
Scenario 3: Intranet Image ServerScenario 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
Introduction Introduction 2020 © 2000 Franz Kurfess
Active TasksActive Tasks
visible to the user word processor, Web page design tool, graphics tool, data
base (client), browserbut also: user interface
not visible to the user Web server, data base server, auxiliary user programs
but also: OS tasks administrating the available resources
Introduction Introduction 2121 © 2000 Franz Kurfess
Primary User NeedsPrimary User Needs
immediate response to user actions typing, mouse movement, clicks
up-to-date display of important activities arrival 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
Introduction Introduction 2222 © 2000 Franz Kurfess
Secondary User NeedsSecondary 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
...
Introduction Introduction 2323 © 2000 Franz Kurfess
OS ResponsibilitiesOS 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
Introduction Introduction 2424 © 2000 Franz Kurfess
OS RequirementsOS 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
Introduction Introduction 2525 © 2000 Franz Kurfess
OS ExamplesOS Examples
MVS, VMS Unix Windows 95, NT, Macintosh OS, OS/2, BeOS VxWorks
Introduction Introduction 2626 © 2000 Franz Kurfess
Historical PerspectiveHistorical Perspective
computer systems theoretical concepts technological development
computation, storage, input/output
commercial use impact on users
Introduction Introduction 2727 © 2000 Franz Kurfess
19th Century19th Century
Analytical Engine [Babbage & Lovelace, 1834] mechanical computing device, very limited
programmability
Boolean algebra [Boole, 1854] foundation for the operation of digital computers
Introduction Introduction 2828 © 2000 Franz Kurfess
1930-19441930-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
Introduction Introduction 2929 © 2000 Franz Kurfess
1944-19541944-1954 electrical computers (tubes, CRT displays)
EDSAC [Turing et al, 1949] uses library of subroutines
EDVAC [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]
Introduction Introduction 3030 © 2000 Franz Kurfess
1955-19641955-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]
Introduction Introduction 3131 © 2000 Franz Kurfess
1965-19741965-1974
IC-based computers commercial success of mainframes
IBM/360 family
Control Data 6600 [1965] supercomputer
DEC PDP-11 [1972] minicomputer
Introduction Introduction 3232 © 2000 Franz Kurfess
1965-1974 cont.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]
Introduction Introduction 3333 © 2000 Franz Kurfess
1975-19841975-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]
Introduction Introduction 3434 © 2000 Franz Kurfess
1975-1984 cont.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]
Introduction Introduction 3535 © 2000 Franz Kurfess
1985-19941985-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]
Introduction Introduction 3636 © 2000 Franz Kurfess
1985-1994 cont.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]
Introduction Introduction 3737 © 2000 Franz Kurfess
1995- ???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?
Introduction Introduction 3838 © 2000 Franz Kurfess
Important Concepts and TermsImportant Concepts and Terms application programs CPU computer system graphical user interface hardware integrated circuit
operating system processes, tasks resources, services software transistor user interface
Introduction Introduction 3939 © 2000 Franz Kurfess
Chapter SummaryChapter 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