Privilege Ring
প্রিভিলেজ রিং
CPU-র ভেতরে দুই bit যা বলে বর্তমান কোড কতটা বিশ্বাসযোগ্য। x86-এ ring 0–3, ARM-এ EL0–EL3। প্রতিটা instruction ও memory access-এ যাচাই হয়।
also: ring, CPL, exception level, protection ring
x86-এ বর্তমান level থাকে CPL (Current Privilege Level) নামে —
cs register-এর নিচের দুই bit।
চারটা ring সংজ্ঞায়িত, কিন্তু বাস্তবে মাত্র দুটো ব্যবহৃত (ring 0 আর 3), দুই কারণে:
- অন্য architecture-এ (ARM, RISC-V) চারটা level নেই — portable OS-কে সর্বনিম্ন সাধারণ হর নিতে হয়
- Page table entry-তে privilege-এর জন্য মাত্র একটা bit আছে (U/S) — তাই page-স্তরে ring 1 আর 2 আলাদা করাই যায় না
ARM আরো পরিষ্কার:
| Level | কে |
|---|---|
| EL0 | application |
| EL1 | OS kernel |
| EL2 | hypervisor |
| EL3 | secure monitor (TrustZone) |
ARM-এ hypervisor-এর জন্য শুরু থেকেই আলাদা level; x86-কে সেটা পরে VT-x দিয়ে যোগ করতে হয়েছে।
কেন এটা hardware-এ থাকতেই হয়: software নিজেকে নিজে রক্ষা করতে পারে না। যে কোড CPU-তে চলছে সে CPU-র উপর সমান অধিকার রাখে — যদি না CPU নিজে পার্থক্য করে।