CIS250 OPERATING SYSTEMS Chapter One Introduction.
-
Upload
bonnie-harrell -
Category
Documents
-
view
212 -
download
0
Transcript of CIS250 OPERATING SYSTEMS Chapter One Introduction.
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
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
Four Components of a Computer System
• Hardware
• Operating system
• Application programs
• Users
Hardware• CPU
• Memory
• Input/Output Devices
Operating System• Resource allocator
• Coordinates the use of hardware among applications and the users; handles conflicts, requests.
• Controls resources
Application Programs• Compilers
• Databases
• Games
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
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
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
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
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
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
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
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
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
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
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
• 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.