Theoretical gold standard hai Belady's optimal (OPT/MIN): us block ko evict karo jiska next use future mein sabse door hai. Ye optimal hai lekin unimplementable hai (future knowledge chahiye). Saari real policies isko approximate karti hain.
Step 5 mein B kyun evict hua? Kyunki A abhi touch hua tha (step 4) aur C B ke baad, isliye B sabse zyada time se untouched pada tha. Yehi poora LRU rule hai.
miss? Nahi — B present hai? B evict hua? Nahi, B {B,C,D} mein hai → hit
–
B queue mein hai
Dono ka fark clearly: step 5 pe LRU A ko rakhta hai (abhi use hua) lekin FIFO A ko evict karta hai kyunki FIFO hit pe kabhi update nahi karta. Isi wajah se FIFO Belady's anomaly suffer kar sakta hai.
LRU qualify karta hai kyunki eviction sirf recency ordering pe depend karta hai, jo size ke saath change nahi hoti. FIFO ek queue pe depend karta hai jo size ke saath change hoti hai → koi inclusion nahi → anomaly possible.
Ek replacement policy kaun sa ek sawaal answer karti hai?
Jab cache (set) full ho, kaun sa block evict karna hai.
LRU kaun sa block evict karta hai?
Jo sabse zyada time se use nahi hua (least recently used).
LFU kaun sa block evict karta hai?
Jiska access-frequency count sabse chhota ho.
FIFO kaun sa block evict karta hai?
Jo cache mein sabse pehle enter kiya tha, usage ignore karke.
LRU aur FIFO mein key difference kya hai?
LRU hit pe recency update karta hai; FIFO hit pe kabhi reorder nahi karta.
Belady's optimal (OPT) policy kya hai?
Us block ko evict karo jiska next use future mein sabse door hai; optimal hai par unimplementable.
Belady's anomaly kya hai?
FIFO mein, cache frames badhane se miss count badh sakta hai.
Belady's anomaly se kaun si policies immune hain aur kyun?
LRU aur LFU — ye stack algorithms hain (chhote cache contents ⊆ bade).
AMAT formula batao.
AMAT = T_hit + (miss rate) × T_penalty.
Miss hone par bhi AMAT mein T_hit kyun rehta hai?
Miss hone par bhi pehle cache probe hoti hai, phir memory se fetch hota hai.
High associativity ke liye CPUs exact LRU kyun use nahi karte?
Full order track karne ke liye log2(n!) bits chahiye; pseudo-LRU (tree-PLRU, ~n−1 bits) sasta hai.
LFU cache pollution kya hai aur fix kya hai?
Stale blocks purane high counts ki wajah se kabhi evict nahi hote; fix hai aging/decay of counters.
Random surprisingly accha kyun hota hai?
Koi pathological worst case nahi aur zero metadata cost.
Recall Feynman: 12 saal ke bachhe ko samjhao
Teri bag mein sirf 3 kitaabein aati hain par tu nai kitaabein uthata rehta hai. Jab bag full ho aur 4th chahiye, toh ek wapas rakhni padegi. LRU: jo kitaab sabse zyada time se haath nahi lagayi, use wapas rakho. LFU: jise sabse kam baar khola, use rakho. FIFO: jis kitaab ko pehle pack kiya tha, use wapas rakho, chahe abhi padhi ho. Random: aankhein band karo aur koi ek nikalo. Clever trick: "best" choice hogi wo kitaab wapas rakhna jo sabse der baad chahiye — par future nahi dikta, isliye har method ek smart guess hai.