5.1.13 · D3 · HinglishInstruction Set Architecture (ISA)

Worked examplesSystem vs user mode and privilege levels

2,415 words11 min read↑ Read in English

5.1.13 · D3 · Hardware › Instruction Set Architecture (ISA) › System vs user mode and privilege levels

Aapne user mode, kernel mode, aur syscall doorway ka idea parent note mein dekha hai. Yahan hum iska ulta karte hain: hum har tarah ki situation list karte hain jo ek privilege system face kar sakta hai, phir har ek ko end tak work out karte hain. Agar aap in sab ko trace kar sakte hain, toh exam mein mode switching ke baare mein kuch bhi surprise nahi kar sakta.


Scenario matrix

Examples work karne se pehle, hum cases ka poora space lay out karte hain. CPU par har real event neeche ke cells mein se ek hoti hai. Dono axes ko socho — "kaun run kar raha hai?" (current mode) aur "unhone abhi kya attempt kiya?" (the event).

# Current mode Event attempted Legal? Hardware kya karta hai
A User ordinary unprivileged instruction (add, load) run karta hai, mode unchanged
B User privileged instruction (cli, hlt, write page-table base) trap → kernel fault handler
C User syscall / ecall (legal doorway) atomic promotion → kernel entry vector
D User external interrupt fires (timer, disk done) atomic promotion → interrupt vector
E User memory access apne mapped region se bahar page fault → kernel
F Kernel koi bhi instruction, including privileged run karta hai, mode unchanged
G Kernel sret / iret (return to user) atomic demotion → user, restore user PC
H Kernel mode bit directly likhta hai ✅ (kernel only) mode changes; user ka yeh attempt = cell B
I degenerate: mode bit = kernel but PC aaya user ki choice se yahi wo exploit hai jo humein prevent karni hai vectoring ise impossible banata hai
J limiting: user loop kabhi yield nahi karta (while(1){}) timer (cell D) control wapas laata hai pre-emption
K word problem: read() from a file mix of A, C, F, G full round trip
L exam twist: nested — interrupt during a syscall mix of D inside F privilege already kernel; PC saved twice

Neeche ke examples har letter ko cover karte hain. Har example ke title mein matrix cell bataya gaya hai.

Figure — System vs user mode and privilege levels

Worked examples


Example 2 — Cell B: illegal privileged instruction


Figure — System vs user mode and privilege levels

Example 4 — Cell D + J: limiting case, ek user loop jo kabhi yield nahi karta


Example 5 — Cell E: out of bounds memory access


Example 6 — Cell H vs I: fixed point, aap khud apne aap ko promote kyun nahi kar sakte


Example 7 — Cell K: full word-problem round trip, read() ek file


Example 8 — Cell L: exam twist, ek interrupt syscall ke during


Recall Quick self-test (click to reveal)

Kaun sa matrix cell? User program ki hlt instruction ::: Cell B — user mode mein privileged instruction → trap. Kaun sa matrix cell? Spinning CPU par scheduler ka control wapas lena ::: Cell D (timer interrupt), limiting case J ko enable karta hai. Ek complete read() mein kitne mode changes? ::: Exactly 2 — syscall par upar, sret par neeche. Cell I (kernel mode, user-chosen PC) impossible kyun hai? ::: Kyunki promotion sirf vectored syscall/interrupt ke zariye hoti hai, jo ek OS-chosen PC force karta hai; aur mode bit directly likhna khud privileged hai.


Active-recall flashcards

#flashcards/hardware

Scenario matrix mein, cell B mein kya hota hai (user ek privileged instruction run karta hai)?
Hardware effect se pehle ek trap/#GP raise karta hai; control kernel fault handler par jump karta hai.
Ek full read() syscall mein kitne mode transitions hote hain?
Do — syscall par user→kernel, sret/iret par kernel→user.
Ek user ka while(1){} loop machine ko freeze kyun nahi kar sakta?
Kernel ne ek hardware timer arm kiya (privileged); jab yeh fire karta hai, ek interrupt atomically control OS ko wapas karta hai.