When you start your computer, you think you have a control, the mouse and keyboard will move and work as you wish them to. However, at the same time a lot of things are happening inside it and the Operating System (OS) is managing all those things. This post will discuss about what is an Operating System (OS), how it manages Hardware Resources, its functions, types and how it works in your computer.
What is an Operating System (OS)
An Operating System (OS) is a powerful program that manages and controls the software and hardware on a computing device so as to make the device behave in a predictable but flexible way. An OS acts an interface between a user and a device. Thus, in general sense, an OS is that software which helps a user to run other applications on his computing device.
Fig. 1 – Introduction to OS
All the computers and computer-like devices comprise OperatingSystem, including laptop, desktop, or any other smart computing system like a smart phone or a smart watch.
Some of the popular OS are Linux, OS X, WINDOWS, VMS, OS/400, AIX, z/OS, etc.
How Operating System Manages Hardware Resources
The OS performs multiple functions and management. With some examples, we will understand how the it manages computer’s hardware resources by performing required services:
Front End Management of Hardware Resources
- Managing Input and Output devices such as a mouse, keyboard, display monitors, scanners and printers.
- Managing network devices such as routers, modems and network connections.
- Managing Storage devices, both internal and external drives.
Fig. 2 – Interface Between User and Computer’s Hardware
Back End Utilization of Software Applications for Managing Hardware Resources
- It manages the allocation of internal memory between multiple applications.
- An OS sends massage about the status of operation and any error that may have occurred to the interactive user.
- It helps in performing batch jobs for example, printing etc.
- Depending on the capability of devices that can offer parallel processing, a program is managed by OS such that it can run on more than one processor at a time.
Functions of Operating System (OS)
The functions of an OS include:
- Memory Management
- Device Management
- Processor Management
- File Management
- Controls System Performance
- Error Detection
- Coordination among Software and Users
- Job accounting
Fig. 3 – Functions of Operating System (OS)
One of the main functions of OS is to manage the primary and secondary memory. All the memory devices such as hard disk, pen drive etc. are managed by OS.
Memory management keeps an eye on each and every memory location, in any case either it is allocated or it is not allocated (free). Memory allocation to the processes is also decided and checked by Operating System. It decides and checks which process will obtain memory and at what time.
An OS with help of their respective drivers manages device communication. Following activities are performed by an Operating System for device management:
- It Keep a track of all devices. This task is performed by I/O controller.
- It decides which process will get the device when and for how long.
- It allocates and de-allocates the device efficiently.
In a multi-programming environment, it is OS who decides which process will get the processor when and for how long. This task is called Process Scheduling. Following activities are done by OS for processor management:
- It keeps a track of processor tasking and checks the status of process. Traffic controller performs this task.
- It allocates the processor and also de-allocates processor when a process is complete and not required.
In a file system, generally directories are organized for usage and easy navigation. Following activities are performed by an OS under file management:
- It keeps a track of location, information, status etc. This collective is known as File System.
- It decides who will get the resources.
- It allocates and de-allocates the resources.
Controls System Performance
An OS records delays between a request and response of the system.
An OS by using password and other similar techniques prevents and checks unauthorized users to access the data and program.
By using various error detecting aids an operating system helps in prevention of errors.
Coordination among Software and Users
It Coordinates and assigns compilers, assemblers, interpreters and other software to users.
It keeps a track of resources and jobs used by different users all the time.
Types of Operating Systems
The broad family of operating systems can be categorized in to four types based on their controlling and supporting systems. These types of Operating System are:
- Real Time Operating System (RTOS)
- Single User Single Task OS
- Single User Multi Tasking OS
- Multi User OS
Fig. 4 – Types of Operating System
Real Time Operating System (RTOS)
A Real Time Operating System (RTOS) intends to provide real time applications that process data without buffer delays. A Real Time Operating System is a time bound operating system which has fixed time constraints. Processing has to be done within the defined time constraints or the system will definitely fail. Examples of Real Time systems are Air Traffic Control Systems, Command Control Systems etc.
Real Time systems are classified in three types depending on two factors i.e. on factors inside the computer system and factors outside the computer system. A missed deadline in Hard Real Time Systems is disastrous. In case of Soft Real Time Systems it may lead to a significant loss. In Firm RTOS, the deadline is specified but missing it does not cause a big impact.
Command Control systems and Air traffic control systems are best examples of Hard Real Time systems. Online transaction systems, like booking a movie ticket or airline reservation systems are best examples of Soft Real Time systems. Multimedia applications is one example of Firm RTOS.
Single User Single Task Operating System
As the name indicates, Single User Single Task OS is a system in which only one program is executed at one time. It manages the computer in a way that one user can successfully perform one thing at a time.
There is a problem with these types of Operating System that the program has to be arranged in a queue.
Single User Multi Tasking Operating System
This Operating System will allow a single user to operate several programs at the same time. For example, a Windows user may be writing an e-mail while printing a word document while downloading a file from Internet.
Multi User Operating System
Multi User Operating System allows various different users on different desktop or computer to access a single System. A user at the terminal or desktop, through a network takes access of the system and other system attached machines such as printers.
The Operating System takes care of all the requirements of the various users in a balanced manner. Also, it ensures that each of the programs being used has a separate and sufficient resource so that problem of one user doesn’t affect the entire community of users.