Silberschatz and Galvin Chapter 1 Introduction CPSC 410--Richard - - PDF document

silberschatz and galvin
SMART_READER_LITE
LIVE PREVIEW

Silberschatz and Galvin Chapter 1 Introduction CPSC 410--Richard - - PDF document

CPSC 410-Richard Furuta Silberschatz and Galvin Chapter 1 Introduction CPSC 410--Richard Furuta 01/19/99 1 Chapter Overview What is an operating system? History of operating systems structure tradeoffs CPSC 410--Richard


slide-1
SLIDE 1

CPSC 410-Richard Furuta 01/19/99 1

CPSC 410--Richard Furuta 01/19/99 1

Silberschatz and Galvin

Chapter 1 Introduction

CPSC 410--Richard Furuta 01/19/99 2

Chapter Overview

¥ What is an operating system? ¥ History of operating systems

Ð structure Ð tradeoffs

slide-2
SLIDE 2

CPSC 410-Richard Furuta 01/19/99 2

CPSC 410--Richard Furuta 01/19/99 3

What is an Operating System?

¥ Computer system: hardware, operating system, application programs, users ¥ Computer hardware: von Neumann architecture: CPU, memory, input/output ¥ Applications programs: compilers, assemblers, text editors, utilities, etc.... ¥ Operating system: interface between hardware and applications programs

CPSC 410--Richard Furuta 01/19/99 4

Von Neumann Architecture

(From Bic and Shaw)

CPU Data bus Address bus Main Memory Controller Controller User I/O Subsystem

slide-3
SLIDE 3

CPSC 410-Richard Furuta 01/19/99 3

CPSC 410--Richard Furuta 01/19/99 5 CPSC 410--Richard Furuta 01/19/99 6

Operating System Definitions

¥ Resource allocator--manages and allocates resources ¥ Control program--controls the execution of user programs and operation of I/O devices ¥ Kernel--the one program running at all times (all else being application programs)

slide-4
SLIDE 4

CPSC 410-Richard Furuta 01/19/99 4

CPSC 410--Richard Furuta 01/19/99 7

Operating System

¥ OS balances conflicting needs of users and

  • programs. Coordinator. Permits multiple

activities to coexist in efficient and fair manner. Implements ÒpolicyÓ based on assumptions Ð Is hardware cheap or expensive? Ð Interactive response time vs. wall clock time Ð Protect users or facilitate sharing? ¥ How encompassing is OS? Kernel concept. Is CLI in OS?

CPSC 410--Richard Furuta 01/19/99 8

Historical Overview

¥ Early assumption

Ð Hardware (very!) expensive and rare when compared to people time Ð Goal: make more efficient use of hardware even at expense of personal productivity

¥ Modern assumption

Ð Hardware cheap. People are expensive.

slide-5
SLIDE 5

CPSC 410-Richard Furuta 01/19/99 5

CPSC 410--Richard Furuta 01/19/99 9

1940Õs: No operating system

¥ Programmer writes in machine language, enters program directly (e.g., switches),

  • perates computer

¥ Dedicated computer and peripherals; programmer=operator ¥ Different environments for different tasks. ¥ Manual scheduling. Organizational factors ¥ Perhaps have common subroutine library

CPSC 410--Richard Furuta 01/19/99 10

1950Õs: Simple batch processing

¥ Programmer <> Operator ¥ Resident monitor (computer program): load and run, dump if exception ¥ ÒBatchingÓ jobs (Òautomatic job sequencingÓ) ¥ JCL (Job Control Language) ¥ One job at a time but maximize hardware use: off- line operation, buffering, interrupt handling, spooling, job scheduling (e.g., by time, subsystem, etc..)

slide-6
SLIDE 6

CPSC 410-Richard Furuta 01/19/99 6

CPSC 410--Richard Furuta 01/19/99 11

JCL (Job Control Language) OS/360

//QUESTNAR JOB (204121),MARCO.POLO,MSGLEVEL=1 // EXEC ASMFCG //ASM.SYSIN DD * Program to be assembled /* //GO.OBJECT DD DSNAME=USERLIB,DISP=OLD // DD * Object deck of subroutine /* //GO.SYSPRINT DD SYSOUT=A,DCB=(BLKSIZE=133) //GO.INDATA DD DISP=OLD,UNIT=TAPE9, // DSNAME=QUEST214,VOLUME=SER=102139 //GO.SYSIN DD * Data cards, perhaps control cards for the program /*

CPSC 410--Richard Furuta 01/19/99 12

Off-line operation

¥ Load jobs into memory from tapes, not directly from cards ¥ Tape units are faster than card readers ¥ Application programs act as before ¥ Possible to use multiple reader-to-tape and tape-to-printer systems for one CPU

slide-7
SLIDE 7

CPSC 410-Richard Furuta 01/19/99 7

CPSC 410--Richard Furuta 01/19/99 13

Off-line operation

CPSC 410--Richard Furuta 01/19/99 14

Early 1960Õs: Multiprogramming and multiprocessing

¥ Multiprogramming: several users share system at same time Ð batched: keep CPU busy by switching in other work when idle (e.g., waiting for I/O) ¥ Multitasking (timesharing): frequent switches to permit interactive use (extension of multiprogramming) ¥ Multiprocessing: several processors are used on a single system

slide-8
SLIDE 8

CPSC 410-Richard Furuta 01/19/99 8

CPSC 410--Richard Furuta 01/19/99 15

Spooling

¥ Overlaps I/O of one job with computation

  • f another job.

¥ While executing a job, the OS

Ð Reads next job from card reader into storage area on disk (job queue) Ð Outputs printout of previous job from disk to printer

¥ Issue: what job to select to run next?

CPSC 410--Richard Furuta 01/19/99 16

Spooling

slide-9
SLIDE 9

CPSC 410-Richard Furuta 01/19/99 9

CPSC 410--Richard Furuta 01/19/99 17

Mid-1960Õs to mid-1970Õs: General purpose systems

¥ Large and expensive (e.g., OS/360) Ð 100kÕs of lines of code Ð hundreds to thousands of development man- years Ð complex, asynchronous, ideosyncratic to specific hardware Ð never completely debugged (1000Õs of release bugs) Ð hard to predict behavior, requires guesswork

CPSC 410--Richard Furuta 01/19/99 18

Mid-1960Õs to mid-1970Õs

¥ OS begins to be treated as subject area

Ð formerly collection of individual problems Ð basic concepts becoming standardized; theoretical underpinnings developed Ð research: concurrency, protection, scheduling (e.g., avoid thrashing), portability, maintainability (e.g., kernels) Ð research systems (e.g., Project MAC, THE)

slide-10
SLIDE 10

CPSC 410-Richard Furuta 01/19/99 10

CPSC 410--Richard Furuta 01/19/99 19

Mid 1970Õs to present

¥ Cheap hardware, very expensive people ¥ OS in support of single user or small group of cooperating users ¥ Single process support evolves to multiple process support ¥ Device independent standards; commercial, defacto, and formal (MS-DOS, Unix, POSIX, etc.) ¥ Support for window packages, etc.

CPSC 410--Richard Furuta 01/19/99 20

Two interesting special cases

¥ Distributed systems Ð tightly coupled (shared memory and clock) vs. loosely coupled (distributed) Ð issues of resource sharing, load sharing, reliability, communication ¥ Real-time systems Ð obligation to complete processing to meet defined constraints. Often conflicts with timesharing