>> Main Frame Computers
- common input and output were card readers and tape drives.
- user prepare a job which consisted of the program, input data and control instructions.
- Input job is in the form of punch cards and result is also will be in the form of punch cards after the complete processing.
- Basically very simple OS, always present in memory, major task is to transfer the control from one job to another job.
- Limited Memory.
- Mismatch between the time of input and processing Very Low utilization of CPU.
- Slow System.
Batch Operating System
>> Jobs with similar needs are batched together and sent to the System for processing.
>> An operator sorts various similar jobs into batches for processing.
>> Example- FORTRAN batch, C Batch, Print Batch.
- 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.
- 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.
Payroll System, Bank Statements, etc.
Time Sharing Operating System
>> Each task is given some time to execute so that all the tasks work smoothly.
>> Each user gets the time of CPU as they use a single system.
>> These systems are also known as Multitasking Systems.
>> The time that each task gets to execute is called quantum. After this time interval is over OS switches over to the next task.
>> Time sharing is a technique which enables many people, located at various terminals, to use a particular computer system at the same time.
>> Logical Extension of Multiprogramming.
>> The main difference between Multiprogrammed Batch Systems and Time Sharing Systems is that in case of Multiprogrammed batch systems, objective is to maximize processor use, whereas in Time-Sharing Systems objective is to minimize response time.
- Provide advantage of quick response.
- Avoids duplication of software.
- Reduces CPU idle time.
- Problem of reliability.
- Question of security and integrity of user programs and data.
Multics, Unix, etc.
Distributed Operating System
>> Distributed systems use multiple central processors to serve multiple real-
time applications and multiple users.
>> The processors communicate with one another through various
communication lines (such as high-speed buses or telephone lines)
>> Data processing jobs are distributed among the CPUs
- Resource Sharing
- Speed exchange of Data
- If one site fails, the remaining sites can potentially continue operating.
- Better Service
- Reduction of the load on the host computer
- Reduction of delays in data processing
- Failure of the main network will stop the entire communication.
- These types of systems are not readily available as they are very
expensive. Not only that the underlying software is highly complex and not
understood well yet.
Network Operating System
>> Runs on a server.
>> Provide the server the capability to manage data, groups, users, security,
>> all the users are well aware of the underlying configuration, of all other
users within the network, their individual connections, etc. and that’s why
these computers are popularly known as tightly coupled systems.
- Centralized servers are highly stable.
- Server managed security.
- Remote access to servers is possible from different location and types of
- High cost of buying and running a server.
- Dependency on central location (server)
- Regular maintenance and updates are required.
Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux,
Mac OS X, Novell NetWare, and BSD, etc.
Real-Time Operating System
>> The time interval required to process and respond to inputs is so small that
it controls the environment.
>> used when there are rigid time requirements.
>> used when there are time requirements that are very strict like missile
systems, air traffic control systems, robots, etc.
>> Two types of Real-Time OS are:
- Hard Real-Time Operating System: These OS are meant for applications where time constraints are very strict and even the shortest possible delay is not acceptable. These systems are built for saving life like automatic parachutes or airbags which are required to be readily available in case of any accident. Virtual memory is rarely found in these systems.
- Soft Real-Time Operating System:
These OS are for applications where for time-constraint is less strict.
- Maximum Consumption: Maximum utilization of devices and system, thus
more output from all the resources.
- Focus on Application: Focus on running applications and less importance to
applications which are in the queue.
- Error Free: These types of systems are error-free.
- Memory Allocation: Memory allocation is best managed in these types of
- Use heavy system resources: Sometimes the system resources are not so
good and they are expensive as well.
- Complex Algorithms: The algorithms are very complex and difficult for the
designer to write on.
- Thread Priority: It is not good to set thread priority as these systems are
very less prone to switching tasks.
Scientific experiments, medical imaging systems, industrial control systems,
weapon systems, robots, air traffic control systems, etc.