1. What is an Operating System?

Tanish KumarTanish Kumar
3 min read

1. What is an OS?

Simple Definition:

An OS is like a "super manager" of your computer:

  • It controls all hardware (CPU, RAM, disk, etc.).

  • It helps apps run without fighting over resources.

  • It protects apps from crashing each other.

Technical Definition:

"Software that manages hardware/software resources and lets users run programs efficiently."


2. Why Does an OS Exist?

(What if there was NO OS?)

Problem 1: Resource Chaos (No Fairness)

  • Example: TikTok vs. PUBG on a phone.

    • Without OS: TikTok hogs 100% CPU/RAM → PUBG crashes.

    • With OS: TikTok gets 20%, PUBG gets 50% → Both run smoothly.

    • Key Idea: Resource Management (OS acts as a referee).

Problem 2: Apps Become Too Complex

  • Without OS: Every app must handle:

    • Memory management (malloc in C++).

    • CPU sharing.

    • Disk access.

  • Result: Apps grow huge (e.g., 50MB app → 800MB).

  • OS Solution: DRY Principle (Don’t Repeat Yourself).

    • OS handles hardware tasks → Developers focus on app logic.

Problem 3: No Security/Isolation

  • Without OS:

    • TikTok can modify PUBG’s memory (e.g., set health = 0%).

    • Apps crash or behave unpredictably.

  • OS Solution:

    • Memory Protection: Apps can’t access each other’s memory.

    • Isolation: Apps run in separate "sandboxes."


3. How Does an OS Solve These Problems?

(A) Resource Manager (The Referee)

  • What? Divides CPU/RAM/GPU fairly.

  • How?

    • Uses scheduling algorithms (like a time-share system).

    • Example:

      • TikTok: 5% CPU, 10% RAM.

      • PUBG: 50% CPU, 60% GPU.

(B) Interface (The Middleman)

  • Analogy: Bank Teller (OS) between you (App) and vault (Hardware).

    • You don’t touch cash directly → Teller handles it.

    • Apps don’t touch hardware → OS manages it.

  • Example in C++:

      int* arr = new int[10]; // OS finds free memory, app doesn’t care where.
    

(C) Abstraction (Hiding Complexity)

  • What? OS hides hardware details.

  • Why? So developers don’t worry about:

    • Which RAM sector is free?

    • How to talk to the GPU?

  • Example:

    • You use cout << "Hello" → OS converts it to pixels on screen.

(D) Protection (The Bodyguard)

  • How?

    1. Memory Isolation: Each app gets its own "playground."

    2. Permissions: Apps can’t access others’ data without OS approval.

  • Example:

    • TikTok can’t corrupt PUBG’s memory.

4. Key Concepts Simplified

ConceptReal-Life ExampleTech Example
Resource MgmtTraffic light (controls cars)CPU scheduling
InterfaceRestaurant waiterSystem calls (malloc, open)
AbstractionDriving a car (no engine knowledge)Using printf() without knowing how it prints
ProtectionLocked personal lockerMemory isolation (TikTok ≠ PUBG)

5. Why Should You Care?

  • As a User: OS makes your phone/laptop fast, secure, and stable.

  • As a Developer: You write simple code (OS handles the hard stuff).

  • As a Student: OS concepts are foundational for:

    • Parallel programming.

    • System design (e.g., cloud servers).


6. Test Your Understanding

  1. Imagine no OS: How would you build an app that shares CPU fairly?

  2. Why can’t apps directly access hardware?

  3. Give an example of abstraction in programming.

0
Subscribe to my newsletter

Read articles from Tanish Kumar directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Tanish Kumar
Tanish Kumar