What is Operating System? History, Evolution, Basic Functions & Resource Abstraction
1. What is an Operating System (OS)?
An Operating System (OS) is the most important system software that acts as an intermediary (bridge) between the Computer User and the Computer Hardware (CPU, RAM, Hard Disk, Printer, Keyboard).
Without an Operating System, a computer is just a lifeless box of metal and silicon circuits. The OS manages all hardware and software resources and provides a convenient, safe environment in which application programs (like Chrome, MS Word, VLC, or Games) can run.
Simple Real-Life Analogy: Think of a computer like a busy 5-Star Hotel:
- The Hardware (CPU, RAM, Disk) is the kitchen, rooms, and electricity.
- The Users & Apps are the hotel guests asking for food and room service.
- The Operating System is the Hotel Manager—guests never go into the kitchen to cook for themselves; they tell the Manager what they need, and the Manager coordinates all staff and resources smoothly and fairly!
Two Primary Goals of an Operating System:
- Convenience (User View): Make the computer system easy and intuitive for humans to use (especially in PCs and smartphones).
- Efficiency (System View): Manage scarce hardware resources (CPU time, RAM space, I/O devices) fairly and efficiently so nothing is wasted.
2. History and Evolution of Operating Systems
Operating systems evolved alongside computer hardware across four major generations:
1. First Generation (1945–1955): Vacuum Tubes & Plugboards (No OS)
- Computers like ENIAC were massive room-sized calculators built with glowing vacuum tubes.
- No Operating System existed! Programmers had to manually wire electrical plugboards and enter raw binary machine code (
0s and1s) one program at a time (Serial Processing).
2. Second Generation (1955–1965): Transistors & Batch Systems
- The invention of transistors made computers more reliable, known as Mainframes.
- Programmers wrote programs on paper Punched Cards (in FORTRAN or Assembly).
- Simple Batch Operating Systems (like IBM’s FMS and IBSYS) were invented: an operator collected similar jobs into a batch on magnetic tape, and a small monitor program automatically loaded the next job as soon as the current job finished, reducing human setup time.
3. Third Generation (1965–1980): Integrated Circuits (ICs) & Multiprogramming
- InBatch systems, whenever a job waited for slow I/O (reading a tape), the expensive CPU sat idle 80% of the time!
- Third-generation systems (like IBM System/360) introduced Multiprogramming (keeping multiple jobs in RAM at once so the CPU switches to another job whenever one waits for I/O) and Time-Sharing Systems (CTSS, MULTICS).
- This era also saw the birth of UNIX (developed by Ken Thompson and Dennis Ritchie at Bell Labs in 1969).
4. Fourth Generation (1980–Present): Personal Computers, GUI & Mobile OS
- Large-Scale Integration (LSI/VLSI) enabled the Microprocessor, giving birth to affordable Personal Computers (PCs) and Workstations.
- GUI (Graphical User Interface) with windows, icons, menus, and mouse pointers replaced command-line terminals—led by Apple Macintosh (1984), Microsoft Windows, and Linux (1991).
- Later expanded into Mobile & Handheld OS (Android, iOS), Network/Distributed OS, and Cloud Virtualization.
3. Basic Functions of an Operating System
What does an Operating System actually do behind the scenes? This is a guaranteed 5- to 8-mark question in DAVV BCA exams!
- Process Management (CPU Management): Decides which process gets the CPU, when, and for how long (CPU Scheduling). It handles process creation, termination, context switching, synchronization, and deadlock handling.
- Main Memory (RAM) Management: Keeps track of which bytes of RAM are currently in use and by which process. Allocates memory when a process starts and frees it when the process exits, using techniques like Paging, Segmentation, and Virtual Memory.
- File System Management:
Abstracts raw magnetic/SSD sectors into human-friendly Files and Folders (Directories). Manages file creation, deletion, naming, backup, and access permissions (
Read,Write,Execute). - Device (I/O) Management: Manages communication between the CPU and all hardware peripherals (keyboard, mouse, monitor, printer, USB drives) using Device Drivers, Buffering, and Spooling.
- Secondary Storage (Disk) Management:
Since RAM is volatile (loses data when power is turned off), the OS manages permanent storage on HDDs/SSDs—including Free-Space Management, disk block allocation, and Disk Scheduling Algorithms (
FCFS,SSTF,SCAN). - Security and Protection:
- Protection: Ensures one running program cannot corrupt the memory or files of another program.
- Security: Defends the system against unauthorized external access using user login authentication (passwords/biometrics), firewalls, and access control lists.
- User Interface (Command Interpreter / GUI): Provides an interface—either a CLI (Command-Line Interface / Shell) or a GUI (Graphical User Interface)—for users to interact with the computer.
4. Resource Abstraction in Operating Systems
What is Resource Abstraction?
Resource Abstraction is the process by which the Operating System hides the complex, messy, hardware-specific details of physical devices and presents a clean, simple, uniform logical interface (virtual machine) to programmers and applications.
Why is Resource Abstraction Needed? Imagine if a programmer writing MS Word had to write code to control the exact stepper-motor voltage and magnetic head sector of 500 different hard disk brands (Seagate, WD, Samsung SSD)! Writing software would be impossible.
How the OS Abstracts Hardware Resources:
| Physical Hardware Resource (Complex) | OS Resource Abstraction (Simple Logical View) |
|---|---|
| Hard Disk Tracks, Sectors & Platter Cylinders | Abstracted into simple Files and Folders (open("notes.txt"), read(), write()). |
| Single Physical CPU Core | Abstracted into multiple independent Processes & Threads running concurrently. |
| Limited Physical RAM Chips + Disk Swap | Abstracted into a huge, contiguous Virtual Address Space for each program. |
| Display Adapter Graphics Registers | Abstracted into Windows, Canvases, Fonts, and Icons. |
| Network Card (NIC) Electrical Signals | Abstracted into simple Network Sockets (send(), receive()). |
5. OS Structure (Kernel vs Shell) & System Calls
- Kernel: The core heart of the Operating System that stays in main memory (RAM) 100% of the time from boot-up until shutdown. It runs in privileged Kernel Mode and directly controls the CPU, memory, and hardware devices.
- Shell: The outer layer of the OS that wraps around the Kernel and interacts with the user (via CLI commands or GUI clicks).
- System Calls: How does a normal user program (running in restricted User Mode) ask the Kernel to perform a hardware operation like reading a file or creating a process? Through a programmatic request called a System Call (e.g.,
fork(),open(),read(),write(),exit())!
💡 Exam Preparation Tips for DAVV BCA
- Always draw Figure 1.1 (The 4-Layer Computer System Diagram: Hardware → OS → Application Programs → Users) in your very first answer of Unit 1.
- If asked about Resource Abstraction (a frequent 5-mark question in DAVV), use the table above showing how the OS transforms Tracks/Sectors → Files and Physical RAM → Virtual Address Space.