🚀 Operatsion Tizimlar (TIU) Kids Turkumi
Jami: 25 ta Slayd
🌟 TIU • Kichik Dasturchilar Akademiyasi

Sehrli Shaharcha va Aqlli Robotlar

6-ma'ruza: Kompyuter bir vaqtda qanday qilib 100 ta ishni bajaradi?
Jarayonlar, Oqimlar, Quvurlar va Sehrli Qulflar

👨‍🏫 Muallif: Azamat Botirovich Kuchkarov
🎯 Dasturiy ta'minotlar muhandisi
Toshkent Xalqaro Universiteti (TIU) Slayd 1 / 25
1-Bo'lim: Sehrli Kompyuter

🏙️ Kompyuteringiz Ichidagi Katta Shaharcha!

02
⚡

Bosh Oshpaz (CPU)

Shahardagi eng chaqqon robot! Sekundiga milliardlab buyruqlarni bajaradi va hech qachon charchamaydi.

📦

Katta Stol (RAM)

Hozir o'ynayotgan o'yinchoqlarimiz va kerakli asboblar turadigan juda tezkor sehrli ish stoli.

🗄️

Kutubxona (SSD)

Ertak kitoblar, multfilmlar va fotosuratlar uzoq vaqt xavfsiz saqlanadigan katta omborxona.

👑

Shahar Hokimi (OT)

Operatsion tizim — eng aqlli boshqaruvchi. U robotlarga vazifa beradi va shaharda tartib saqlaydi!

Har bir qurilma (telefon, noutbuk) ichida butun bir robotlar jamiyati yashaydi! Slayd 2 / 25
Ko'p Vazifalilik Siri

🍲 Bitta Oshpaz Qanday Qilib 100 Ta Taom Pishiradi?

03

❓ Do'stlar, siz ham shunday qilasizmi?

Siz bir vaqtda: multfilm ko'rasiz 🎬, do'stingiz bilan yozishasiz 💬, fonda o'yin yuklanadi 🎮 va musiqa yangrab turadi 🎵.

💡 Sehrli Ko'p Vazifalilik (Multitasking)

Protsessor aslida har bir ishni soniyaning mingdan bir qismida navbat bilan bajaradi! U shu qadar chaqqonki, bizga hamma ish bir vaqtda bo'layotgandek tuyuladi!

Multitasking Robot Chef
Multitasking — kompyuterning eng ajoyib sehrlaridan biridir! Slayd 3 / 25
Hayotiy O'xshatish

🍳 Chaqqon Oshpazning Ish Rejasi

04
🍲

1. Sho'rvani Qaynatish

Oshpaz qozonga suv quyib, gazga qo'ydi va taymerni yoqdi. Qaynaguncha bekor o'tirmaydi!

I/O Kutish (Waiting)
🥕

2. Sabzi To'g'rash

Suv qaynayotgan 5 daqiqada oshpaz tezda sabzi va piyozlarni to'g'rab oladi.

CPU Ishi (Running)
🍕

3. Pitsani Pechga Qo'yish

Sabzi tayyor bo'lgach, darhol pitsa xamiriga pishloq sepib pechga joylaydi!

Navbatdagi Vazifa

🎯 Xulosa: Kompyuter ham xuddi shunday: Diskdan kino yuklanayotganda, protsessor boshqa dasturlarni ishlatib turadi!

Bekor turish yo'q! Protsessor har bir millisekunddan unumli foydalanadi. Slayd 4 / 25
Muhim Tushuncha

🏃 Bitta Ofitsiantmi yoki Beshta Ofitsiant?

05
🏃‍♂️ 1 ta Yadro (Core)

Konkurentlik (Concurrency)

Restoranda bitta ofitsiant bor. U 5 ta stol orasida navbat bilan yuguradi. Biriga sharbat quyadi, ikkinchisiga salat eltadi.

⚡ Hamma ish ilgarilaydi, lekin navbatma-navbat!

🏃‍♂️🏃‍♀️🏃‍♂️ Ko'p Yadro (Multi-Core)

Parallellik (Parallelism)

Restoranda haqiqatdan ham 5 nafar ofitsiant bor! Har bir ofitsiant o'z stoliga aynan bir vaqtda xizmat qiladi.

🚀 Bu haqiqiy, jismoniy bir vaqtdalik!

Bitta yadroli eski kompyuterda ham multitasking bor edi — chunki u konkurent ishlardi! Slayd 5 / 25
Tartib va Qoidalar

⏱️ O'yinchoq Navbati: Injiq Bola va Aqlli Hakam

06
🧸

1. Kooperativ (Eski Tizimlar)

Har bir bola o'ynab bo'lgach, "Men to'ydim, endi sen o'yna" deb o'zi o'yinchoqni topshirishi kerak edi.

⚠️ Katta muammo: Agar bir injiq bola o'yinchoqni bermay o'tirib olsa, butun maydoncha qotib qolardi!

📢

2. Siqib Chiqaruvchi (Preemptive - Zamonaviy)

Maydonchada Aqlli Hakam (Taymer) bor! Har bir bolaga qat'iy 10 millisekund vaqt kvanti beriladi.

🔔 Qoidasi: Taymer jaranglashi bilan hakam hushtak chaladi: "Vaqt tugadi, navbat keyingi do'stingga!".

Linux, Windows va Android — barchasi aqlli hakam (preemptive) tizimida ishlaydi! Slayd 6 / 25
Eng Asosiy Farq

📖 Retsept va Pishiriq: Dastur vs Jarayon

07
📚

Dastur (Program)

Bu oshpazlik kitobidagi shirinlik retsepti!

• Diskda xotirjam uxlayotgan fayl (`word.exe`).
• U harakatsiz, elektr quvvatini yemaydi.
• Faqat qog'ozdagi reja.

🧁

Jarayon (Process)

Bu oshpaz retsept bo'yicha pishirayotgan haqiqiy shirinlik!

• Operativ xotiraga yuklangan faol dastur.
• Protsessor vaqtini oladi, xotira band qiladi.
• Ayni damda yashamoqda va ishlamoqda!

💡 Bilasizmi? Bitta retseptdan 10 ta pitsa pishirish mumkin. Xuddi shunday, bitta `chrome.exe` dasturidan 10 ta alohida jarayon ochishingiz mumkin!

Dastur — bu imkoniyat, jarayon esa uning haqiqiy hayotdagi ijrosi! Slayd 7 / 25
Shaxsiy Hujjat

🪪 Jarayonning Pasporti — PCB nima?

08
📋 JARAYON PASPORTI (PCB Kartasi):
🆔 PID: #2048 (Shaxsiy raqami)
🚦 Holat: RUNNING (Sahnada)
📌 Xatcho'p (PC): 78-satr ko'rsatmasi
💼 Xotira chegarasi: 0x00A0 - 0x0FFF (RAM)
📁 Ochiq fayllar: video.mp4, music.mp3
👑 Egasi: Talaba (Foydalanuvchi)

📌 Xatcho'p (Program Counter) nima?

Ertak kitob o'qiyotganda to'xtab qolsangiz, sahifasiga xatcho'p qo'yib ketasiz-a? Jarayon ham to'xtaganda, OT uning qaysi qatorda to'xtaganini PCB pasportiga yozib qo'yadi!

🔄 Kontekstni Almashtirish

Eski robotning pasportini sandiqqa saqlash va yangi robotning pasportini ochish jarayoni Context Switch deyiladi!

PCB (Process Control Block) tufayli operatsion tizim hech bir jarayonni adashtirib yubormaydi! Slayd 8 / 25
Robotning Sarguzashtlari

🗺️ Jarayonning 5 Ta Hayotiy Bosqichi

09
1. 🐣 NEW (Tug'ilish): Dastur ustiga bosildi, robot qismlari yig'ilmoqda.
2. 🧍 READY (Tayyor navbat): Barcha asboblar bor, faqat CPU bo'shashini kutmoqda.
3. ⚡ RUNNING (Sahnada): Robot protsessorda quvnoq ishlamoqda!
4. ⏳ WAITING (Kutish): Internetdan rasm kelishini o'rindiqda kutib turibdi.
5. 🎓 TERMINATED (Yakun): Vazifa bitdi, diplom olib sahnani bo'shatadi!
5 Process States Lifecycle
Kutayotgan (waiting) robot CPU vaqtini behuda sarflamaydi — bu ajoyib tejamkorlik! Slayd 9 / 25
Robotlar Oilasi

👨‍👦 Ota va Bola Jarayonlar: fork() va exec()

10
🪞

1. fork() — Sehrli Ko'zgu

Ota robot sehrli kalitni aytganda, yonida uning aynan nusxasi bo'lgan chaqaloq robot dunyoga keladi!

Bola yaratildi (PID: 301)
🎭

2. exec() — Yangi Kiyim

Bola robot o'zining eski kiyimini yechib, yangi dastur kiyimini kiyadi va yangi kasbni o'rganadi!

Kasbi o'zgardi (Musiqa pleyer)
🧘‍♂️

3. wait() — Otaning Sabri

Ota robot chetda kutib turadi: "Bolam o'z ishini xavfsiz tugatib, hisobot bersin" deydi.

Tinchlik va xavfsizlik

🌳 Eng Katta Bobo: Linuxda barcha robotlarning eng birinchi Bobosi bor — u PID 1 (`systemd`) deb ataladi!

Linuxda yangi dasturlar aynan fork() va exec() juftligi orqali ishga tushadi! Slayd 10 / 25
Qiziqarli Ertaklar

🧟‍♂️ Zombi va Yetim Jarayonlar Qayerdan Keladi?

11
🧟 Zombie Process

Zombi Robot

Bola robot o'z ishini tugatdi, lekin ota robot hali `wait()` chaqirib uning hisobotini olmadi!

• U xotira yemaydi, ish bajarmaydi.
• Lekin ro'yxatda uning ismi "ruh" kabi turadi.
• Yechim: Ota uning hisobotini qabul qilishi bilan zombi tinchlanadi!

👶 Orphan Process

Yetim Robot

Ota robot kutilmaganda yo'qolib qoldi (yopildi), bola robot esa sahnada yolg'iz qoldi.

• Xavotir olmang!
• Shahar hokimi — Mehribon Bobo `PID 1` darhol uni o'z qaramog'iga oladi va unga yangi ota bo'ladi!

Operatsion tizim hech qachon yetim robotlarni ko'chada qarovsiz qoldirmaydi! Slayd 11 / 25
Adolatli Navbat

🎠 Karusel O'yini: CPU Kimga Beriladi?

12
🛒

1. FCFS

Oddiy navbat: Kim birinchi kelsa, shu xarid qiladi. Oldingi odam sekin bo'lsa, hamma kutadi.

⚡

2. SJF

Tezkor ish: Kimning ishi eng qisqa bo'lsa, unga yo'l beriladi. Tez bitadi!

🎡

3. Round Robin

Sehrli Karusel: Har kim charxpalakda 2 soniya aylanadi. Vaqt tugagach navbat oxiriga o'tadi!

🚑

4. Priority

Ustuvorlik: Tez yordam va o't o'chiruvchi robotlar barcha navbatlardan oldin o'tadi!

Round Robin — bolalar o'rtasida ham, kompyuterda ham eng sevimli adolatli o'yindir! Slayd 12 / 25
Alohida Uy va Aka-ukalar

🏡 Jarayon va Oqim: Farqi Nimada?

13
Process House with Threads

🏡 Jarayon (Process) — Katta Hovli

Har bir oilaning o'z baland panjarasi va shaxsiy hovlisi bor. Qo'shnilar bir-birining uyiga ruxsatsiz kira olmaydi (To'liq xavfsizlik).

🤖🤖 Oqimlar (Threads) — Bir Uydagi Aka-ukalar

Oqimlar bitta xonada yashaydi! Ular umumiy Muzlatgichdan (`Shared Memory`) birga yegulik oladi. Ammo har birining yelkasida o'z Ryukzagi (`Stack`) bor.

Oqimlar juda tez til topishadi, lekin biri muzlatgichni buzib qo'ysa — hamma och qoladi! Slayd 13 / 25
Muloqot Usullari

📢 Robotlar Bir-biri Bilan Qanday Gaplashadi?

14
🪠

Quvur (Pipe |)

Trubaning bir tomonidan gapirasiz, ikkinchi tomondan eshitishadi! Masalan: cat file | grep Ali

📬

Pochta Qutisi

Message Queue: Robot xat yozib qutiga tashlaydi. Ikkinchi robot bo'shaganda olib o'qiydi.

📋

Sehrli Doska

Shared Memory: Ikkala do'st ham bitta umumiy doskaga yozib o'qiydi. Eng chaqqon muloqot!

📞

Telefon (Socket)

Internet orqali nafaqat uy ichida, balki butun dunyodagi boshqa kompyuterlar bilan bog'lanish!

IPC (Inter-Process Communication) — izolyatsiya qilingan jarayonlarning do'stlashish ko'prigidir! Slayd 14 / 25
Shoshilinch Xabarlar

🚩 Signallar: Maxsus Rangli Bayroqchalar

15
🛑

SIGKILL (9) — Qizil Buyruq

"Darhol to'xta, uxla!" deb buyuradi. Bu buyruqni hech kim rad eta olmaydi yoki e'tiborsiz qoldirolmaydi!

Qat'iy to'xtatish
⚠️

SIGINT (2) — Sariq Bayroq

"Iltimos, o'yinni to'xtat". Siz klaviaturada Ctrl + C tugmalarini bosganingizda aynan shu signal uchadi!

Klaviatura uzilishi
🚪

SIGTERM (15) — Oqibatli Xat

"Ishlaringni chiroyli saqlab, eshikni yopib chiq". Dastur o'yinchoqlarini yig'ishtirib, tinchgina chiqib ketadi.

Odobli xayrlashuv
Signallar — operatsion tizimning shoshilinch tezkor xabarnomalaridir! Slayd 15 / 25
Katta Xato

🍦 Muzqaymoq Talashish: Poyga Holati nima?

16

🏃‍♂️🏃‍♂️ Ikkala Aka Bir Vaqtda Qaraydi:

Muzlatgichda faqat 1 dona shirin muzqaymoq bor. Ali ham, Vali ham bir vaqtda qarashdi: "Bitta bor ekan, men olaman!".

💥 Falokat Natijasi:

Ikkalasi birdaniga qo'l cho'zib tortishadi va muzqaymoq yerga tushib erib ketadi! Kompyuterda bu Poyga Holati (Race Condition) deb ataladi!

🚪

Kritik Hudud (Critical Section)

Muzlatgich turgan xona — bu xavfli joy!

U yerga bir vaqtda faqat bitta bola kirishi shart! Qolganlar eshik orqasida navbatda turishi kerak.

Qoida: Bir vaqtda faqat bitta!
Poyga holati bo'lmasligi uchun bizga qahramonlar kerak! Ular kimlar? Slayd 16 / 25
Sinxronizatsiya Qahramoni

🗝️ Myuteks (Mutex) — Sehrli Oltin Kalit!

17
Mutex and Semaphore Store

🗝️ Myuteks Qanday Ishlaydi?

Do'kon eshigida faqat bitta Oltin Kalit osilgan:

1. Kim birinchi kelsa, kalitni oladi va ichkaridan eshikni qulflaydi.
2. Boshqa do'stlar eshik oldida odob bilan kutib turadi.
3. Xarid tugagach, bola chiqadi va kalitni keyingisiga beradi!

✅ Natija:

Hech qanday talashish bo'lmaydi. Do'konda hisob-kitob har doim 100% to'g'ri bo'ladi!

Mutex = Mutual Exclusion (O'zaro bir-birini cheklash). Faqat bitta egasi bo'ladi! Slayd 17 / 25
Ko'p O'rinli Qulf

🚦 Semafor (Semaphore) — Aqlli Parkovka Svetofori

18
🚗🚗🚗

3 Ta Bo'sh Joy!

Semafor taxtasida 3 raqami yonib turibdi. Bu degani parkovkaga bir vaqtda 3 ta mashina kira oladi.

Hisoblagich = 3
🛑

Joylar To'ldi!

Uchta mashina kirishi bilan hisoblagich 0 ga tushadi va qizil chiroq yonadi. 4-mashina kutadi!

Hisoblagich = 0
🚪

Bitta Mashina Chiqdi!

Bitta mashina chiqib ketishi bilan hisoblagich 1 bo'ladi va kutib turgan do'stimiz quvnoq kiradi!

Signal() chaqirildi

💡 Myuteks va Semafor farqi: Myuteks — faqat 1 kishilik kalit, Semafor esa bir nechta do'stimizga ruxsat beruvchi hisoblagich!

Semaforni mashhur olim Edsger Deykstra temiryo'l svetoforlaridan ilhomlanib yaratgan! Slayd 18 / 25
Katta Qopqon

🌉 Deadlock: Tor Ko'prikdagi O'yinchoq Mashinalar

19
Deadlock on Bridge

🚨 Chorrahadagi Tiqilinch!

Ko'prik o'rtasida 4 ta mashina bir-birini kutmoqda:

• Qizil mashina Moviy yo'l berishini kutmoqda.
• Moviy mashina Yashilni kutmoqda.
• Yashil mashina Sariqni kutmoqda.
• Sariq mashina esa Qizilni kutmoqda!

⚡ Natija: O'zaro Bloklanish (Deadlock)

Hech kim orqaga chekinmaydi va hamma abadiy qotib qoladi!

Deadlock — barcha robotlar bir-birining qo'lidagi narsani kutib qotib qolgan holatdir! Slayd 19 / 25
Dono Qutqaruvchi

🦉 Dono Boyqush — Bankir Algoritmi

20
📝

1. Hisob Daftari

Dono Boyqushda butun shahardagi o'yinchoqlar va bo'yoqlar ro'yxati yozilgan daftar bor.

⚖️

2. Aqlli Tekshiruv

Bola yangi qalam so'rasa, Boyqush avval hisoblaydi: "Buni bersam, barcha bolalar o'z rasmini chizib bo'la oladimi?".

🛡️

3. Xavfsiz Holat (Safe State)

Agar xavf bo'lmasa — beradi! Agar tiqilinch xavfi bo'lsa: "Kutib tur, do'sting tugatgach beraman" deydi.

🎉 Natija: Dono Boyqush (Banker's Algorithm) bor joyda Deadlock hech qachon yuz bermaydi!

Xavfsiz holat — har doim barcha vazifalarni oxirigacha yetkazish rejasining mavjudligidir! Slayd 20 / 25
Sehrli Durbinlar

🔍 Linuxdagi Robotlarni Kuzatuvchi Asboblar

21
📋

ps

Hozir sizning xonangizda qaysi robotlar faol ekanini ro'yxat qilib ko'rsatadi.

ps aux
📺

top / htop

Shaharning jonli televizori! Eng ko'p charchayotgan robotlarni ekranda ko'rsatadi.

Jonli monitor
🪄

kill

Adashib qolgan yoki xato qilayotgan robotni sehrli tayoqcha bilan uxlatib qo'yish.

kill -9 PID
🌳

pstree

Butun robotlar oilasi daraxtini (Bobo, Ota va Bola robotlarni) chizib beradi!

Oila daraxti
Siz ham terminalni ochib, ushbu sehrli buyruqlarni sinab ko'rishingiz mumkin! Slayd 21 / 25
Quvnoq Sinov

❓ 1-Savol: Dastur va Jarayon Farqi Nima?

22
A Ikkalasi bir xil narsa, farqi yo'q
B Dastur — retsept kitobi, Jarayon — pishirilayotgan taom! ⭐
C Dastur kompyuterni o'chiradi, jarayon yoqadi
D Jarayon faqat internet o'chganda ishlaydi

🎉 Barakalla! To'g'ri javob: B!

Dastur — bu diskdagi passiv fayl (retsept), jarayon esa uning xotiraga yuklanib, CPU da ishlayotgan jonli holatidir!

Bilimingizni sinab ko'ring — har bir to'g'ri javob uchun 1 yulduzcha! Slayd 22 / 25
Quvnoq Sinov

❓ 2-Savol: Myuteks (Mutex) Nima Uchun Kerak?

23
A Kompyuterga musiqa qo'yish uchun
B Oqimlar bitta narsani talashib buzmasligi uchun (Sehrli kalit) ⭐
C Monitor ranglarini yorqinroq qilish uchun
D Sichqonchaning tezligini oshirish uchun

🎉 Ajoyib! To'g'ri javob: B!

Myuteks — bu xonaga faqat bir kishi kirib o'z ishini xavfsiz bajarishi uchun beriladigan yagona Oltin Kalitdir!

Kritik seksiya har doim myuteks bilan himoyalanishi shart! Slayd 23 / 25
Amaliyot Maydoni

🛠️ Kichik Dasturchilar Uchun Quvnoq Loyihalar!

24
🍲

1. "Oshpazlar Poygasi"

3 ta robot oqim bitta umumiy qozonga tuz va sabzi soladi. Myuteks yordamida navbatni to'g'ri tashkil eting!

Python threading
🚦

2. "Aqlli Svetofor"

5 ta mashina va 2 ta bo'sh yo'lak. Semafor yordamida faqat 2 ta mashinaga yashil chiroq yoquvchi dastur tuzing!

Semaphore o'yini
🕵️‍♂️

3. "Zombi Ovchisi"

Linux terminalida ps aux buyrug'ini ishlatib, uxlamay qolgan zombi-robotlarni topuvchi detektiv bo'ling!

Linux buyrug'i
Nazariyani amaliyotda sinab ko'rish eng katta zavqdir! Slayd 24 / 25
🎓

Tabriklaymiz! Siz Endi Kichik Muhandissiz!

✨ Bugun nimalarni bilib oldik?
• ⚡ Kompyuter oshpaz robot kabi juda chaqqon almashib ishlaydi (Multitasking)
• 🪪 Jarayonning shaxsiy pasporti (PCB) va 5 ta sarguzasht bosqichi bor
• 🏡 Oqimlar — bitta uyda yashovchi chaqqon aka-ukalardir
• 🗝️ Myuteks va Semaforlar shahardagi tinchlik va adolatni saqlaydi
• 🦉 Deadlock tiqilinchini Dono Boyqush (Bankir) oldini oladi!

Katta rahmat! Qani, kimda qiziqarli savollar bor? 🚀