CIS250 OPERATING SYSTEMS Chapter One Introduction.

20
CIS250 OPERATING SYSTEMS

Transcript of CIS250 OPERATING SYSTEMS Chapter One Introduction.

Page 1: CIS250 OPERATING SYSTEMS Chapter One Introduction.

CIS250

OPERATING SYSTEMS

Page 2: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Chapter One

Introduction

Page 3: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Objectives• Define the term Operating System

• Discuss the various types of Operating systems – simple batch

– multiprogrammed batched

– time-sharing

– pc systems

– parallel systems

– distributed

– real-time

Page 4: CIS250 OPERATING SYSTEMS Chapter One Introduction.

What is an Operating System?• The one program that is running at all times - the

kernel• A program that acts as a intermediary between a user

and the hardware– It provides services to programs and users– It should ensure that the programs do not interfere with

the system

• Provides an environment to run programs efficiently. Must be convenient to the user

• A control program

Page 5: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Four Components of a Computer System

• Hardware

• Operating system

• Application programs

• Users

Page 6: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Hardware• CPU

• Memory

• Input/Output Devices

Page 7: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Operating System• Resource allocator

• Coordinates the use of hardware among applications and the users; handles conflicts, requests.

• Controls resources

Page 8: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Application Programs• Compilers

• Databases

• Games

Page 9: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Operating SystemsHistory

• In the beginning....– large machines were run from a console– one instruction processed at a time– program was loaded into memory manually– front panel switches were used– programmer was the operator

Page 10: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Early Batch Systems• Software and hardware added to improve efficiency

– Hardware• card readers• line printers• magnetic tapes

– Software• assemblers, loaders, linkers• common function libraries• device drivers for each I/O device - tells OS how buffers,

flags, registers, control and status bits for each device should be run

Page 11: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Compilers were created

• FORTRAN and COBOL– Programming was easier– Operating was more complex

• If a mistake was made, had to start over from the beginning

• During set up, CPU sat idle

Page 12: CIS250 OPERATING SYSTEMS Chapter One Introduction.

More Complex Operating • Mount FORTRAN compiler from tape

– Load program through the card reader– Write to tape

• FORTRAN compiler produces assembly code• Mount another tape for assembly• Link O/P to library routines• Execute binary object code• Load into memory and debug

Page 13: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Then…Simple Batch Systems

• Had operators and programmers - this reduced setup time; but CPU still idle when there were errors

• Created automatic job sequencing - resident monitor introduced

• Replaced slower I/O devices (card readers, line printers) with magnetic tape

Page 14: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Automatic Job Sequencing• Resident monitor introduced

– Program in memory, transfers control from one job to the next

– Job Control Language- batch programs; lack of interaction between user and job

– I/O devices still slower than the CPU

• Replaced slower I/O devices (card readers, line printers) with magnetic tape– tape was sequential - fill tape, re-wind, unload, mount

Page 15: CIS250 OPERATING SYSTEMS Chapter One Introduction.

More Processing Improvements

• Replaced sequential tapes with random access disk systems

• Developed spooling (large buffer)

• Job created pools to increase CPU utilization

• Job scheduling to administer job pool

• CPU scheduling

Page 16: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Spooling

• Simultaneous Peripheral Operation On-Line

• Uses disk as a large buffer

• Reads ahead for I/P devices and storing O/P files until output devices can handle them

• Can read I/P of one job and O/P of another

Page 17: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Multiprogrammed Batched Systems

• Job Scheduling– O/S selects the job, Loads it into memory,

Executes the job– CPU utilization is increased - CPU not idle

when there is work– CPU “switches” jobs; uses CPU scheduling

Page 18: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Terms

• Multi-programming: multiple programs running concurrently

• Multi-tasking: multiple threads within a process

• Multi-processing: multiple CPUs - to maximize CPU efficiency– share bus, clock and sometimes memory

Page 19: CIS250 OPERATING SYSTEMS Chapter One Introduction.

Parallel Systems

• Symmetric - all CPUs are equal; I/O can be processed on any CPU

• Asymmetric - master CPU distributes tasks to slaves and the master usually does all I/O

Page 20: CIS250 OPERATING SYSTEMS Chapter One Introduction.

• Distributed Systems – loosely coupled, resource sharing– processes are “distributed” across systems

which do not share a bus or a clock– if one system fails, the entire system does not

crash

• Real-time Systems - control device in a dedicated application; rigid time reqmnts.