An operating system(OS) is the type of system software that controls all computer functionalities, from resource management to security. It handles everything. It's like an interface between computer hardware and the user.
The OS also provides its services to users, programs, and hardware. The user can never interact directly with the computer system's hardware. To use it or make the computer system functional, the user needs to request the operating system for its services.
The operating system is just like a primary resource manager because it controls or gives us an interface to use all the hardware resources connected with the computer, such as processors, memory, I/O devices, all communication devices, and so on.
Note: Operating system either runs in
or kernel mode Kernel mode, also known as system mode, is one of the central processing unit (CPU) operating modes. While processes run in kernel mode, they have unrestricted access to the hardware. . user mode The system is in user mode when the operating system is running a user application such as handling a text editor.
The OS provides a programming interface or environment to a programmer through which the programmer can work on it. When user programs need to use various computer resources, it requests OS to provide them. OS offers several services that can be accessed through interfaces and
Following are major services provided by the OS:
Input/Output(I/O) operation
Resource allocation
Communication
Security
File system manipulation
User interface
Program execution
Let's discuss each service briefly:
This operation comprises the I/O devices and their required driver software. The driver hides all the complexities of controlling the hardware from the user. The OS plays the communication part between the user and device driver.
The actual meaning of this operation is reading or writing with any file or device, and the operating system provides the required access.
All modern OS supports multi-programming or multitasking. In such a case, the primary resources such as CPU cycles, file storage, and main memory are allocated to each task or user. In the case of multitasking, the OS has the following responsibilities:
Management of all resources using schedulers.
Execution of scheduling algorithm for selecting the desired job.
In the case of
Manage the mean of communication between processes that needs data transmission. The processes may be on the same computer or different but connected through a network.
Provide security and avoid data being transferred from the interference of other processes.
Note: Whatever model of communication is being used, whether it's shared memory or message passing, the OS handles it.
The operating systems ensure all the usage of information, hardware resources, and data of a computer in a very secure way. The service protects the data from worms, viruses, malfunctions, threats, and unauthorized access.
As computers can have multiple users and perform numerous tasks concurrently, the various processes need protection from the interference of other processes. The OS handles the following things:
Ensure controlled access to system resources.
Provide authentication for each user or process.
Protect computer from unauthorized external I/O devices access.
All the operations regarding managing files, like reading, writing, deleting, or modifying a file, fall under this service. A computer's file system is generally organized in directories managed by the operating system. The OS controls the following:
Permission to access a file. For example, read-only, read-write, denied, and so on.
Provide an interface to perform all operations on files and directories.
Differentiate between different types of files.
The OS provides all the means to interact with the user better by providing user interfaces. These interfaces act like a bridge between the user and the system.
The operating system loads the program from the secondary storage to the computer system's main memory. The process ranges from the user program to the system program like file servers, name servers, printer spooler, etc. The OS provides the following services for program execution:
Loads and execute a program into the memory.
Provide the mechanism for both process synchronization and communication.
Control the program execution context and handles deadlocks.
The following simulation is a monolithic kernel-based OS that provides different services at the kernel level triggered through the OS's interfaces. For example, when we try to use a hardware OS that handles the device drivers or when the concurrent process needs to communicate, it communicates through the inter-process communication mechanism provided by the OS as well.
Free Resources