0% found this document useful (0 votes)
22 views

Chapter One Introduction

The document provides an overview of operating systems, including their definition, objectives, and evolution over time. It discusses early systems that involved wiring plugboards and serial processing, followed by simple batch processing, spooling batch processing, and multi-programmed batch processing. Later developments included timesharing/time-slicing systems, personal computer systems, and parallel systems. The evolution of operating systems has been tied to changes in computer architecture and aimed to improve machine utilization, user experience, and adaptability.

Uploaded by

yohannes assefa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Chapter One Introduction

The document provides an overview of operating systems, including their definition, objectives, and evolution over time. It discusses early systems that involved wiring plugboards and serial processing, followed by simple batch processing, spooling batch processing, and multi-programmed batch processing. Later developments included timesharing/time-slicing systems, personal computer systems, and parallel systems. The evolution of operating systems has been tied to changes in computer architecture and aimed to improve machine utilization, user experience, and adaptability.

Uploaded by

yohannes assefa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Chapter I.

Introduction
1.1 What is an Operating System?
Definition
 A program that acts as an intermediary between a user of a computer and the computer

hardware.
 A system program which controls all the computer's resources and provides a base

upon which application programs can be written.


 A system program that controls execution of application programs.

Objectives
 Convenience – Top Down View – Virtual Machine

o Extending the real hardware and acting as a Virtual Machine


o Hiding the truth about the hardware from the user
o Providing the user a convenient interface which is easier to program
 Efficiency – Bottom Up View – Resource Manager
o Providing an orderly and controlled allocation of resources
o Improving resource utilization
 Ability to Evolve
o Adaptability to new changes
 Hardware upgrades/New types of hardware
 Need of new services
o Easy fixes of latent errors
Computer System Components
 Hardware - provides basic computing resources (CPU, memory, I/O devices).

 Operating system - controls and coordinates the use of the hardware among the various

application programs for the various users.


 Applications programs - define the ways in which the system resources are used to

solve the computing problems of the users (compilers, database systems, video games,
business programs).
 Users (people, machines, other computers).

1
1.2 Evolution of Operating Systems
 Studying evolution of Operating Systems is used to
o Understand key requirements of an Operating System
o Understand significance of the major features of modern Operating Systems
 Operating Systems and Computer Architecture are historically tied
o Architectural changes affect structure of Operating Systems
o Architectural changes affect performance of Operating Systems
 Major progress in Operating Systems
o Early systems (Wiring-up plug-boards, Serial Processing)
o Simple batch processing
o Spooling batch processing
o Multi-programmed batch processing
o Timesharing systems
o Personal computer systems
o Parallel systems
o Distributed systems
o Real time processing

2
i. Wiring-up Plug-boards
 Programming was done in machine language by wiring up plug-boards
 Plug-boards control the basic functions of the computer
 No Operating Systems, No programming languages, No operators
 Complex programming and machine underutilization
ii. Serial Processing
 The Technique
o Running a Job
 Programmer creates his program and punches it on cards
 He submits the card deck to an operator in the input room
 He reserves machine time on a sign-up sheet
 Operator set-up the job as scheduled
 Operator caries over the output to the output room
 Programmer will collect it later
o No Operating Systems
o No programming languages
 Features
o Users get access in series
o Writing programs was improved
 Drawbacks
o Wasted time due to scheduling and setup
o Wasted time while operators walking around the machine room
o Large machine/processor idle time
iii. Simple Batch Processing
 The Technique
o To run jobs
 Users submit jobs on cards
 Operator batches jobs together into a tape inside the input room
 Operator rewinds the input tape and brings it to machine room
 Monitor, a special system program in the system tape, runs each job
sequentially
 Output is written onto output tape and is brought to output room
 Output is printed offline in the output room
o Each job is structured using JCL (Job Control Language)
 To switch control back and forth between job and monitor
 To automate job set-up (loading source code, compilers, object code etc)
o Monitor controls sequence of events
3
o Relies on some hardware features
 Memory protection
 Timer
 Processor modes
 Interrupts
o Operating Systems introduced for the first time
 FMS – Fortran Monitor System for IBM 701 and later for IBM 704
 IBMSYS – for IBM 7090/7094
 Features
o Move much of the work of the operator to the computer
o Improve machine utilization
 Handle scheduling problem
 Reduce set-up time
 Drawbacks
o Large turn-around time
o Large CPU idle time on heavily I/O bound jobs
o Large CPU idle time due to slower speed of I/O devices compared to CPU speed
o CPU idle time between batches of jobs: the computer still needs to read the deck
of cards before it can begin to execute the batch of jobs.
iv. Spooling Batch Processing
 The Technique
o Adds up Spooling technique to simple batch processing
 Spooling - Simultaneous Peripheral Operation Online
 It is the ability to read jobs/print job outputs while the processor executes
jobs
 Read jobs – from cards to disk
 Print job outputs – from disk to printer
 Used in input and output operations
 With spooling, whenever a running job finished, the OS could load a new
job from disk into the now-empty partition and run it
o Spooling is the first attempt of multiprogramming
 Features
o Avoids CPU idle time between batches of jobs
o Improve turn-around time: Output of a job was available as soon as the job
completed, rather than only after all jobs in the current cycle were finished.
 Drawbacks
o Large turn-around time
4
o Large CPU idle time on heavily I/O bound jobs
v. Multi-programmed Batch Processing
 The Technique
o Multiprogramming
 Multiple jobs are loaded in a partitioned memory
 Processor runs the jobs by cycling through them in some order
 Processor works on each job for a specified period of time
o The system is responsible for
 Starting user jobs
 Spooling operations
 I/O for user jobs
 Switching between user jobs
 Ensuring proper protection
o Relies on some hardware features
 Memory protection
 Timer
 Processor modes
 Interrupts
 DMA (Direct Memory Access)
o OS/360 – the first multi-programmed batch system designed for IBM System/360
 Features
o Improve machine utilization
o Resemble a modern operating system
 Drawbacks
o Long response time: the time between submitting a job and getting back the
output was often several hours
o Poor interactivity between programmer and his program
vi. Timesharing/Time-slicing
 The Technique
o Variant of multiprogramming in which each user has an online terminal
o Processor time is shared among multiple users
o Its main objective is getting quick response time
o The computer provides fast, interactive service to a number of users
o CTSS – the first timesharing system developed for IBM 709 and later to IBM
7094
o CTSS supported 32 users at a time
 Features
5
o Minimizes response time
o Support many users simultaneously
 Difference between multiprogramming and timesharing
o Multiprogramming
 Its objective is to maximize processor use
 JCL commands are source of directives to the OS
 Designed to keep the processor & I/O devices simultaneously busy
o Timesharing
 Its objective is to minimize response time
 Terminal commands are sources of directives to the OS
 Designed to be responsive to the needs of individual user
 Drawbacks of multiprogramming and timesharing
o Problems related with multiple programs in memory interfering with each other
o Problems related with multiple interactive users accessing the same file system
o Problems related with multiple programs competing for the same resource
vii. Personal computer systems
 Personal computers - computer system dedicated to a single user.
 I/O devices - keyboards, mice, display screens, small printers.
 User convenience and responsiveness.
 Can adopt technology developed for larger operating systems; often individuals have
sole use of computer and do not need advanced CPU utilization or protection features.
viii. Parallel systems
 Tightly coupled system - processors share memory and a clock; communication usually
takes place through the shared memory.
 Advantages of parallel systems:
 Increased throughput
 Economical
 Increased reliability
 Symmetric multiprocessing
 Each processor runs an identical copy of the operating system.
 Many processes can run at once without performance deterioration.
 Runs on a multiprocessor standalone computer system
 Processors share the same main memory and I/O devices and can perform
the same
 Jobs are scheduled across all processors
 Several jobs run in parallel
 Advantages
6
o Performance: due to multiprocessing
o Availability: Failure of a single processor does not halt the machine
o Incremental growth: additional processors can be added easily
o Scaling: Range of products with different price and performance
 Asymmetric multiprocessing
 Each processor is assigned a specific task; master processor schedules and
allocates work to slave processors.
 More common in extremely large systems.
ix. Distributed systems
 Runs on a multi-computer system: collection of computers, each with its own memory,
storage device and other I/O modules
 Useful for sharing of the workload among the different computers
 Existence of multiple computers is transparent to the user: It appears as a
uniprocessor system
 It differs in critical ways from uniprocessor OSs
x. Real-time processing
 Programs are guaranteed to have an upper bound on tasks that they carry out
 Usually it is desired that the upper bound be very small
 Severely constrained by the timing requirements
 Usually used in dedicated/special purpose computers

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy