If you need to get your task done by someone who is from a different country than you and speaks a different tongue, then you certainly need a mediator. An Operating System (OS) is just like that mediator, which acts as a communication link between you and the system.
An Operating System is a kind of system software that acts as an interface between the user and the system hardware. It controls the flow of execution of the processes that need to run on the system. Without the presence of an operating system, the system, on the whole, is just an assembled set of hardware.
Let us explore more about operating systems by knowing their different types, functions, features, and much more about them.
History of Operating System
Before proceeding to learn about the technicalities of operating systems let us learn about its origin and how the idea of building an OS popped up.
Earlier the machines were only single-tasking and the programs in them were loaded using punch cards or tapes, which ran until the program crashed. So in the 1950s, Alan Turing came up with a concept and introduced some assisting libraries for the programs.
This would be linked to the user’s programs and would assist in input, output, and compiling procedures. This was when the foundation for the modern-day Operating System was laid.
In the 1950s itself, General Motors Research Lab implemented the first operating system for IBM 701. Later, in the 1960s OS started getting implemented using disks. In 1981 Microsoft built its first operating system i.e DOS. And later in 1985, they paired it up with a Graphical User Interface (GUI) whose successive versions we now use.
Need for an Operating System
You now know that an OS is like a mediator between the system hardware and its user. Hence its requirement lies in providing an interface between the users and systems like computer systems, mobile phones, music players, tablets, etc. However, let us briefly discuss these requirements.
- Resource Allocation: Since more than one program runs simultaneously on the system and uses the CPU and memory, we need an operating system to manage the resource distribution among the various processes.
- Multitasking: There is a need for system software to facilitate the execution of more than one process/application simultaneously.
- Graphical user interface: It eases the user’s understanding of the system process and enables a smooth interaction between the two.
- File management: It means there are many resources required by a process for its execution, so which resource to allocate and when is the task handled by an operating system.
- Platform: It’s a platform or a link without which the communication between user and system is next to impossible.
Types of Operating System
There are different types of operating systems currently being designed in the market, depending upon their purpose of usage.
- Batch operating system
Some jobs utilise similar kinds of resources and perform the same task, for these the user chooses a batch operating system. It is used to break down the lengthy computer process into small jobs and by doing this we increase the speed of execution. Here the user does not operate the system directly, but the jobs are punched and given to the operator.
Example: Payroll systems, Bank statements
- Multitasking/ Time-Sharing operating system
This type of operating system enables users at different locations or on different terminals to share the same CPU at the same time. The processor or CPU is called time shared since it is shared among different people.
Example: Windows 2000. Linux
- Realtime operating system
From the name, we can conclude that a real-time operating system executes the processes in absolutely no time and give real-time outputs as.
Example: Military operating systems
- Distributed operating system
This operating system uses many processors, located on different systems for fast execution. This not only boosts up the speed but also prevents the loss of information.
Example: Intranets, Internet, WWW, LOCUS, etc.
- Network operating system
These operating systems can manage data, user groups, and facilitate security operations, application processes, and other networking functions. They run on a server. Example-: Microsoft Windows Server 2003/2008, MAC OS X, UNIX, Novell Netware, BSD
- Mobile operating system
These operating systems are specially designed to run on Mobiles, Tablets, and other wearable gadgets. This software does not support computer systems and can only be run on phones. Examples: Android, iOS, Blackberry
- Single-user operating system
This type of operating system only allows the execution of one process/function at a time. It does not support Parallel execution of functions.
Example: MS-DOS, Palm OS
Features of an Operating System
While choosing a system, people generally scrutinise its operating system for the features it supports. So let us look at a glance at the probable features that are present in an operating system.
- Resource allocation
- Ease of execution
- Information & Resources protection from threats
- File System Manipulation
- Handling I/O operations
- Virtual Memory Multitasking
- Error Detection & Handling
- Permission to access Disk and File system
- Memory Management
- Protected & Supervisor mode
- Program Execution
- Virtual Memory Creation
Functions of an Operating System
After choosing the operating systems on desired features now let us see the functions of operating systems:
- Error detecting mechanism: Operating System exhibits an error detecting mechanism by producing traces, valid error messages, and dumps. It is equipped with other debugging and error detecting aids.
- Job Allocation: The operating system keeps a track of the resources utilised by jobs, the time taken for execution, and the order of execution of jobs.
- Co-ordination between other Softwares: Since an operating system also exhibits multitasking features, therefore it becomes its responsibility to maintain coordination among various software and applications running on the system. It sees to the distribution of assemblers, interpreters, RAM between them.
- System Performance: A good operating system yields good performance. It even keeps a track of the time taken between a service request and its response time.
- Security: An operating system’s ability to protect the system from external threats, malware, a viruses that can lead to disruptions in the processing environment. A good OS protects the files and passwords from external access.
- File Management: One of the main tasks of the operating system is to stack the files in sorted order. The OS supports easy navigation and usage of file directories. These directories may contain files and other navigation directions.
An Operating System performs the following activities for file management:
- OS keeps track of information, location, uses, status, etc, which are collectively known as the file systems.
- OS decides which job will get the resources.
- It allocates the resources.
- It is also responsible for de-allocates the resources.
- Process/Processor Management: Since the operating system also promotes multiprogramming, it gets to decide which process will get the resources and which process will be allotted with the processor (CPU). This whole procedure is called process scheduling So in terms of process management operating system is bestowed with the following activities:
- Keeps track of processor and status of the process. The program responsible for this task is known as a traffic controller.
- OS allocates the processor to a process.
- OS de-allocates processors when a process is no longer required.
- Memory Management: Since in a computer both the CPU and I/O devices require memory, hence it becomes the task of OS to manage the memory distribution between the two. When a program needs to be executed then it is extracted and loaded onto the main memory. Until that space is freed no other program can utilise the memory. The memory management task is performed by the OS via Virtual Memory and Partitioning.
- Device Management: The operating system interacts with the hardware of machines and supports the running of different programs and applications. It communicates with the underlying hardware and connected devices and tries to strike a balance between the two. This is important because CPU execution speed is faster than that of I/O resources.
Frequently Asked Questions
Operating System serves as an interface between the user and the system hardware. Hence the presence of an OS is very important for the user to communicate with the user.
An OS serves as a link between the user and the system. The absence of an operating system will lead to no communication between the user and the system, and thus the user will not be able to perform tasks on the system.
An operating system is a link of communication between the user and the system hardware. It offers many services like-: memory management, file management, process management, and many more.
Mainly there are seven types of operating systems. Some of them are single-user, multitasking, batch, mobile, etc.
The four types of OS are Batch, Mobile, Multitasking, Real-time etc.
Since operating systems is one of the most popular topics among the interviewers, students generally have a weak hand when coming to OS. So if you are preparing for any company’s interview then Coding Ninjas’ short-term course on Operating Systems will benefit you.
It is a two-month course and here you will be taught the core concepts of the operating systems that will help you ace the interviews. And this is not enough, you will be working on 150+ practice problems of operating systems that have been previously asked during the interviews of some tech giants.
If you are interested to know more about operating systems you can check out Coding Ninjas’s Operating System Guide To know more about the different kinds of operating systems available checkout Coding Ninjas blog on Types of Operating Systems.
You may also find the below-mentioned links useful if you are looking for some exclusive content on operating systems:
- Operating Systems Tutorials with code explained
- How to choose a good OS?
- Top operating systems for programmers
This was all you needed to quench your thirst to know about the operating systems. Hope this helps you out in preparing for tech giants. You can also check out some exclusive in-demand courses offered by Coding Ninjas.
By Shivi Srivastava