silberschatz and galvin
play

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


  1. 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 Furuta 01/19/99 2 01/19/99 1

  2. CPSC 410-Richard Furuta 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 3 Von Neumann Architecture (From Bic and Shaw) Data bus CPU Address bus Controller Controller Main Memory User I/O Subsystem CPSC 410--Richard Furuta 01/19/99 4 01/19/99 2

  3. CPSC 410-Richard Furuta CPSC 410--Richard Furuta 01/19/99 5 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) CPSC 410--Richard Furuta 01/19/99 6 01/19/99 3

  4. CPSC 410-Richard Furuta 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 7 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. CPSC 410--Richard Furuta 01/19/99 8 01/19/99 4

  5. CPSC 410-Richard Furuta 1940Õs: No operating system ¥ Programmer writes in machine language, enters program directly (e.g., switches), operates 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 9 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..) CPSC 410--Richard Furuta 01/19/99 10 01/19/99 5

  6. CPSC 410-Richard Furuta 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 11 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 CPSC 410--Richard Furuta 01/19/99 12 01/19/99 6

  7. CPSC 410-Richard Furuta Off-line operation CPSC 410--Richard Furuta 01/19/99 13 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 CPSC 410--Richard Furuta 01/19/99 14 01/19/99 7

  8. CPSC 410-Richard Furuta Spooling ¥ Overlaps I/O of one job with computation of 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 15 Spooling CPSC 410--Richard Furuta 01/19/99 16 01/19/99 8

  9. CPSC 410-Richard Furuta 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 17 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) CPSC 410--Richard Furuta 01/19/99 18 01/19/99 9

  10. CPSC 410-Richard Furuta 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 19 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 CPSC 410--Richard Furuta 01/19/99 20 01/19/99 10

Recommend


More recommend