1. On the basis of processing
- Batch Processing OS
- Multitasking OS
- Multiprocessing OS
- Multiprogramming OS
- Real-time OS
- Multithreading OS
2. On the basis of user interface
3. On the basis of mode of user
- Single user OS
- Multiuser OS
A batch processing is a group processing system in which all the required inputs of all the processing task are provided initially. The result of all the task are provided after the completion of all the processing. Its main features are
- Multiple task are processed.
- User cannot provide input in between processing.
- It is appropriate only when all the inputs are known in advance.
- It requires larger memory.
- CPU idle time is less.
- Printer is the appropriate output device.
- It is old processing technique and rarely used at present.
Multitasking OS are of two types:
- Pre – empetive multitasking
- Co-operative multitasking
In the pre-empetive multitasking, the OS allows CPU time slices to each program. After each time slice, CPU executes another task.
Example:- Windows XP
In co-operative multitasking, a task can control CPU as long as it requires. However , it will free CPU to execute another progrqam if it doesn’t require CPU
Example :- Windows 3x , Multifinder
A multiprocessing OS can support the execution of multiple number of the same time. It uses multiple number of CPU. It is costlier. However, the processing speed will be faster. It is complex in its execution.
Operating system like Unix,64bit edition of windows, server edition of windows, etc are multiprocessing.
In a multiprogramming OS, more than one programs can be used at a same time. It may or may not be multiprocessing, In a single CPU system, multiple programs are executed one after another by dividing the CPU in small time slices.
Example :- Windows, linux, Unix, etc.
A program in execution is known as process. A process can be further divided into multiple sub processes. These sub- processes are known as threads. A multi-threading OS can divide process into threads and execute those threads. This increases operating speed but also increases the complexity.
Example :- Unix, Server edition of Linux and Windows