An ‘operating system’ (OS) is a collection of system programs that together control the operation of a computer system. The OS along with hardware, application and other system softwares and users constitute a computer system. It is the most important part of any computer system. It acts as an intermediary between a user and the computer hardware. The OS has evolved immensely from its primitive days to the present digital era.
From batch processing systems to the latest embedded systems, the OS can be classified into six broad categories that are described as follows:
1. Batch processing OS: This type of OS was one of the first to evolve. It allowed only one program to run at a time. These kinds of OS can still be found on some mainframe computers running batches of jobs. It works on a series of programs that are held in a queue. The OS is responsible for scheduling the jobs according to priority and the resources required. These are good at churning through large numbers of repetitive jobs on large computers. For example, this OS would be best suited for a company wishing to automate their payrolls. A list of employees will be entered, their monthly salaries will be calculated, and corresponding pay slips would be printed. Batch processing is useful for this purpose, since these procedures are to be repeated for every employee and each month.
2. Multi-user or time-sharing OS: This system is used in computer networks that allow different users to access the same data and application programs on the same network. It builds a user database account, which defines the rights that users can have on a particular resource of the system. Some of the common examples of multi-user OS include Windows XP and Linux.
3. Multi-programming or multi-tasking OS: In this system, more than one process can be executed concurrently. The processor is switched rapidly between the processes. Hence, a user can have more than one process running at a time. For example, a user on his/her computer can have a word processor and an audio CD player running at the same time. It allows the user to switch between the running applications and even transfer data between them. That is, a user can copy a picture from an Internet opened in the browser application and paste it into an image editing application.
4. Real-time OS (RTOS): This system is designed to respond to an event within a pre-determined time. This kind of OS is primarily used in process control, telecommunications, and so on. The OS monitors various inputs that affect the execution of processes, changing the computers model of the environment, thus affecting the output, within a guaranteed time period (usually less than 1 second). As this OS responds quickly, it is often used in applications such as flight reservation system, railway reservation system and military applications. Two common examples of RTOS are Windows CE and Lynx OS.
5. Multi-processor OS: This system can incorporate more than one processor dedicated to the running processes. This technique of using more than one processor is often called ‘parallel processing’. The main advantage of this OS is that it increases the system throughput by getting more work done in less time.
6. Embedded OS: It refers to the OS that is self-contained in the device and resident in ROM. Since embedded systems are usually not the general-purpose systems, they are lighter or less resource intensive as compared to general-purpose OS. Most of these OSs also offer real-time OS qualities. Typical systems that use embedded OS are household appliances, car management systems, traffic control systems, and energy management systems.