[Day 1] 2. Functions of Operating System
Functions of an Operating System (OS)
The Operating System performs several critical functions that ensure the smooth operation of a computer. These functions can be divided into two categories: core (compulsory) and additional (optional) functionalities.
Core Functions (Essential for Every Operating System)
-
Process Management:
- Definition: A process is a program in execution.
- Function: The OS manages multiple processes running simultaneously through Inter-Process Communication (IPC), ensuring proper execution and synchronisation of tasks.
-
CPU Scheduling:
- Definition: The CPU is responsible for executing tasks, but it can only handle one process at a time.
- Function: The CPU Scheduler manages which process gets CPU time and for how long, optimising task execution based on priority and resource availability.
-
Memory Management:
- Definition: The system's Random Access Memory (RAM) is where programs are loaded for execution.
- Function: The OS manages the allocation and de-allocation of memory to various programs running in RAM, ensuring optimal use of memory resources and avoiding conflicts.
-
File and I/O Management:
- File Management: The OS manages how data is stored, retrieved, and organised in files on storage devices like hard drives.
- I/O Management: The OS also handles communication with input/output devices (e.g., keyboards, monitors, printers), ensuring data is transmitted properly between the user and the hardware.
-
Hardware Abstraction:
- Definition: Direct interaction with hardware is complex.
- Function: The OS provides a layer of abstraction, making hardware accessible to software via system calls and drivers. This layer is usually implemented in low-level languages like assembly.
Additional Functions (Optional but Common in Most OS):
-
User Interface:
- Definition: The interface that allows users to interact with the system.
- Function: Provides mediums like Command-Line Interfaces (CLI) or Graphical User Interfaces (GUI), enabling users to give commands and manage system operations.
-
Networking:
- Function: The OS facilitates network communication, allowing devices to connect and exchange data over local or global networks (e.g., the Internet).
-
Security and Protection:
- Function: The OS enforces security protocols, protecting the system from internal and external threats like malware, unauthorised access, and data breaches.
Core vs. Optional Functions
-
The first five functions (Process Management, CPU Scheduling, Memory Management, File & I/O Management, and Hardware Abstraction) are essential and required in every Operating System.
-
The last three functions (User Interface, Networking, Security and Protection) may not be required in certain specialized systems, like Real-Time Operating Systems (RTOS).
Example: In a system like an airbag controller in a car, there’s no need for user interaction, and the OS performs its function without a user interface. RTOS is designed to respond quickly to events (e.g., deploying an airbag during a collision), making user interfacing optional.
Key Concept: Process
- A process is a program that has been loaded into memory and is actively being executed by the CPU. It differs from a program, which is just a set of instructions on the disk.
Read Next
[Day 1] 3. File Management
### **File Management in an Operating System**: #### **What is a File?** A file is essentially a **collection of data** stored in a system. When...
[Day 1] 4. File System
!4. Partition of Hard Disk.png ### **File System** A file system is responsible for organising and managing files on a storage partition. It d...