🖥 Operatsion tizimlar

Kompyuter ichida nima sodir bo'ladi - 20 bosqichli qo'llanma

📚 20 bo‘lim 🎯 O‘rta 👁 30 ko‘rish

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. 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. 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. 3 Jarayon va uning holatlari Jarayon nima, uning xotira tuzilishi, holatlari va holat almashinuvi, PCB, kontekst almashinuvi va jarayonlarni kuzatish... 15 daq.
  4. 4 Jarayon yaratish - fork va exec fork bilan jarayon nusxalash, exec bilan dasturni almashtirish, wait bilan kutish, zombi va yetim jarayonlar. 19 daq.
  5. 5 Oqimlar (threads) Oqim nima, jarayondan farqi, pthread bilan ishlash, umumiy xotira, poyga holati va oqimlarni qachon ishlatish kerak. 16 daq.
  6. 6 Rejalashtirish algoritmlari Protsessor vaqti qanday taqsimlanadi, FCFS, SJF, Round Robin va ustuvorlik algoritmlari, Linux CFS va nice qiymati. 15 daq.
  7. 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. 8 Deadlock - o'lik qulflanish Deadlock nima, uning to'rt sharti, ovqatlanuvchi faylasuflar masalasi, oldini olish, aniqlash va tirik qulflanish. 15 daq.
  9. 9 Xotira boshqaruvi asoslari Manzil fazosi, xotira ajratish usullari, fragmentatsiya, brk va mmap, malloc ichkarisi va xotira sizishini aniqlash. 20 daq.
  10. 10 Virtual xotira va sahifalash Virtual va fizik manzil, sahifa jadvali, MMU va TLB, sahifa xatosi, dangasa ajratish va nusxalash-yozishda. 13 daq.
  11. 11 Sahifa almashtirish algoritmlari RAM to'lganda qaysi sahifani chiqarish kerak - FIFO, Optimal, LRU, Clock algoritmlari, Belady anomaliyasi va thrashing. 15 daq.
  12. 12 Fayl tizimi Fayl deskriptori, ochish-o'qish-yozish, kursor, kataloglar, yo'llar, huquqlar, qattiq va ramziy havolalar. 17 daq.
  13. 13 Fayl tizimining ichki tuzilishi Superblok, inode, blok ajratish, bilvosita bloklar, ekstentlar, jurnal (journaling), ext4 va boshqa fayl tizimlari. 18 daq.
  14. 14 Kiritish-chiqarish va qurilmalar Qurilma fayllari, drayverlar, uzilishlar va DMA, buferlash, bloklaydigan va bloklamaydigan rejim, select va epoll. 20 daq.
  15. 15 Jarayonlararo aloqa (IPC) Quvurlar, nomlangan quvurlar, dup2 va qobiq konveyeri, bo'lishilgan xotira, Unix soketlari va IPC usullarini taqqoslash. 17 daq.
  16. 16 Signallar Signal turlari, sigaction, async-signal-safe funksiyalar, signal niqobi, SIGCHLD va zombi jarayonlar, xizmatni to'g'ri t... 19 daq.
  17. 17 Foydalanuvchilar, huquqlar va xavfsizlik UID va GID, haqiqiy va amaldagi identifikator, setuid dasturlar, imkoniyatlar (capabilities), sudo, SELinux va AppArmor. 26 daq.
  18. 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. 19 Virtualizatsiya va konteynerlar Gipervizorlar, apparat virtualizatsiyasi, nom fazolari (namespaces), cgroups, konteyner ichkarisi va WSL. 24 daq.
  20. 20 Amaliy loyiha - mini qobiq Butun kursda o'rganilgan bilimlarni birlashtirib, ishlaydigan qobiq yozamiz: buyruq tahlili, fork/exec, konveyerlar, yo'... 14 daq.