Introduction 1 © 2000 Franz Kurfess Course Overview Introduction Computer System Structures ...

39
Introduction Introduction 1 © 2000 Franz Kurfess Course 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
  • 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