Different Mainframe Systems:


Mainframe systems were used to solve commercial and scientific problems. Following is the brief description of this type of systems.

1. Simple Batch Systems:

Early computers were run from console. The card readers and tape drives were input devices. Line printers, tape drives and card punched were common output devices. The user did not interact directly with computer system. The user prepared a job that consisted of program, data and some control information (control cards). He then submitted it to the computer operator in the form of punched cards.


The operating system was simple. Its basic job was to transfer control automatically from one job to the next. The operating system was always resident in memory. The operator batched similar jobs together and then ran in the computer to speed up the processing.


The CPU is often idle in this environment as speed of I/O devices is much slower than CPU. After sometime, the introduction of disk instead of card reader resulted in faster I/O devices. In disk technology, the operating system keeps all jobs on a disk instead of card reader. The resources are utilized and jobs are performed more efficiently with the help of job scheduling. Job scheduling is possible because all jobs are present on the disk. The memory contains operating system in one part and user program in other part. The user space can contain only one process at a time in batch system. Digital Equipment's VMS is an example of a batch operating system.

2. Multi-Programmed Systems:

A group of jobs that are ready to be executed is called job pool. Since there is more than one job that can be executed, it is possible for the operating system to make a decision about which job to execute next. That decision keeps CPU utilization as high as possible.


In general, it is not possible for a single user to keep CPU or I/O devices busy at all times. Multiprogramming allows the system to increase CPU utilization by ensuring that the CPU always has a job to execute.


The CPU has a pool of jobs. When the currently executing job has to wait (if it is performing some I/O), it is removed from the CPU. Another job is selected and the CPU now executes it. This process ensures that CPU is always executing a job if there is a job to execute. In a non-multiprogrammed system, if a job had to wait for an I/O operation, CPU would also have to wait until I/O was finished.


CPU requires sophisticated data structures to implement multiprogramming. CPU must be able to decide which job is to be executed next. Some jobs will fit into memory at once. Some jobs may have to remain on disk. The operating system must be able to perform some sort of scheduling on the jobs in job pool. It determines which jobs will slay on the disk and which ones will be loaded, into memory. The operating system must have some form of memory management. Memory management is used to keep track of which jobs are stored where and how much space is available.


Sometimes, there may be many jobs that can run at any one time. The interaction between jobs must be controlled. In general, one job should not be able to manipulate the data or program code of another job.

3. Time Sharing:

In batch system, the user cannot interact with the job when it is being executed. It means that all possible problems must be anticipated beforehand as the user cannot make corrections during execution. It becomes very difficult when a program has to go through many phases such as compilation, linking etc. It may be difficult to define what to do if a particular phase fails. Another problem is the debugging of a program. All debugging is static. The only information to find out is why the program is giving incorrect output at various stages of execution.


Time sharing was introduced to make computer systems more interactive. CPU is the most important resource that is shared. Each job gets CPU for a small amount of time. When the allotted time period for a job is used, the next job in line is allocated CPU.


The switching between jobs occurs very frequently. It allows the user to interact with the job as it. is running. Operating system should enable the user to interact with jobs that are executing. The communication usually occurs via keyboard. The user gets a prompt to enter commands. The user must know the status of the job in order to enter relevant commands. The output of a job is usually presented on a monitor.


Generally, the commands given by the user take very little time to execute. The control returns to command line after finishing a command. It displays a prompt to indicate that the system is ready to execute another command- DOS and Unix are examples of such of system.

4. Time Sharing Systems:

Time sharing system is a multi-user, multi-process and interactive system. It allows multiple users to share computer simultaneously. It is used when several users are linked through communication networks to a single computer. The computer first works on one user's task for a fraction of time. It then goes to the next user's task. It is accomplished through time slicing. Each task gets a time slice in round robin fashion. The task continues until the time slice ends. The task stops when the given time slice is finished and waits for another time slice.


The computer operates very quickly and can distribute time slices to various tasks. The computer rapidly switches back and forth among different tasks. Time sharing systems use CPU scheduling and multiprogramming to provide each user with a small portion of time shared computer. The CPU can be allocated to a job only if that job is currently in memory.


A time sharing system is very complex. It is more complex than a multiprogrammed system. It must be able to have several jobs ready in memory simultaneously. It requires some form of memory management and protection. Jobs must be swapped in and out in a reasonable time. It may be achieved by using virtual memory. Virtual memory is a technique that allows the execution of a job that may not be completely in the memory. Unix, Linux, Windows NT Server and Windows 2000 Server are examples of time sharing systems.

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Blog Archive

Powered by Blogger.

- Copyright © 2013 Taqi Shah Blogspot -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -