CSS Optional — Paper-II, Section-A · P-II.III.I
The OS is examined from two angles that examiners deliberately mix: (1) its role — what job it does for the user and the hardware, and (2) its evolution — how that job changed as hardware got cheaper and users got more demanding. Answer both angles even when only one is explicitly asked, because full marks usually require linking the historical stage to why that stage's OS looked the way it did.
An OS is system software that sits between the user/application programs and the computer hardware. It is examined under two complementary views:
Concrete responsibilities that follow from these two views: process management, memory management, file system management, I/O/device management, protection & security, and providing the user interface (CLI/GUI) through which humans issue commands.
graph LR
A["1940s-50s<br>Serial Processing<br>(no OS at all)"] --> B["Late 1950s-60s<br>Batch Systems<br>(operator + job queue)"]
B --> C["1960s<br>Multiprogrammed<br>Batch Systems"]
C --> D["1970s<br>Time-Sharing<br>Systems"]
D --> E["1980s-90s<br>Personal Computer /<br>Desktop OS"]
E --> F["2000s-present<br>Distributed, Real-Time,<br>Mobile, Cloud OS"]
| Service | What it means |
|---|---|
| User Interface | CLI (command-line) or GUI through which users issue commands |
| Program Execution | Loading a program into memory, running it, and handling normal/abnormal termination |
| I/O Operations | A running program may need I/O involving a file or device — the OS provides the means since users can't control I/O devices directly |
| File-System Manipulation | Create/delete/read/write files and directories, search, list, manage permissions |
| Communications | Exchange of information between processes, either on the same computer (shared memory/message passing) or across a network |
| Error Detection | Constantly monitor for errors — in the CPU/memory hardware, I/O devices, or user programs — and take corrective action |
| Resource Allocation | When multiple users/jobs run concurrently, resources (CPU cycles, memory, storage, I/O devices) must be allocated to each |
| Accounting | Track which users use how much and what kinds of resources, for statistics or billing |
| Protection & Security | Ensure all access to system resources is controlled, and the system is protected from unauthorized access/attacks |
The first five (UI, program execution, I/O, file manipulation, communication) exist to make computing more convenient for the user; the last four (error detection, resource allocation, accounting, protection) exist to ensure efficient operation of the system itself — a useful two-bucket way to organize a "list the services" answer for full marks.
When a computer is powered on, no OS is yet in memory, so a small bootstrap program (stored in firmware — BIOS/UEFI or ROM) runs first. It locates the OS kernel on disk, loads it into memory, and transfers control to it (_start), after which the kernel initializes its data structures, starts the first process (init/systemd on Linux), and the system becomes interactive. This is worth a one-line mention whenever a question asks "how does an OS begin operating" alongside the evolution/role answer.