# OT ichki tuzilishi bo'yicha testlar va topshiriqlar

## 1-qism. Test savollari

**1. Operatsion tizimning markaziy qismi nima deb ataladi?**
A) Tizimli chaqiruv
B) Yadro (Kernel)
C) Foydalanuvchi rejimi
D) POSIX

**2. Qaysi arxitekturada OTning asosiy xizmatlari (xotirani boshqarish, fayl tizimi, tarmoq steki, drayverlar) bitta yadro ichida ishlaydi?**
A) Mikroyadro
B) Gibrid yadro
C) Monolit yadro
D) Ekzoyadro

**3. Foydalanuvchi rejimida (User Mode) ishlovchi dasturlar (brauzerlar, o'yinlar) apparat resurslariga qanday murojaat qiladi?**
A) To'g'ridan-to'g'ri fizik xotiraga yozish orqali
B) BIOS orqali
C) Tizimli chaqiruvlar (System calls) orqali
D) Hech qachon murojaat qila olmaydi

**4. Mikroyadro arxitekturasining asosiy afzalligi nimada?**
A) Maksimal unumdorlik va tezlik
B) Barcha xizmatlarning yadroda ishlashi
C) Komponentlarning yuqori darajada izolyatsiya qilinganligi (bitta xizmat ishdan chiqsa, butun tizim qulamaydi)
D) Monolit yadroga qaraganda dasturlashning ancha soddaligi

**5. Ilova faylni o'qimoqchi bo'lsa, jarayon qanday ketma-ketlikda amalga oshadi?**
A) Ilova -> Yadro -> Tizimli chaqiruv -> SSD
B) Ilova -> Tizimli chaqiruv -> Yadro -> Fayl tizimi -> Qurilma drayveri -> SSD
C) Ilova -> Qurilma drayveri -> SSD
D) Ilova -> Fayl tizimi -> Tizimli chaqiruv -> SSD

---

## 2-qism. Ochiq va amaliy topshiriqlar

**Topshiriq 1: OT arxitekturalarini taqqoslash**
Tasavvur qiling, siz yangi operatsion tizim yaratmoqchisiz. Monolit va Mikroyadro arxitekturalarining afzalliklari va kamchiliklarini taqqoslab bering. Agar audio drayverda jiddiy xato (bug) bo'lsa, monolit yadro (masalan, Linux) va mikroyadro (masalan, MINIX) tizimlarida nima sodir bo'lishini tushuntiring.

**Topshiriq 2: Tizimli chaqiruvlarni kuzatish (Amaliy)**
Agar sizda Linux yoki macOS tizimi bo'lsa, terminalda ixtiyoriy buyruqni (masalan, `ls` yoki `echo "Hello"`) `strace` (Linux) yoki `dtruss` (macOS) utilitasi bilan ishga tushiring. 
*Vazifa:* Dastur ishlashi davomida OT ga qanday tizimli chaqiruvlar (system calls) jo'natilganligini ko'ring. Kamida 3 ta chaqiruv nomini (masalan, `write`, `read`, `open`) va ularning nima vazifa bajarishini yozib bering.

**Topshiriq 3: Jarayonlar va oqimlarni farqlash**
Jarayon (process) va oqim (thread) o'rtasidagi farqlarni tushuntirib bering. Brauzerda (masalan, Chrome) ko'plab yorliqlar (tab) ochilganda ular alohida jarayon sifatida ishlaydimi yoki bitta jarayon ichidagi oqimlar sifatiydami? OT xavfsizligi va barqarorligi nuqtai nazaridan buning sababini izohlang.
