Operating systems are basically capable to do all the functions which have been already discussed. The way processing or the approach of the systems may be different. If we look at these distinctions, we come across different types of operating systems, which have their own specialities apart from the basic functionality. The following are some of the basic types of operating systems, which are popular.
Types of Operating System : Education
Batch Processing System: These operating systems execute various tasks and requests in batches, not as individual tasks. These operating systems accept various tasks from the users and place them in queue execution. This process of placing requests in a queue for execution is known as Spooling, which are short form simultaneous peripheral operations on line.
Each job/task is assigned a Priority, when execution time is available, then these jobs are selected on the basis of their priority from the queue. These Batches can be executed on a serial basis i.e., executing one job at a time, or on a multiple programming basis (to be discussed later) where multiple jobs are executed simultaneously. Most of the modern operating systems or personal computers work on batch-serial basis without the use of spooling mechanism.
Batch processing can simplify the processing operation as instead of processing simple instruction at a time, if batches of instructions are performed, the CPU time is saved, as the speed of the processing of CPU is very fast, else it has to wait between each instruction.
Interactive Operating System: These should be a scope for the user to interact with the system as and when the need arises for, the interaction with the user can be required for some instances like interruption etc. Interactive operating systems do provide for features where the user can directly interact with the computer from terminal. A user can interrupt the execution of the low priority batch of job and get his high priority work done by the computer.
Even in real time, when I have to interact with the system, as the files are to be updated immediately after the occurrence of events in the real world. One has to interrupt the normal processing, so that the task immediately required as undertaken, later the interpreted task is resumed. Most of the mainframe based operating system today uses the interactive operating systems.
Multi Programming Operating Systems
As the name itself suggests, that these operating systems are capable to of Executing Multiple Programs at a given in terms of time i.e., the CPU can execute more than one program at a given instead of time simultaneously concurrent processing operating systems are the multi programming operating systems for the personal computers. This functionality of multi programming is achieved by the operating system by storing more than one program in primary memory and the CPU switches from the program to other, executing a part of each program in turn.
There by executing more than one program at a time. With multi programming operating systems one can use the CPU to the optimum level. Unlike other operating systems, where the program is executed in the order in which it is fetched into the primary memory of the CPU and only one program is executed at given instant of time. Multi Programming Operating Systems are popular as well being used widely, as they bring with them following advantages:
Short Response Time: These response time i.e. the time lag between the submission of the command to the system and the time taken for the competition of that command. The more the response time of system, the more slowly in the system. Therefore for a system to work efficiently has to have a very short response time. The multiprogramming operating system has an advantage as it has very short response time as it devoting part of the time of CPU to each process in turns so that there are no time lags in between therefore the time taken decreases to be great extent.
It even provide with a feature where one can execute certain programs which has higher priority in case of it is needed. The major aspect in any response time is the CPU idle times, which is removed or reduced results in short response times. Multi programming Operating Systems reduce the idle time of the CPU, there by bringing down the response times.
Increase Productivity: Productivity is a measure of the total amount of Princess which can be done by a CPU in affixed amount of time. In batch processing systems, the productivity is not to that extent, as in case of multi programming systems. As there is no physical movement of CPU for processing, the speed of processing depends on the flow of the electronic pulses which are very fast, therefore the speed of CPU is very high in comparison to input and output devices, is usually there is mechanical movement of CPU.
In batch processing systems, one program is executed as a given instant of time, therefore if any input/output is required by the programs, the CPU has to wait till the input/output occurs, thereby it will be able to process very few programs in given time, there has multiprogramming operating systems are capable to execute more than one program at a time. When there is need of input/output, the CPU instead of waiting will switch over to next program, by that time the input/output takes place, thereby there is no wastage of CPU time, and thus multi programming operating system can execute more number of programs in a given instance of time, which leads to the higher productivity of the system.
Assignment of Priorities: Multi Programming Systems of assigning priorities to the various jobs so that the execution of the program can be prioritised. One can even specify the time when CPU you will switch to other program and which would be the next program. This scheme of assigning priorities improves the availability of the system for any unanticipated requests with high priorities. The concept of real time, online and time sharing would have been a dream without the multi programming coming to the rescue.
Along with advantage of multi programming, come the following disadvantages
The primary memory is to big constraint to the multiple programming for the execution of the multiple programs, they have to be stored in the primary memory. If the size of primary memory is the high and the program in, it is well and good, but if the programs are so huge, that they cannot be fitted into the primary memory, then the multi programming will be the same in speed as in case of other systems as it cannot switching between two other programs. If it does it takes quite a large amount of time, thereby defeating its basic motive.
As the multiple programming is a software solution, it requires primary memory for execution; it is one of the major overhead on the CPU.
Sometimes, there can be inter program interference, either accidental of international, which is hurdle in multi programming operating system, as the programs use almost the same area primary storage. Which can result in modification of the program by the other? But this problem can be sorted out of operating system, using different passwords for each work area corresponding to each program, so that the program cannot access other programs.
Multiprocessing operating system
As we have already seen, how a multi programming system executes more than one program at a time using a single CPU. Here, in multiprocessing operating system unlike multi programming, one program is processed by more than one CPU. This comes handy when one has to support batch processing and many remote terminals. When the number of remote terminals are less than the main CPU can handle all the jobs and tasks requested by the remote terminals without any problem, but When the number of remote terminals are more then, there is every chance that the main the main CPU can be over loaded, then in this case all trivial requests and jobs are like editing, calculating etc. can be handled by another minicomputer, called front end processor. The main CPU handles all other jobs which front end processor cannot handle.
There can be still more CPUs assisting the main CPU in its processing. Each CPU cans a given task for education and these jobs can be combined to give result. Most of the personal computers use multi processing where some of the basic tasks are done by co- processors so that the capacity of the system is enhanced to a great extent. These multi processing systemsare becoming more widely used as they even act as backup for existing CPU as some processors used are identical in configuration.
Multitasking system: As the human tendency to find better ways for doing tasks, they keep on Inventing new things and technologies day by day, which are improvements on existing Technology.
Multi tasking is one such improvement and move towards making computer operate more efficiently and accomplishing more tasks in a given period of time. This technology aims at making devices independent to do their own processing to a great extent, without depending on the CPU for the processing. The objective was also to keep most of the hardware operating most of the possible time, so that one can best use the available hardware devices in a given period of time.
The basic working methodology of this technology is that the device work on their most of the time and whenever the CPU is required it is given I signal known as interrupt, which is CPU attends by keeping it current activity aside, than it returns to whatever task it was doing when the interrupt occurred, So that the CPU can carry out multiple tasks simultaneously.
This technology was originally used for Mini and Mainframe computers. Now, this technology is extended to micro computers as well so that they become efficient. These new multitasking systems work by dividing the screen into many windows. These windows have the capacity and provisions for moving data between Windows, so that there can be exchange of information between various programs. Each window can be used by the user to execute a distinct program, which will keep number of devices busy at the same time like in one window one can print a document and other window one can read data from disk drive etc. Thus, the multi tasking making the best possible use of available hardware at any given time.
Multi user operating systems
The name itself suggests that this operating system allows many users to work at any given instance a time. This operating system takes the best advantage of CPU. Here many users are connected through different terminals. Each user work at his terminal. The operating system of computer allows many users to work simultaneously by assigning ever user a part of RAM and it divides the computer time among various users. Here, the computer gives a user his time and the goes to other user giving him his quota of time and then shifts to other user and this process goes on.
As the computer is very fast one feels that the computer is working for him alone i.e., he is only user of the computer. A multi user operating system can have hundreds of users at any point of time and for keeping track of every event, this requires a fairly large amount of RAM. As the environment is multi user, there is a great amount of security provided, so that no one can temper each other data. The securities done using passwords.