Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral...

22
EEL 602 1 Introduction Reading: Silberschatz chapter 1 Additional Reading: Stallings chapter 1

Transcript of Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral...

Page 1: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 1

Introduction

Reading:Silberschatzchapter 1

Additional Reading:Stallingschapter 1

Page 2: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 2

OutlineComputer SystemWhat is an Operating SystemMainframe SystemDesktop SystemMultiprocessor SystemClustered SystemReal-Time System

Hard Real-TimeSoft Real-Time

Handheld System

Page 3: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 3

Computer System

Hardware – Basic computing resources (CPU, memory, I/O devices)Users – People, machines and other computersApplication Programs – Usage of system resources to solve the computing problems (e.g. compilers, database systems, video games, business programs)Operating System – Controls and coordinates the use of the hardware among the various application programs for the various users

Computer System has roughly four components

Page 4: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 4

OS DefinitionsResource allocator – manages and allocates resourcesControl program – controls the execution of user programs and operations of I/O devicesKernel – the one program running at all times (all else being application programs)Operating System Goals

ConvenienceEfficiencyAbility to evolve

A program that controls execution of application programs and acts as interface between applications and hardware

What is an Operating System?

Page 5: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 5

Mainframe SystemsEarly computers

Growth from batch → time-shared systems

Batch SystemsBatch the jobs with similar needs and ran as groupFirst rudimentary operating systemMajor OS task – transfer control automatically from one job to nextSerial Card Reader -1200 CPMModern OS allow all jobs on disk rather than in serial card reader, job scheduling

Page 6: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 6

Mainframe Systems

Memory layout for a simple batch system

MonitorResident Monitor → Always in main memory Each job → Instructions in JCL ($LOAD, $RUN)

Page 7: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 7

Mainframe SystemsGenerally a single user cannot keep either CPU or I/O devices busy at all timesMultiprogrammed Systems

Increases CPU utilization Several jobs are kept in main memory at the same time and CPU is multiplexed among them

Memory layout for multiprogramming system

Page 8: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 8

Mainframe SystemsSlow I/O

Page 9: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 9

Mainframe SystemsUniprogramming

Processor must wait for I/O instruction to complete before preceding

MultiprogrammingWhen one job needs to wait for I/O, the processor can switch to the other job

Page 10: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 10

Mainframe Systems

OS features for multiprogramming systemJob Scheduling Memory Management – the system must allocate the memory to several jobsCPU SchedulingProcess Scheduling

Page 11: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 11

Mainframe Systems

Time-Sharing → Logical extension of multiprogramming

Time-Sharing SystemsTime-shared OS allows many users to share the computer simultaneouslyResponse timeJobs swapped in and out of memory to the diskCommon feature – Virtual Memory

Page 12: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 12

Mainframe SystemsBirth of UNIX in 1960s; CTSS → MULTICS → UNIX

Dennis Ritchie (standing) and Ken Thompson begin porting UNIX to the PDP-11 via two Teletype 33 terminals http://www.bell-labs.com

Page 13: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 13

Desktop SystemsPersonal computers → Computer system dedicated to a single user

Neither multiuser nor multitaskingEarlier Goals →Maximize CPU & Peripheral utilizationNow → User convenience and responsiveness

Earlier I/O devices – keyboards, mice, display screens, small printers

May run several different types of operating systems (Windows, MacOS, UNIX, Linux)

Page 14: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 14

Parallel SystemsAlso known as multiprocessor systems or tightly coupled systemsOperate with more than one CPU in close communicationProcessors share memory and a clock; communication usually takes place through the shared memory

Advantages of Parallel Systems: Higher throughput – increases but less than NEconomical – SharingHigher reliability - graceful degradation, fault tolerant

Page 15: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 15

Parallel SystemsSymmetric multiprocessing (SMP)

Each processor runs and identical copy of the operating systemMany processes can run at once without performance deteriorationMost modern operating systems support SMP (Windows NT, Solaris, Digital UNIX, OS/2, Linux)

Architecture of general SMP system

Page 16: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 16

Parallel SystemsAsymmetric multiprocessing

Each processor is assigned a specific taskMaster processor schedules and allocated work to slave processorsMore common in extremely large systems

Page 17: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 17

Clustered SystemsUnlike multiprocessor systems, two or more individual systems coupled togetherClustering allows two or more systems to share storage, definitionsService even if one or more cluster failsHigher reliability by adding redundancy

Asymmetric clusteringOne machine is in hot-standby while other running applicationsHot-standby machine only monitors the active serverIf server fails, hot-standby machine → active server

Symmetric clusteringTwo or more hosts are running applications and monitoring each otherMore efficient

Rapid advances in Cluster Technology, clustering over WANs, SANs

Page 18: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 18

Real-Time SystemsSpecial purpose OS with rigid time constraintsUsed in dedicated application, e.g. control systems, imaging systems, display systemsFixed time constraints, returns the correct results within its time-constraintsTime-sharing systems, desirable but NOT mandatory Real-Time systems may be either hard or softreal-time

Page 19: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 19

Real-Time SystemsHard realHard real--timetime

Guarantees completion of critical task in timeSecondary storage limited or absent, data stored in short term memory, or read-only memory (ROM)Conflicts with time-sharing systems, not supported by general-purpose operating systems

Soft realSoft real--timetimeLess restrictive, critical real-time task has priorityRetains this priority until its completionLack of deadline support, risky for robotics/controlUseful in applications (multimedia, virtual reality) requiring advanced OS features (not supported in hard real-time systems)

Page 20: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 20

Handheld SystemsPersonal Digital Assistants (PDAs)Connectivity to Internet, cellular telephonesLimited size (typically 5’×3’)Issues:

Limited memory, no VM, 512KB - 8MBSlow processors, Less power availabilitySmall display screens, web clipping

Page 21: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 21

Migration of OS Concepts and Features

Page 22: Introduction · ¾Neither multiuser nor multitasking Earlier Goals →Maximize CPU & Peripheral utilization Now →User convenience and responsiveness ¾Earlier I/O devices – keyboards,

EEL 602 22

Computing EnvironmentsTraditional ComputingWeb-Based ComputingEmbedded Computing