Operating System can be classified into the following categories:
A multiprogramming technique is used in the multi-user environment. It is the technique in which multiple users programs are executed simultaneously by single processor or CPU. Multiprogramming means when two or more programs are provided to the CPU for processing or loaded into the internal storage of CPU at the same instant.
From the loaded programs, once the portion of one program is executed and after the completion of previous program, the portion of another program is executed and this process will go on until all the program don't get executed. Thus, it refers to the concurrent execution of several programs. The main purpose of multiprogramming is to increase the utilization of the computer and its resources.
High-speed CPU allocates its time to every program in a time sharing mode and in such a manner that user feels that CPU is working for program only but in reality, the CPU is working for other programs too at the same time.
A multitasking OS allows more than one program to run concurrently mainly in a single user system. Multitasking computers are capable of running several tasks or programs at the same time. For executing several tasks, it can be single or multiprocessing system.
In some system, one of the processes is called the foreground (front panel or active) that accepts input from the keyboard, mouse and other input devices. Background processes data to the video display. For example, some word processors print files in the background, (Simultaneous Peripheral Operation On-Line).
Fig: Multitasking with three program
Presently, most of the operating systems like MS Windows, Linux and Mac OS are multitasking operating systems. There are two types of multitasking OS: pre-emptive and co-operative. Pre-emptive multitasking is task in which a computer's operating system uses some criteria to decide how long to allocate to any one task before giving another task a turn to use the operating system. Co-operative multitasking is a style of computer multitasking in which the operating system never initiates a context switch from a running process to another process.
A multiprocessing system has more than one processor linked together in a coordinated way. A multiprocessing OS is one which supports running a program in more than one Central Processing Unit (CPU). Server Systems and Super Servers are specially designed to support multiple processors. MVS and UNIX are the two example.
It involves two or more processors (CPU) for controlling the different activities or execution of many programs / instructions simultaneously. Multiprocessing concept is known as parallel processing because parallel means solveing one big task or many tasks at the same time. It helps to increase the program execution speed of the computer and it is more costly and complex technique to employ.
Time sharing system is a form of multi-programmed OS that operates in an interactive mode with a quick response time. The user provides a request to the computer through a keyboard. The computer processes to and a response (output) is displayed on the user`s terminal.
Fig: Time-sharing system
It takes a very small fraction of time for each action or command. Only a little CPU time is needed for each user. The CPU switches so rapidly from one user to another that each user is given an impression that s/he has his/her own computer, while actually, it is one computer being shared among many users.
A program in execution (process) can be divided into multiple smaller sub-processes. These sub-processes are known as a thread. Multithreading OS has the ability to divide the process into threads and execute them concurrently. Threads are individual processes that execute simultaneously in multi-tasking OS.
Threads are individual processes that execute simultaneously in multi-tasking OS. The programmer must carefully design the program in such a way that all threads can execute at the same time without interfering with each other. Each processor can handle different tasks or different threads of execution for a single task and more processors can be added as necessary.
Threads are more useful because they eliminate the need for the OS to constantly load and unload information to and from memory. This reduces overhead not only in memory space but also in the time it takes to create the information in memory. It interacts with different parts of the systems such as disks systems, network or the user.
Batch processing OS:
In batch processing environment, it requires grouping of similar jobs which consists of programs, data and system commands. It is also known as offline processing. This type of processing is suitable for programs with large computation time with no need of user interaction and involvement. Examples are: Payroll, Forecasting, Statistical analysis, etc.
It does not allow the interaction between users and program during execution. The time taken between job submission and job completion is very high. It is an older processing concept. Batch processing OS is non-interactive environment and offline debugging, which means that a programmer cannot correct bugs when it occurs. It has to be in later on.
Online processing OS:
In the online processing, method transactions are processed as soon as it happened and at the place of origin. It is quite simple compared to real time processing. In this type of processing OS, a user can interact or provide inputs during processing as well.
Fig: Online processing
The output is provided back to the users as soon as the processing is completed. It is the popular processing technique at a present time.
The real-time processing method is one that controls environment by receiving data, processing them and taking action or returning results sufficientlyand quickly to affect the functioning of the environment at that time.
It is an online processing system in which the processing time is critical. The entire processing task has to be completed in the predefined time. The term real time refers to the technique of updating files with the transaction data immediately after the event which it relates, occur.
Real-time OS is suitable for the following operations:
A user interface allows a user to communicate with the computer. A user interface brings structure to the interaction between user and computer. There are mainly two types of user interface. They are:
A graphical user interface allows a user to enter commands by pointing and clicking at objects that appear on the screen. It takes advantage of the computer`s graphical capabilities to make the program easier to use for the users.
Well designed GUI can free the user from learning complex command languages. On the other hand, many users find that they work more effectively with a command-driven interface, especially if they already know the command language.
As a Graphical User Interface, it needs a lot of RAM and hard disks for the smoother execution.
Here are the features of Graphical User Interface (GUI):
In character/command-driven system, to communicate with the computer, the user has to instruct the computer in special commands (words). DOS is a very commonly used command-driven user interface. CUI are very difficult to use if the user is a beginner or doesn`t know the correct commands.
Command-driven systems can be very unfriendly and confusing for non-computer experts to use. However, it can be used other older system with low processing capability and low memory.
Fig: Character user interface
Features of Character User Interface (CUI)
Under the classification of OS based on the Mode of User, it consists of two OS and they are:
The majority of small microcomputer based systems have single user OS, which allows a single user to operate the machine in an interactive mode but normally, only allows one user program to be run in main storage and processed at a time i.e. there is no multiprogramming of user programs.
Fig: Single user OS
There is a number of well-established OS that falls into this category such as MS-DOS, PC-DOS are single user program or operating system.
A multi-user OS allows two or more users to run programs at the same time. Some permit hundreds or even thousands of concurrent users. Some of the examples are UNIX, LINUX etc. The multi-user OS shares computer resources among these users, allowing each a small slice of the processor time.
This concept is known as time-sharing. Due to the high speed of computers, the overall effect of time-sharing is that it gives the users the impression that they are all being served at the same time even through the OS serfs them one at a time.
(Leon and Leon)
Leon, Alex and Mathews Leon. Fundamental of Information Technology. India, 2015.
Shrestha, Prachanda Ram, et al. Computer Essentials. Kathmandu: Asmita's Publication, 2014.
Types of Operating Systems (OS)
1.Classification of OS based on the Processing Method
2.Classification of OS based on the User Interface
3.Classification of OS based on the Mode of User