Isolation / protection — Process A ko Process B ki memory read ya todne ki permission nahi honi chahiye. Agar dono raw physical addresses use karein, toh address 0x4000 dono ke liye same byte hoga → chaos.
Relocation / fragmentation — Ek program ko parwah nahi honi chahiye ki woh RAM mein kahan land karta hai. Hum chahte hain ki use kisi bhi free chunks mein load karein, chahe non-contiguous kyun na ho.
Over-commitment — Hum chahte hain ki jo programs physically exist se zyada memory maangein, unhe bhi chalayein — unused parts ko disk (swap) par park karke.
Genius trick yeh hai: page ke andar ka offset virtual aur physical space mein identical hota hai, kyunki pages aur frames same size ke hain aur aligned hain. Sirf page number part ko translate karna hota hai.
Derivation ki offset preserve hota hai. Maano virtual address VA=VPN⋅2p+off hai jahan 0≤off<2p. Translation page ko replace karta hai: PA=PFN⋅2p+off. Wahi off appear hota hai, isliye hum offset bits ko kabhi translate nahi karte. ∎
Entries =220=1,048,576. Kyun? Har possible virtual page ke liye ek entry.
Agar har entry 4 bytes ki hai → table size =220×4=4 MiBper process. Yeh kyun matter karta hai: yahi bada cost hai isliye real systems multi-level page tables use karte hain (sirf actually use hone wale pages ke liye sub-tables allocate karo).
Q: Address ka kaun sa part translate NAHI hota? A: offset.
Q: Page size 2p → kitne offset bits? A: p bits.
Q: Page fault kab trigger hota hai? A: jab accessed page ka valid bit 0 ho.
Q: Per-process page tables kyun? A: isolation — same VA har process ke liye alag physical frames par map hota hai.
Q: Final PA formula? A: PA=PFN⋅2p+offset.
Recall Feynman: ek 12-saal ke bacche ko explain karo
Ek bade hotel ki imagine karo. Har guest ko bola jaata hai "tumhara room Room 1 hai" — sab sochte hain ki woh Room 1 mein hain. Lekin hotel ke paas ek secret notebook (page table) hai jo kehti hai "Guest Alice ka Room 1 actually physical Room 305 hai; Bob ka Room 1 actually Room 712 hai." Jab Alice apne "Room 1, shelf 7" par kuch maangti hai, toh front desk notebook dekh ke use real room 305 bhej deta hai, aur shelf 7 abhi bhi shelf 7 hai us room ke andar (offset nahi badlta). Agar real cheez basement storage (disk) mein rakh di gayi thi, toh desk pehle use fetch karne daudta hai (page fault) aur notebook update karta hai. Is tarah sabko lagta hai ki woh poora hotel khud ka hai, koi kisi ke room mein nahi jaata, aur hotel physically se zyada "rooms" hold kar sakta hai extras ko storage mein rakh ke.