This question was asked in PSC Examination for Oil Corporation in 2016. You can view question paper.
What is an operating System?
An operating system is a collection of system programs that manages all the other programs (i.e, application programs) in a computer as well as the allocation and use of hardware resources such as the CPU (central processing unit), memory and the hard disk drive (HDD). It controls and facilitates the overall operation of a computer. It acts as an interface between the hardware and the user level program.
Features of Operating Systems
- Process Management
- Memory Management
- Disk Management
- User Interface
- Data and User security
- Managing input / output
- Handling Network communication
Types of Operating Systems
There are four major types of computer operating systems: A Real Time OS is for industry and machines. There’s basically no user involvement. A single-user single task operating system is for one person to do one thing at a time. A single-user multitask OS allows one person to run more than one application on a computer simultaneously. A multi-user operating system permits multiple users to access a single computer. [Source:Learning about Computers]
Batch Operating Systems
A batch operating system is a single stream system that processes the data and program submitted in a group or batch.
Batch processing requires the program , data and appropriate system commands to be submitted together in the form of a job to the computer operator. The job is usually in the form of punch cards . Computer executes the submitted commands and data to process and afer some time the computer produces output. The output consists of the result of program as well as a dump of the final memory and register contents for debugging.
Batch Operating system allow little or no interaction between users and executing programs. Programs that do not require interaction and programs with long execution times may be served well by Batch Operating System .
A real-time operating system is a multitasking operating system that aims at executing real-time applications. Real-time operating systems often use specialized scheduling algorithms so that they can achieve a deterministic nature of behavior. The main objective of real-time operating systems is their quick and predictable response to events. They have an event-driven or time-sharing design and often aspects of both. An event-driven system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts.
A multi-user operating system allows multiple users to access a computer system concurrently. Time-sharing system can be classified as multi-user systems as they enable a multiple user access to a computer through the sharing of time. Single-user operating systems, as opposed to a multi-user operating system, are usable by a single user at a time. Being able to use multiple accounts on a Windows operating system does not make it a multi-user system. Rather, only the network administrator is the real user. But for a Unix-like operating system, it is possible for two users to login at a time and this capability of the OS makes it a multi-user operating system.
Multi-tasking vs. Single-tasking
When only a single program is allowed to run at a time, the system is grouped under a single-tasking system. However, when the operating system allows the execution of multiple tasks at one time, it is classified as a multi-tasking operating system. Multi-tasking can be of two types: pre-emptive or co-operative. In pre-emptive multitasking, the operating system slices the CPU time and dedicates one slot to each of the programs. Unix-like operating systems such as Solaris and Linux support pre-emptive multitasking, as does AmigaOS. Cooperative multitasking is achieved by relying on each process to give time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking. 32-bit versions, both Windows NT and Win9x, used pre-emptive multi-tasking. Mac OS prior to OS X used to support cooperative multitasking.
A distributed operating system manages a group of independent computers and makes them appear to be a single computer. The development of networked computers that could be linked and communicate with each other gave rise to distributed computing. Distributed computations are carried out on more than one machine. When computers in a group work in cooperation, they make a distributed system.
Embedded operating systems are designed to be used in embedded computer systems. They are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources. They are very compact and extremely efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems.