🖥 Operatsion tizimlar
Kompyuter ichida nima sodir bo'ladi - 20 bosqichli qo'llanma
Darslik haqida
Har bir dastur operatsion tizim ustida ishlaydi. Bu darslik OT ichida nima sodir bo'lishini ko'rsatadi: jarayon qanday yaratiladi, protsessor vaqti qanday taqsimlanadi, xotira qanday boshqariladi, fayl diskda qanday saqlanadi va dasturlar bir-biri bilan qanday gaplashadi. Nazariya bilan birga amaliyot ham bor - har bir mavzu Linux'da ishlaydigan C dasturlari va terminal buyruqlari bilan ko'rsatiladi. Darslik yakunida o'z qobig'ingizni (shell) yozasiz. Barcha kod misollarida o'zgaruvchi va funksiya nomlari o'zbek tilida.
Darslik mundarijasi
- 1 Operatsion tizim nima? OT nima uchun kerak, u qanday vazifalarni bajaradi, qanday turlari bor va zamonaviy tizimlar qanday paydo bo'lgan. 10 daq.
- 2 Yadro rejimi va tizim chaqiruvlari Foydalanuvchi va yadro rejimi farqi, tizim chaqiruvi qanday ishlaydi, strace bilan kuzatish va kutubxona funksiyasi bila... 15 daq.
- 3 Jarayon va uning holatlari Jarayon nima, uning xotira tuzilishi, holatlari va holat almashinuvi, PCB, kontekst almashinuvi va jarayonlarni kuzatish... 15 daq.
- 4 Jarayon yaratish - fork va exec fork bilan jarayon nusxalash, exec bilan dasturni almashtirish, wait bilan kutish, zombi va yetim jarayonlar. 19 daq.
- 5 Oqimlar (threads) Oqim nima, jarayondan farqi, pthread bilan ishlash, umumiy xotira, poyga holati va oqimlarni qachon ishlatish kerak. 16 daq.
- 6 Rejalashtirish algoritmlari Protsessor vaqti qanday taqsimlanadi, FCFS, SJF, Round Robin va ustuvorlik algoritmlari, Linux CFS va nice qiymati. 15 daq.
- 7 Sinxronizatsiya - mutex va semafor Kritik soha, mutex bilan himoya, semafor, shart o'zgaruvchisi, atomik amallar va ishlab chiqaruvchi-iste'molchi masalasi... 13 daq.
- 8 Deadlock - o'lik qulflanish Deadlock nima, uning to'rt sharti, ovqatlanuvchi faylasuflar masalasi, oldini olish, aniqlash va tirik qulflanish. 15 daq.
- 9 Xotira boshqaruvi asoslari Manzil fazosi, xotira ajratish usullari, fragmentatsiya, brk va mmap, malloc ichkarisi va xotira sizishini aniqlash. 20 daq.
- 10 Virtual xotira va sahifalash Virtual va fizik manzil, sahifa jadvali, MMU va TLB, sahifa xatosi, dangasa ajratish va nusxalash-yozishda. 13 daq.
- 11 Sahifa almashtirish algoritmlari RAM to'lganda qaysi sahifani chiqarish kerak - FIFO, Optimal, LRU, Clock algoritmlari, Belady anomaliyasi va thrashing. 15 daq.
- 12 Fayl tizimi Fayl deskriptori, ochish-o'qish-yozish, kursor, kataloglar, yo'llar, huquqlar, qattiq va ramziy havolalar. 17 daq.
- 13 Fayl tizimining ichki tuzilishi Superblok, inode, blok ajratish, bilvosita bloklar, ekstentlar, jurnal (journaling), ext4 va boshqa fayl tizimlari. 18 daq.
- 14 Kiritish-chiqarish va qurilmalar Qurilma fayllari, drayverlar, uzilishlar va DMA, buferlash, bloklaydigan va bloklamaydigan rejim, select va epoll. 20 daq.
- 15 Jarayonlararo aloqa (IPC) Quvurlar, nomlangan quvurlar, dup2 va qobiq konveyeri, bo'lishilgan xotira, Unix soketlari va IPC usullarini taqqoslash. 17 daq.
- 16 Signallar Signal turlari, sigaction, async-signal-safe funksiyalar, signal niqobi, SIGCHLD va zombi jarayonlar, xizmatni to'g'ri t... 19 daq.
- 17 Foydalanuvchilar, huquqlar va xavfsizlik UID va GID, haqiqiy va amaldagi identifikator, setuid dasturlar, imkoniyatlar (capabilities), sudo, SELinux va AppArmor. 26 daq.
- 18 Yuklanish jarayoni va init tizimi BIOS va UEFI, yuklovchi, yadro yuklanishi, initramfs, PID 1 va systemd, xizmatlarni boshqarish va daemon yaratish. 23 daq.
- 19 Virtualizatsiya va konteynerlar Gipervizorlar, apparat virtualizatsiyasi, nom fazolari (namespaces), cgroups, konteyner ichkarisi va WSL. 24 daq.
- 20 Amaliy loyiha - mini qobiq Butun kursda o'rganilgan bilimlarni birlashtirib, ishlaydigan qobiq yozamiz: buyruq tahlili, fork/exec, konveyerlar, yo'... 14 daq.