This document discusses different types of mainframe systems, beginning with batch systems where users submit jobs offline and jobs are run sequentially in batches. It then describes multiprogrammed systems which allow multiple jobs to reside in memory simultaneously, improving CPU utilization. Finally, it covers time-sharing systems which enable interactive use by multiple users at once through very fast switching between programs, minimizing response time. The key difference between multiprogrammed and time-sharing systems is the prioritization of maximizing CPU usage versus minimizing response time respectively.
2. Mainframe Systems
• Main frame computers were the first
computers to tackle many commercial and
scientific applications.
• Main frame systems are evoluated from
simple batch systems (where the computer
runs one only one-application) to time-shared
systems(which allow for user interaction with
the computer system).
3. I. Batch Systems
The users who using a batch operating system do not interact
with the computer directly.
Each user prepares its job on an off-line device like punch
cards and submits it to the computer operator.
To speed up the processing, jobs with similar needs are
batched together and run as a group.
The programmers exit their programs with the operator and
the operator then sorts the programs with similar requirements
into batches.
All the jobs of one batch are executed together.
6. I. Batch Systems - Advantages
It is very difficult to guess or know the time
required for any job to complete. Processors of the
batch systems know how long the job would be when
it is in queue.
Multiple users can share the batch systems.
The idle time for the batch system is very less.
It is easy to manage large work repeatedly in batch
systems.
7. I. Batch Systems - Disadvantages
The computer operators should be well known with batch
systems.
Batch systems are hard to debug.
It is sometimes costly.
The other jobs will have to wait for an unknown time if any
job fails.
All the jobs of a batch are executed sequentially one after the
other.
The output is obtained only after all the jobs are executed.
Thus, priority can not be implemented if a certain job has to
be executed on an urgent basis.
Batch operating system may lead to starvation.
There is a lack of interaction between a user and his job.
8. II. Multiprogrammed
Systems
Several jobs are kept in main memory at the same time,
and the CPU is multiplexed among them.
Sharing the processor, when two or more programs reside
in memory at the same time, is referred
as Multiprogramming.
Multiprogramming assumes a single shared processor.
Multiprogramming increases CPU utilization by
organizing jobs so that the CPU always has one to execute.
10. Multiprogrammed Systems
An OS does the following activities related to
multiprogramming.
The operating system keeps several jobs in memory at a
time.
This set of jobs is a subset of the jobs kept in the job
pool.
The operating system picks and begins to execute one of
the jobs in the memory.
Multiprogramming operating systems monitor the state
of all active programs and system resources using
memory management programs to ensures that the CPU
is never idle, unless there are no jobs to process.
11. Multiprogrammed Systems
Advantages
High and efficient CPU utilization.
User feels that many programs are allotted CPU
almost simultaneously.
Disadvantages
CPU scheduling is required.
To accommodate many jobs in memory, memory
management is required.
12. III.Time-Sharing Systems
• Time-sharing is a technique which enables many people,
located at various terminals, to use a particular computer
system at the same time.
• Time-sharing or multitasking is a logical extension of
multiprogramming. Processor's time which is shared among
multiple users simultaneously is termed as time-sharing.
• The main difference between Multi-programmed Batch
Systems and Time-Sharing Systems is that in case of Multi-
programmed batch systems, the objective is to maximize
processor use, whereas in Time-Sharing Systems, the objective
is to minimize response time.
• Multiple jobs are executed by the CPU by switching between
them, but the switches occur so frequently. Thus, the user can
receive an immediate response.
13. III.Time-Sharing Systems
• For example, in a transaction processing, the processor
executes each user program in a short burst or quantum of
computation.
• That is, if n users are present, then each user can get a time
quantum. When the user submits the command, the
response time is in few seconds at most.
• The operating system uses CPU scheduling and
multiprogramming to provide each user with a small
portion of a time.
• Computer systems that were designed primarily as batch
systems have been modified to time-sharing systems.
14. III.Time-Sharing Systems
• A program loaded into memory and executes, it performs a
short period of time either before completion or to complete
I/O.
• This short period of time during which user gets attention of
CPU is known as time slice, time slot or quantum. It is
typically of the order of 10 to 100 milliseconds.
• Time shared operating systems are more complex than
multi-programmed operating systems.
• In both, multiple jobs must be kept in memory
simultaneously, so the system must have memory
management and security.
15. III.Time-Sharing Systems
To achieve a good response time, jobs may have to swap in
and out of disk from main memory which now serves as a
backing store for main memory.
A common method to achieve this goal is virtual memory,
a technique that allows the execution of a job that may not
be completely in memory.
Requirements of Time Sharing Operating System :
An alarm clock mechanism to send an interrupt signal
to the CPU after every time slice. Memory Protection
mechanism to prevent one job’s instructions and data from
interfering with other jobs.
16. III.Time-Sharing Systems
Advantages:
• Provides the advantage of quick response.
• Avoids duplication of software.
• Reduces CPU idle time.
Disadvantages:
• Problem of reliability.
• Question of security and integrity of user
programs and data.
• Problem of data communication.