Operating System
Different types of operating systems are:
· Batch operating system
· Multiprogramming System
· Time sharing system
· Multiprocessor system
· Distributed system
· Clustered system
· Real time system
Batch operating system
The users of batch operating system do not interact with the computer directly. Each user prepares his job on an off-line device like punch cards and submits it to the computer operator. To speed up processing, jobs with similar needs are batched together and run as a group. Thus, the programmers left their programs with the operator. The operator then sorts programs into batches with similar requirements.
Advantages of Batch Processing
1. Once the data process is started, the computer can be left running without supervision.
2. Batch processing allows an organization to increase efficiency because a large amount of transactions can be combined into a batch rather than processing them each individually.
Disadvantages of Batch Processing
1. It is very difficult to maintain the priority between the batches.
2. There is no direct interaction of user with computer. Lack of interaction between the user and job.
3. CPU is often idle, because the speeds of the mechanical I/O devices is slower than CPU.
4. Difficult to provide the desired priority.
5. With batch processing there is a time delay before the work is processed and returned.
Multiprogramming System
In a
multiprogramming system there are one or more programs loaded in main memory
which are ready to execute. Only one program at a time is able to get the CPU
for executing its instructions (i.e., there is at most one process running on
the system) while all the others are waiting their turn.
The main idea of multiprogramming is to maximize
the use of CPU time. Indeed, suppose the currently running process is
performing an I/O task (which, by definition, does not need the CPU to be
accomplished). Then, the OS may interrupt that process and give the control to
one of the other in-main-memory programs that are ready to execute (i.e. process context switching).
In this way, no CPU time is wasted by the system waiting for the I/O task to be
completed, and a running process keeps executing until either it voluntarily
releases the CPU or when it blocks for an I/O operation. Therefore, the
ultimate goal of multi programming is to keep the CPU busy as long as there are
processes ready to execute.
Note that in order for such a system to function
properly, the OS must be able to load multiple programs into separate areas of
the main memory and provide the required protection to avoid the chance of one
process being modified by another one. Other problems that need to be addressed
when having multiple programs in memory is fragmentation as programs enter or leave the main
memory. Another issue that needs to be handled as well is that large programs
may not fit at once in memory which can be solved by using pagination and virtual
memory.
Finally, note that if there are N
ready processes and all of those are highly CPU-bound (i.e.,
they mostly execute CPU tasks and none or very few I/O operations), in the very
worst case one program might wait all the other N-1
ones to complete before executing.
Advantages of Multi Programming Operating System
1. Increase CPU utilization and reduce CPU idle time.
2. It decreases total read time needed to execute a job as the jobs are in main memory.
Disadvantages of Multi Programming Operating System
1. It is fairly sophisticated and more complex as compared to Uniprogramming system.
2. Process can consume more than available memory. In such case system slows down or it may hang some time.
Time sharing system
Multiple jobs are executed by the CPU by switching between them, but the switches occur so frequently. Thus, the user can receives an immediate response. For example, in a transaction processing, processor execute each user program in a short burst or quantum of computation. That is if n users are present, each user can get time quantum. When the user submits the command, the response time is in few seconds at most.
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.
Advantages of Time Sharing System
1. More than one user can execute their task simultaneously. ü
2. Avoids duplication of software
3. CPU Idle time is reduced and better utilization of resources.
4. Provide advantage of quick response.
Disadvantages of Time Sharing System
1. Question of securing the security and integrity of user’s data and programs.
2. Since multiple processes are managed simultaneously, so it requires an adequate management of main memory
3. Problem of reliability.
Distributed systems
Distributed systems use multiple central processors to serve multiple real time application and multiple users. Data processing jobs are distributed among the processors accordingly to which one can perform each job most efficiently.
The processors communicate with one another through various communication lines (such as high-speed buses or telephone lines). These are referred as loosely coupled systems or distributed systems. Processors in a distributed system may vary in size and function. These processors are referred as sites, nodes, computers and so on.
The advantages of distributed systems are following.
1. With resource sharing facility user at one site may be able to use the resources available at another.
2. Speedup the exchange of data with one another via electronic mail.
3. If one site fails in a distributed system, the remaining sites can potentially continue operating.
4. Better service to the customers.
5. Reduction of the load on the host computer.
6. Reduction of delays in data processing
Disadvantages
- Security problem due to sharing
- Some messages can be lost in the network system
- Bandwidth is another problem if there is large data then all network wires to be replaced which tends to become expensive
- Overloading is another problem in distributed operating systems
- If there is a database connected on local system and many users accessing that database through remote or distributed way then performance become slow
- The databases in network operating is difficult to administrate then single user system
Real time system
Real time system is defines as a data processing system in
which the time interval required to process and respond to inputs is so small
that it controls the environment. Real time processing is always on line
whereas on line system need not be real time. The time taken by the system to
respond to an input and display of required updated information is termed as
response time. So in this method response time is very less as compared to the
online processing.
Real-time systems are used when there are rigid time requirements on the operation of a processor or the flow of data and real-time systems can be used as a control device in a dedicated application. Real-time operating system has well-defined, fixed time constraints otherwise system will fail.For example Scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, and home-applicance controllers, Air traffic control system etc.
There are two types of real-time operating systems.
Hard real-time systems
Hard real-time systems guarantee that critical tasks complete on time. In hard real-time systems secondary storage is limited or missing with data stored in ROM. In these systems virtual memory is almost never found.
Soft real-time systems
Soft real time systems are less restrictive. Critical real-time task gets priority over other tasks and retains the priority until it completes. Soft real-time systems have limited utility than hard real-time systems. For example, Multimedia, virtual reality, Advanced Scientific Projects like undersea exploration and planetary rovers etc.
Advantages of Real Time Operating System
o Better task scheduling as compared to manual process and time deadlines achievement is guaranteed in most of the cases.
o Accelerate the process by automanaging the system resources as in the case of Autopilot airplanes and railway e-ticket booking system.
Disadvantages of Real Time Operating System
o If time dead lines are missed it may result in severe disastrous situation.
o Complex and need additional kernel, Memory and other resources are required.
More vulnerable to security breaches like virus
and unauthorized access.