/>

Lesson 3 — Intermediate

OS: Memory Management

Memory Management OS ka important topic hai — process ko memory kaise allocate hoti hai, virtual memory kya hai, paging kaise kaam karti hai.

⏱ 22 min• Intermediate• Processes basics

Memory basics

# Memory Layout of a Process:

+------------------+ High Address
| Stack | — Function calls, local variables
| — |
| |
| — |
| Heap | — Dynamic memory (malloc/new)
+------------------+
| BSS | — Uninitialized global variables
| Data | — Initialized global variables
| Text | — Program code (read-only)
+------------------+ Low Address

# Key Points:
- Stack: LIFO, automatic management, limited (1-8 MB)
- Heap: Dynamic, manual management, large
- Stack overflow: Zyada recursive calls — crash
- Memory leak: Heap se liya aur free nahi kiya

Virtual Memory

# Problem: Physical memory limited hai
? 4GB RAM hai, but 10 processes chal rahe hain
? Har process ko 4GB chahiye — impossible!

# Solution: Virtual Memory
? Har process ko lagta hai ki uske paas poora address space hai
? OS virtual addresses ko physical addresses mein map karta hai
? Process ko pata nahi physical memory kahan hai

# Benefits:
1. Memory isolation — ek process doosre ki memory nahi dekh sakta
2. More processes than physical memory
3. Memory protection — process apne code ke bahar access nahi kar sakta
4. Shared libraries — ek library ko multiple processes use kar sakte hain

# Address Translation:
Virtual Address — MMU (Memory Management Unit) — Physical Address
Page Table: Virtual page number — Physical frame number
Mental Model: Virtual Memory jaise ATM card. Tumhare paas ₹1000 cash nahi hain (physical memory), but ATM card se ₹10,000 tak withdraw kar sakte ho (virtual memory). Bank (OS) ensure karta hai ki tumhare account mein balance ho. Agar balance nahi toh ATM error dega (page fault).

Paging

# Paging: Memory ko fixed-size blocks mein divide karna

# Virtual Memory:
Page 0 | Page 1 | Page 2 | Page 3 (4KB each)

# Physical Memory:
Frame 0 | Frame 1 | Frame 2 | Frame 3 (4KB each)

# Page Table:
Virtual Page 0 — Physical Frame 2
Virtual Page 1 — Physical Frame 0
Virtual Page 2 — Not in memory (Page Fault!)
Virtual Page 3 — Physical Frame 1

# Page Fault:
? Jab virtual page physical memory mein nahi hota
? OS disk se page load karta hai (I/O operation)
? Page table update hota hai
? Process resume hota hai

# Page Replacement Algorithms:
1. FIFO: Oldest page replace karo
2. LRU (Least Recently Used): Sabse kam use hua page replace
3. Optimal: Future mein sabse kam use hone wala (theoretical)
4. Clock: Circular queue, reference bit use

Segmentation vs Paging

# Paging:
? Fixed-size blocks (4KB pages)
? Physical view — memory ko chunks mein todna
? Page table se mapping
? No logical meaning

# Segmentation:
? Variable-size blocks (logical units)
? Logical view — code segment, data segment, stack segment
? Segment table se mapping
 ko meaningful segments dikhte hain

# Comparison:
| Feature | Paging | Segmentation |
|------------|---------------------|------------------------|
| Block Size | Fixed (4KB) | Variable |
| View | Physical | Logical |
| Table | Page Table | Segment Table |
| Fragmentation | Internal | External |
| Protection | Per page | Per segment |

# Modern OS: Dono use karte hain (Paged Segmentation)

Exercise

Question: Virtual Memory ka main purpose kya hai? Process ko kya deta hai jo physical memory nahi de sakti? (2-3 words)

Question: Page Fault hone pe OS page kahan se load karta hai? (1-2 words)

Common mistakes

Lesson complete?

Memory Management samajh aa gayi? Ab CPU Scheduling seekhte hain — CPU kaunsa process pehle run karega.

Popular courses: Data Science Course in Lucknow · AI Course in Lucknow · Python Course in Lucknow · Power BI Course · Data Analytics Course