OʻZBEKISTON RESPUBLIKASI OLIY TAʼLIM, FAN VA INNOVATSIYALAR VAZIRLIGI MIRZO ULUG‘BEK NOMIDAGI OʻZBEKISTON MILLIY UNIVERSITETININIG JIZZAX FILIALI AMALIY MATEMATIKA FAKULTETI «AXBOROT TIZIMLAR VA TEXXNALOGIYALARI » kafedrasi “OPERATSION TIZIMLAR” FANIDAN KOMPYUTER ILIMLARI VA DASTURLASH TEXNOLOGIYALARI YOʻNALISHI 472-22- GURUH TALABASI YUNUSOVA MAVLUDA ANVAR QIZI Operatsion tizimlarning jarayonlari boshqaruvi mavzusida KURS ISHI Kurs ishini qabul qilish komissiya tarkibi: Komissiya raisi: ______________ ___________________________ (imzo) Komissiya a’zolari: (Lavozimi, familiya, ism, otasining ismi) ______________ ___________________________ (imzo) (Lavozimi, familiya, ism, otasining ismi) ______________ ___________________________ (imzo) (Lavozimi, familiya, ism, otasining ismi) ______________ ___________________________ (imzo) Kurs ishi rahbari (Lavozimi, familiya, ism, otasining ismi) ______________ __________________ Kurs ishida toʻplagan ball(bahosi): _________ball Jizzax – 2025 1 Mundarija KIRISH.……….……………………………………………………………….......3 I BOB. OPERATSION TIZIMLAR VA JARAYONLAR BOSHQARUVI ……………………………………………………………………………………...5 1.1-§. Operatsion tizimlar turlari (real vaqt, ko’p vazifali tizimlar va boshqalar) ……………………………………………………………………………………5 1.2-§. Jarayon tushunchasi: ta’rifi, xususiyatlari……………………………13 1.3-§. Jarayonlarni boshqarish va ularning operatsion tizimdagi roli………16 II BOB. JARAYONLARNI BOSHQARISH METODLARI…………………19 2.1-§. Jarayonni rejalashtirish va jadvalga qo’yish…………………………..19 2.2-§. Jarayonlarni sinxronlash va komunikatsiya………………………….24 2.3-§. Jarayonlarni boshqarishda multitasking va multithreading………….27 III BOB. JARAYONLAR BOSHQARUVINING MUAMMOLARI VA ULARNING YECHISH YO’LLARI……………………………………………30 3.1-§. Deadlock (to’xtab qolish) muammosi.……………………………………30 3.2-§. Jarayonlarning resurslarni boshqarishdagi xatoliklari…………………33 3.3-§. Jarayonlar boshqaruvi va tizim samaradorligini oshirish………………36 XULOSA................................................................................................................40 FOYDALANILGAN ADABIYOTLAR RO’YXATI.........................................41 2 Kirish. Operatsion tizimlar kompyuterning asosiy dasturiy ta'minoti bo‘lib, foydalanuvchi va kompyuter apparati o‘rtasidagi bog‘lanish rolini o‘taydi. Ular kompyuter tizimlarida ishlash uchun zarur bo‘lgan barcha asosiy funksiyalarni bajaradi, shu jumladan, resurslarni boshqarish, fayllar tizimi, xotira boshqaruvi, qurilmalar bilan ishlash va boshqa ko‘plab muhim vazifalarni amalga oshiradi. Ushbu funksiyalarning samarali bajarilishi operatsion tizimlar orqali jarayonlar boshqaruvi orqali amalga oshiriladi. Jarayonlar – bu operatsion tizimda ishlayotgan dasturlar bo‘lib, har bir jarayon o‘zining xususiy resurslariga, xotiraga va ishlash vaqtiga ega. Jarayonlar boshqaruvi tizimning samarali ishlashini ta'minlash uchun juda muhimdir, chunki bu jarayonlar tizim resurslarini taqsimlash, sinxronizatsiya qilish va ularning o‘zaro ishlashini boshqarish uchun javobgardir. Yaxshi tashkil etilgan jarayon boshqaruvi operatsion tizimning samaradorligi, tezligi va barqarorligini oshiradi, foydalanuvchiga esa tizimning tezkor va ishonchli ishlashini ta'minlaydi. Bugungi kunda ko‘p vazifali (multitasking) va ko‘p foydalanuvchili (multiuser) operatsion tizimlar keng tarqalgan. Bunday tizimlarda bir vaqtning o‘zida bir nechta jarayonlar ishlashiga imkon yaratish uchun tizimlar jarayonlarni rejalashtirish, boshqarish va sinxronlashtirish usullarini rivojlantirgan. Shu bilan birga, jarayonlar o‘rtasidagi resurslarni taqsimlash, ularning bir-biriga ta'sirini nazorat qilish va jarayonlarni samarali boshqarish doimiy ravishda ilg‘or algoritmlar va metodlarni ishlab chiqishni talab qiladi. Dolzarbligi: Operatsion tizimlarning jarayonlar boshqaruvi mavzusi bugungi kunda IT sohasida eng dolzarb va muhim masalalardan biridir. Kompyuter tizimlarining samarali ishlashi uchun jarayonlarni to‘g‘ri boshqarish zarurati kutilgan natijalar va tizim resurslarining samarali taqsimlanishini ta'minlashga asoslanadi. Zamonaviy operatsion tizimlar ko‘p vazifali va ko‘p foydalanuvchili tizimlar bo‘lib, bir vaqtning o‘zida bir nechta jarayonlar faoliyat ko‘rsatadi. Shuning uchun jarayonlar boshqaruvi tizim resurslarini to‘g‘ri taqsimlash, sinxronlashtirish va ularga to‘g‘ri ustuvorlik berish orqali tizimning tezligi, barqarorligi va samaradorligini oshiradi. Shuningdek, ko‘p foydalanuvchili tizimlar, bulutli hisoblash va mobil qurilmalar sohasidagi o‘sish ham jarayonlar boshqaruvi sohasining dolzarbligini yanada kuchaytirmoqda. Jarayonlarning samarali boshqarilmasligi tizimda xatoliklar, past ishlash tezligi, resurslarning noto‘g‘ri taqsimlanishi va boshqa muammolarni keltirib chiqarishi mumkin. Bu holatlar, ayniqsa, katta hajmdagi 3 ma'lumotlar bilan ishlovchi tizimlar va real vaqt rejimida ishlaydigan tizimlarda alohida muhimdir. Maqsadi: Kurs ishining asosiy maqsadi operatsion tizimlar doirasida jarayonlarni boshqarish jarayonini chuqur o‘rganish, jarayonlar boshqaruvi metodlarini tahlil qilish va tizim samaradorligini oshirish uchun mavjud usullarni ko‘rib chiqishdir. Shuningdek, jarayonlarning sinxronlash, deadlock (to‘xtab qolish) va resurslarni boshqarish kabi muammolarini tahlil qilish ham ushbu ishning dolzarb vazifalaridan biridir. Kurs ishi davomida operatsion tizimlar va jarayonlar boshqaruvi bo‘yicha asosiy tushunchalar, metodlar va ular bilan bog‘liq muammolarni tahlil qilish orqali tizim samaradorligini oshirish va jarayonlar boshqaruvi bilan bog‘liq masalalarga yechimlar taklif etishga harakat qilinadi. Vazifalari: Operatsion tizimlar va jarayonlar boshqaruvi asoslarini o‘rganish: Operatsion tizimlar va jarayonlar tushunchalarini aniqlash, jarayonlar boshqaruvi tizimlaridagi rolini tushuntirish. Turli operatsion tizimlar (ko‘p vazifali, ko‘p foydalanuvchili, real vaqt tizimlari)da jarayon boshqaruvi qanday amalga oshirilishini tahlil qilish. Jarayonlarni rejalashtirish va boshqarish algoritmlarini o‘rganish: Jarayonlarni rejalashtirish va bajarish uchun ishlatiladigan turli algoritmlar (FCFS, SJF, Round Robin, Prioritetli rejalashtirish va boshqalar)ni tahlil qilish. Har bir algoritmning afzalliklari va kamchiliklarini aniqlash, ularning samaradorligini taqqoslash. Jarayonlar o‘rtasida sinxronizatsiya va kommunikatsiya masalalarini tahlil qilish: Jarayonlar o‘rtasidagi resurslarni birgalikda ishlatish va sinxronizatsiya qilish muammolarini o‘rganish. Semaphore, mutex va monitorya kabi mexanizmlarni o‘rganish, ular yordamida jarayonlar o‘rtasida xavfsiz kommunikatsiyani tashkil etish. 4 I BOB. OPERATSION TIZIMLAR VA JARAYONLAR BOSHQARUVI. 1.1-§. Operatsion tizimlar turlari (real vaqt, ko’p vazifali tizimlar va boshqalar). Operatsion tizim (OT) — bu kompyuterning asosiy dasturiy ta'minoti bo‘lib, foydalanuvchi va kompyuter apparati o‘rtasidagi interfeysni ta'minlaydi. U barcha resurslarni, jumladan, protsessor, xotira, fayl tizimi, va qurilmalarni boshqaradi. Operatsion tizimlar turli vazifalarni bajarish uchun mo‘ljallangan va ular har xil konfiguratsiya va imkoniyatlarga ega bo‘lishi mumkin. Bular orasida ko‘p vazifali tizimlar (multitasking), ko‘p foydalanuvchili tizimlar (multi-user), real vaqt tizimlari va boshqa turli tizimlar mavjud. Operatsion tizimlar quyidagi asosiy vazifalarni bajaradi: Resurslarni boshqarish: Operatsion tizim protsessor, xotira, disklar va boshqa apparat resurslarini boshqaradi. Fayllar tizimi: Fayllarni yaratish, o‘qish, yozish, o‘chirish kabi operatsiyalarni boshqaradi. Jarayonlarni boshqarish: Jarayonlarning yaratish, ishga tushirish, bajarilishini nazorat qilish va tugatish kabi vazifalar. Sinxronizatsiya va xavfsizlik: Bir nechta jarayonning resurslarni birgalikda ishlatishini sinxronlashtirish va tizim xavfsizligini ta'minlash. Jarayon (process) — bu operatsion tizimda ishlayotgan va o‘ziga xos xotira va resurslarga ega bo‘lgan dastur. Har bir jarayon o‘zining bajarilish holatiga (ready, running, waiting va boshqalar) va ma'lum bir resurslar majmuasiga ega. Jarayonlar operatsion tizim tomonidan boshqariladi va tizimning samarali ishlashini ta'minlash uchun ular rejalashtiriladi, taqsimlanadi va sinxronlashtiriladi. Jarayonning hayotiy tsikli: Yaratilish: Jarayon yangi holatda, bajarishga tayyor holatda yaratiladi. Ishlash (running): Jarayon protsessorda bajarilmoqda. Kutish (waiting): Jarayon resurslar yoki ma'lumotlar kutmoqda. To‘xtash (terminated): Jarayon o‘z ishini tugatadi va tizimdan chiqadi. Operatsion tizimlar jarayonlarni boshqarish va ularning samarali ishlashini ta'minlash uchun turli metodlarni ishlatadi. Jarayonlarni boshqarish jarayoni quyidagi asosiy komponentlardan iborat: Jarayonlarni rejalashtirish (Scheduling): Jarayonlarni rejalashtirish, ular uchun protsessor vaqtini taqsimlashni anglatadi. Turli rejalashtirish algoritmlari mavjud, masalan: First-Come, First-Served (FCFS): Jarayonlar kelish tartibida bajariladi. 5 Shortest Job First (SJF): Eng qisqa davom etadigan jarayonlar avval bajariladi. Round Robin (RR): Har bir jarayon ma'lum vaqt davomida protsessorda ishlaydi, so‘ngra boshqa jarayonga o‘tadi. Sinxronizatsiya (Synchronization): Bir nechta jarayonlar bir vaqtning o‘zida resurslardan foydalanishi kerak bo‘lsa, ularni sinxronlashtirish zarur. Buning uchun semaforlar, mutexlar va monitoryalar kabi mexanizmlar ishlatiladi. 1-rasm. Operarsion tizimlarning tarkibiy tuzilishi. Resurslarni boshqarish: Jarayonlar resurslardan (masalan, xotira, protsessor va qurilmalar) foydalanganda, ularni taqsimlash va ularning o‘zaro raqobatini boshqarish muhimdir. Resurslarni boshqarishda jarayonlar orasidagi to‘qnashuvlarni (deadlock) oldini olish zarur. Deadlock (To‘xtab qolish): Deadlock — bu bir nechta jarayonlar bir-birini kutayotgan holda tizimning ishlashini to‘xtatib qo‘yadigan holat. Deadlockni oldini olish va yechish uchun turli strategiyalar mavjud: resurslarni bir vaqtning o‘zida faqat bir jarayonga berish, resurslar tartibida bo‘lish va boshqalar. Jarayonlar boshqaruvi va operatsion tizim samaradorligi. Jarayonlarni samarali boshqarish operatsion tizimning umumiy samaradorligini oshiradi. Yaxshi tashkil etilgan jarayon boshqaruvi: Tizimning ishlash tezligini oshiradi. Resurslarni samarali taqsimlaydi va ortiqcha yuklanishni oldini oladi. Tizimni barqaror va ishonchli holatda saqlaydi. Jarayonlar boshqaruvi metodlari. Jarayonlar boshqaruvi metodlari operatsion tizimlar samaradorligini oshirish uchun doimiy ravishda takomillashib bormoqda. 6 Hozirgi kunda qo‘llanilayotgan metodlar va yondashuvlar quyidagilarni o‘z ichiga oladi: Multitasking va multitasking resurslarini boshqarish. Ko‘p yadroli protsessorlar yordamida jarayonlarni parallel ishlashga yo‘naltirish. Dinamik rejalashtirish algoritmlari va ustuvorliklarni belgilash. Jarayonlar boshqaruvi operatsion tizimlarning samarali ishlashini ta'minlashda muhim ahamiyatga ega. Jarayonlarni to‘g‘ri rejalashtirish, boshqarish va sinxronlash tizimning umumiy ishlashiga sezilarli ta'sir ko‘rsatadi. Shuningdek, jarayonlar o‘rtasida to‘qnashuvlarni oldini olish va resurslarni samarali taqsimlash orqali tizim samaradorligini oshirish mumkin. Bu sohada mavjud bo‘lgan metodlar va texnikalar doimiy ravishda yangilanib, rivojlanib bormoqda. Operatsion tizimlar turli vazifalarni bajarish va foydalanuvchilarga turli xizmatlarni taqdim etish uchun turli turlarga bo‘linadi. Har bir operatsion tizim turi o‘zining maqsadiga qarab maxsus dizayn qilingan va turli sohalarda ishlatiladi. Quyida asosiy operatsion tizimlar turlari keltirilgan: Real Vaqt Operatsion Tizimlar (Real-Time Operating Systems, RTOS) Tavsif: Real vaqt operatsion tizimlar (RTOS) yuqori tezlikda va aniq vaqt oralig‘ida javob berish talab qilinadigan tizimlar uchun mo‘ljallangan. Bunday tizimlar noaniqlik va kechikishlarga toqat qilmaydi va tizimning har bir vazifasi qat'iy va aniq vaqt ichida bajarilishi kerak. Xususiyatlar: Aniqlik: Har bir jarayon va vazifa belgilangan vaqtda bajarilishi kerak. Tizimning tezkorligi: Kechikishlar minimallashtirilgan bo‘lishi kerak. Dasturlar va usullar: Odatda shunday dasturlar ishlaydi, ular maxsus apparat qurilmalari bilan integratsiyalangan bo‘ladi (masalan, robotlar, sanoat uskunalari). Misollar: Sanoat avtomatizatsiyasi tizimlari Aviatsiya va kosmik tizimlar Tibbiy monitoring tizimlari (masalan, yurakni kuzatish apparatlari) Ko‘p Vazifali Operatsion Tizimlar (Multitasking Operating Systems) Tavsif: Ko‘p vazifali tizimlar bir nechta vazifani (jarayonni) bir vaqtning o‘zida bajarish imkonini beradi. Bunday tizimlarda protsessor bir vaqtning o‘zida bir nechta jarayonni bajaradi, lekin real vaqtni ta'minlamaydi, ya'ni protsessor vaqtini tez-tez qayta taqsimlaydi. 7 Xususiyatlar: Protsessorni taqsimlash: Protsessorning resurslari bir nechta jarayon o‘rtasida taqsimlanadi. Tezkor jarayonlarni o‘zgartirish: Tizim har bir jarayonni qisqa vaqtga bajaradi va qayta ishlaydi (masalan, round-robin algoritmi). Misollar: Microsoft Windows Linux macOS Ko‘p Foydalanuvchili Operatsion Tizimlar (Multi-User Operating Systems) Tavsif: Ko‘p foydalanuvchili tizimlar bir nechta foydalanuvchining bir vaqtning o‘zida tizim resurslarini ishlatishini ta'minlaydi. Bu tizimlar foydalanuvchilarga turli ilovalar va xizmatlarni taqdim etishda samarali bo‘ladi. Xususiyatlar: Foydalanuvchi o‘rtasidagi izolyatsiya: Har bir foydalanuvchi o‘zining resurslarini va muhitini ishlatadi. Resurslarni taqsimlash: Resurslar (xotira, protsessor vaqt, disklar) foydalanuvchilar o‘rtasida taqsimlanadi. Misollar: UNIX Linux Windows Server IBM z/OS 1-jadval. Operatsion tizimlar turlari tavsifi va qo’llanilish sohalari. Tizim turi Tavsif Qo‘llanilish sohasi Real vaqt rejimidagi Aniq vaqt talablari operatsion tizim (RTOS) bo‘lgan tizimlar uchun mo‘ljallangan. Jarayonlar oldindan belgilangan vaqtda bajarilishi kerak. 8 Tibbiyot uskunalari, sanoat avtomatlashtirish, harbiy tizimlar, robototexnika, avionika. Ko‘p dasturlilik tizimi Bir vaqtning o‘zida bir Shaxsiy kompyuterlar, (Multitasking OS) nechta dasturlarni ishga serverlar, mobil tushirish imkoniyatiga qurilmalar. ega. Operatsion tizim resurslarni samarali taqsimlaydi. Ko‘p foydalanuvchili Bir nechta tizim (Multi-User OS) foydalanuvchilarni bir vaqtda qo‘llabquvvatlaydi va har biri o‘z jarayonlariga ega bo‘lishi mumkin. Katta ma’lumot tarmoq tizimlari. serverlar, markazlari, operatsion Taqsimlangan operatsion Bir nechta kompyuterlar tizim (Distributed OS) tarmoq orqali bog‘langan va bitta tizim sifatida ishlaydi. Resurslar taqsimlanadi. Katta korporativ tarmoqlar, bulutli hisoblash, superkompyuterlar. Ko‘p protsessorli tizim Bir nechta markaziy (Multiprocessing OS) protsessorlarni ishlatish orqali jarayonlarni parallel bajaradi. Katta hajmdagi hisobkitob talab qiladigan tizimlar, ilmiy hisoblash, server tizimlari. Ko‘p oqimli tizim Har bir jarayon bir nechta Veb-serverlar, real vaqt (Multithreading OS) oqimlarga (thread) dasturlari, grafik ishlov ajratilib, parallel ishlash berish tizimlari. imkoniyatiga ega. Partovli operatsion tizim Buyruqlar yoki dasturlar (Batch OS) to‘plam sifatida qayta ishlanadi. Foydalanuvchi to‘g‘ridan-to‘g‘ri boshqarish imkoniyatiga ega emas. 9 Katta hajmdagi ma’lumotlarni qayta ishlash, bank tizimlari, statistik tahlil. Tarmoq operatsion tizimi Tarmoq orqali Korporativ tarmoqlar, (Network OS) bog‘langan kompyuterlar ma’lumot markazlari, uchun ishlaydi va internet xizmatlari. resurslarni ulashish imkonini beradi. Kapsullangan operatsion Dasturiy va apparat tizim (Embedded OS) jihatdan maxsus qurilmalarga moslashtirilgan tizim. Resurslari cheklangan bo‘lishi mumkin. Smartfonlar, IoT qurilmalar, maishiy texnika, avtomobil elektron tizimlari. Virtualizatsiya tizimlari Bitta jismoniy apparat Bulutli hisoblash, server (Virtualization OS) vositasida bir nechta konsolidatsiyasi, operatsion tizimlarni ma’lumot markazlari. ishga tushirish imkonini beradi. Ko‘p Yadroli Operatsion Tizimlar (Multiprocessing Operating Systems) Tavsif: Ko‘p yadroli operatsion tizimlar bir nechta protsessor yoki protsessor yadrolarini bir vaqtda ishlatishga imkon beradi. Bu tizimlar samarali parallel ishlashni ta'minlaydi, ya'ni bir vaqtning o‘zida bir nechta jarayonlar parallel ravishda ishlashi mumkin. Xususiyatlar: Parallel ishlash: Jarayonlar bir nechta protsessor yadrolarida parallel bajariladi. Samarali resurslarni taqsimlash: Ko‘p protsessorli tizimlar tizim resurslarini samarali taqsimlaydi va tizimning umumiy samaradorligini oshiradi. Misollar: Linux (ko‘p yadroli protsessorlarni qo‘llab-quvvatlaydi) Windows Server (ko‘p protsessorlarni qo‘llab-quvvatlash) macOS (ko‘p yadroli tizimlar bilan ishlaydi) Tarmoq Operatsion Tizimlari (Network Operating Systems, NOS) Tavsif: 10 Tarmoq operatsion tizimlari bir nechta kompyuterlarni tarmoq orqali bog‘laydi va tarmoq resurslarini boshqaradi. Bu tizimlar ma'lumotlar uzatish, tarmoq qurilmalari va xizmatlarni taqdim etish uchun ishlatiladi. Xususiyatlar: Tarmoq resurslarini boshqarish: Tizim tarmoqda mavjud bo‘lgan kompyuterlar va resurslarni boshqaradi. Xavfsizlik: Tarmoq orqali ma'lumotlar uzatilishida xavfsizlikni ta'minlaydi. Misollar: Windows Server Linux (tarmoqni boshqarish uchun ko‘p imkoniyatlarga ega) Novell NetWare Yalpi Tizimlar (Distributed Operating Systems) Tavsif: Yalpi tizimlar bir nechta alohida kompyuterlar yoki qurilmalarni birlashtirib, ularga yagona tizim sifatida ishlash imkonini beradi. Bu tizimlar resurslarni taqsimlash, ma'lumotlarni saqlash va jarayonlarni boshqarishni bir nechta mashinalar o‘rtasida taqsimlaydi. Xususiyatlar: Resurslarni taqsimlash: Bir nechta kompyuterlar o‘rtasida resurslar samarali taqsimlanadi. Ismli resurslar: Foydalanuvchilar va jarayonlar tarmoqdagi alohida mashinalarga o‘xshash tarzda birlashtirilgan resurslarni ishlatishi mumkin. Misollar: Google’s Distributed File System (GFS) Hadoop Fayl Tizimi Operatsion Tizimlari (File System Operating Systems) Tavsif: Fayl tizimi operatsion tizimlari asosan fayl tizimlari bilan ishlashga yo‘naltirilgan bo‘lib, ular fayllar yaratish, o‘zgartirish, saqlash va o‘chirish bilan bog‘liq barcha jarayonlarni boshqaradi. Xususiyatlar: Fayllarni boshqarish: Fayllar va direktoriyalarni boshqaradi. Ma'lumotlarni saqlash va qayta ishlash: Ma'lumotlar, fayllar va ularning atributlari saqlanadi va boshqariladi. Misollar: UNIX va Linux fayl tizimlari NTFS (Windows fayl tizimi) 11 Operatsion tizimlar turli xil ehtiyojlarga moslashgan va turli vazifalarni bajarishga qaratilgan tizimlar bo‘lib, har biri o‘ziga xos xususiyatlarga ega. Real vaqt tizimlaridan tortib, ko‘p yadroli va tarmoq tizimlarigacha, har bir tur tizimni ishlatishning samaradorligi va tezligi uchun maxsus yondashuvni talab qiladi. Shuning uchun tizim tanlashda uning vazifalari va maqsadlari hisobga olinadi. 12 1.2-§. Jarayon tushunchasi: ta’rifi, xususiyatlari. Jarayon (process) — bu operatsion tizimda ishlayotgan va o‘ziga xos xotira va resurslarga ega bo‘lgan dastur yoki dastur qismi. Jarayon dastur kodining bajarilishi uchun zarur bo‘lgan barcha resurslarni o‘z ichiga oladi. Jarayonlar operatsion tizim tomonidan boshqariladi va tizimda bir vaqtning o‘zida bir nechta jarayonlar parallel ravishda ishlashi mumkin. Har bir jarayon operatsion tizimda o‘ziga xos hayotiy tsiklga ega bo‘lib, tizimning samarali ishlashini ta'minlashda asosiy rol o‘ynaydi. Jarayonlar o‘zgaruvchan holatlarda bo‘ladi (masalan, ishlashda, kutish holatida yoki tugash holatida) va ularning ishga tushirilishi, bajarilishi, sinxronizatsiyasi va tugatilishi operatsion tizim tomonidan boshqariladi. Jarayonlarning xususiyatlari operatsion tizimni samarali boshqarish va jarayonlarning resurslardan to‘g‘ri foydalanishini ta'minlash uchun juda muhimdir. Quyida jarayonlarning asosiy xususiyatlari keltirilgan: Jarayonning hayotiy tsikli (Process Lifecycle): Jarayonning hayotiy tsikli — bu jarayonning operatsion tizimda yaratilishidan tortib to‘liq tugashigacha bo‘lgan barcha bosqichlarni o‘z ichiga oladi. Jarayon quyidagi asosiy holatlarda bo‘lishi mumkin: Yaratilish (New): Jarayon operatsion tizim tomonidan yaratildi, lekin hali bajarilmayapti. Tizimda jarayon uchun resurslar ajratilgan va u bajarishga tayyor. Ishlash (Running): Jarayon protsessorda bajarilmoqda. Bu holatda jarayon ishlayotgan va uning kodlari bajarilmoqda. Kutish (Waiting/Blocked): Jarayon ba'zi resurslarni kutayotgan holatda bo‘ladi (masalan, ma'lumotlarni o‘qish yoki boshqa jarayon tomonidan bo‘lishayotgan resurslarni kutish). Ready (Tayyor): Jarayon bajarish uchun tayyor, lekin hali protsessor tomonidan bajarilmagan. Bu holatda jarayon protsessor vaqtini kutmoqda. To‘xtash (Terminated/Exit): Jarayon o‘z ishini tugatgan va tizimdan chiqarilgan. Jarayon tomonidan ishlatilgan barcha resurslar bo‘shatilib, tizim qayta ishlovchi jarayonni boshlash uchun tayyorlanadi. Jarayonni boshqarish (Process Control): Jarayonlarni boshqarish operatsion tizim tomonidan amalga oshiriladi. Tizim jarayonlarni yaratadi, o‘zgartiradi, sinxronlashtiradi, va yakunlaydi. Tizimda jarayonlarni samarali boshqarish uchun quyidagi usullar qo‘llaniladi: Rejalashtirish (Scheduling): Jarayonlar protsessorga taqsimlanadigan vaqtda rejalashtirish algoritmlari ishlatiladi (masalan, FCFS, Round Robin, SJF). 13 Resurslarni taqsimlash (Resource Allocation): Jarayonlar bajarilish uchun kerakli resurslarga (xotira, protsessor, fayllar, qurilmalar va boshqalar) ega bo‘lishi kerak. Operatsion tizim bu resurslarni taqsimlashni nazorat qiladi. Sinxronizatsiya (Synchronization): Agar bir nechta jarayonlar bir vaqtning o‘zida resurslardan foydalanayotgan bo‘lsa, ular o‘rtasida to‘qnashuvlarni oldini olish uchun sinxronizatsiya mexanizmlari (semaphorlar, mutexlar, monitoryalar) ishlatiladi. Jarayonlarning resurslarga bo‘lgan ehtiyoji: Har bir jarayon bajarilishi uchun bir nechta resurslarga ehtiyoj sezadi. Ushbu resurslar quyidagi turdagi bo‘lishi mumkin: Protsessor va protsessor vaqtining taqsimlanishi. Xotira (RAM): Jarayon o‘zining kodini va ma'lumotlarini xotirada saqlaydi. Disk va fayllar: Jarayon fayllar tizimi orqali ma'lumotlarga o‘qish va yozish imkoniyatiga ega bo‘ladi. I/O qurilmalari: Jarayon o‘z faoliyati davomida kiritish/chiqarish (I/O) qurilmalari bilan ishlaydi, masalan, klaviatura, printer, ekranga chiqish va boshqalar. Jarayon va apparatning o‘zaro aloqasi: Jarayonlar apparat resurslaridan (masalan, protsessor, xotira, qurilmalar) foydalanish uchun operatsion tizim orqali o‘zaro bog‘lanadi. Jarayonlarning bajarilishi davomida: Protsessor (CPU): Jarayon protsessorda bajarilayotgan vaqtda uning harakatini boshqaradi. Protsessor har bir jarayonni vaqtinchalik boshqaradi. Xotira: Jarayonning kodlari va ma'lumotlari xotirada joylashadi. Operatsion tizim jarayonlarga kerakli xotirani ajratadi va uni boshqaradi. Qurilmalar (I/O): Jarayonlar ma'lumotlarni kiritish yoki chiqarish uchun qurilmalarga (klaviatura, printer, tarmoq kartalari) murojaat qiladi. Jarayonlar o‘rtasidagi sinxronizatsiya: Bir nechta jarayonlar bir vaqtning o‘zida bir xil resurslardan foydalanishi mumkin. Bu holatda, jarayonlar o‘rtasidagi sinxronizatsiya zarur bo‘ladi. Sinxronizatsiya jarayonlar o‘rtasida o‘zaro raqobatni oldini olish va ularni xavfsiz tarzda birgalikda ishlashini ta'minlash uchun ishlatiladi. Sinxronizatsiya mexanizmlari quyidagilarni o‘z ichiga oladi: Semaphore: Bu maxsus bir turdagi o‘zgaruvchi bo‘lib, u jarayonlarga resurslarni taqsimlashda ishlatiladi. Semaphore yordamida jarayonlar birbirini kutishlari yoki sinxronlashlari mumkin. Mutex (Mutual Exclusion): Mutex yordamida faqat bitta jarayon resursdan foydalanishi mumkin. Boshqa jarayonlar kutish holatida bo‘ladi. Monitorya: Bu ko‘proq murakkab sinxronizatsiya mexanizmi bo‘lib, bir nechta jarayonlar resurslarga kirishishda o‘zaro bog‘liq bo‘lishi mumkin. 14 Deadlock (To‘xtash) va uning oldini olish: Deadlock — bu jarayonlarning o‘zaro kutish holatiga kirishi va shu sababli tizimning ishlashini to‘xtatib qo‘yishidir. Deadlock jarayonlar bir-birini kutayotgan holatda, va hech biri boshqa jarayonga kerakli resursni bera olmaydi. Deadlockni oldini olish uchun operatsion tizimlar quyidagi yondashuvlarni qo‘llaydi: Resurslarni to‘g‘ri taqsimlash va har bir jarayonning nima uchun kutayotganini aniqlash. Resurslarni bir vaqtning o‘zida faqat bitta jarayonga berish. Deadlockni aniqlash va undan qochish algoritmlarini ishlab chiqish. Jarayonlarning turli holatlari: Jarayonlar ba'zi muayyan holatlarga ega bo‘ladi. Jarayonning holatlari operatsion tizim tomonidan boshqariladi va har bir jarayonning holatiga qarab uning bajarilishi tartibga solinadi. Ready: Jarayon protsessor vaqtini kutmoqda. Running: Jarayon protsessorda bajarilmoqda. Blocked/Waiting: Jarayon resurslar yoki ma'lumotlarni kutmoqda. Terminated: Jarayon tugatilgan, uning bajarilishi yakunlangan. Jarayon — bu operatsion tizimda bajarilayotgan dastur bo‘lib, o‘zining xotira va resurslariga ega bo‘ladi. Jarayonlar samarali boshqarilishi kerak, chunki ular tizimning umumiy samaradorligini belgilaydi. Jarayonlarni boshqarishda rejalashtirish, sinxronizatsiya va resurslardan to‘g‘ri foydalanish kabi muhim elementlar mavjud. Jarayonlar o‘rtasida to‘qnashuvlarni oldini olish va tizimning barqaror ishlashini ta'minlash jarayon boshqaruvining muhim qismidir. 15 1.3-§. Jarayonlarni boshqarish va ularning operatsion tizimdagi roli. Jarayonlarni boshqarish operatsion tizimning eng muhim vazifalaridan biridir. Jarayonlar operatsion tizimda bajarilayotgan dasturlar yoki dastur qismlaridir va ular tizimning resurslarini samarali boshqarish, bajarilayotgan ishlarni koordinatsiya qilish va tizimning umumiy samaradorligini ta'minlash uchun ishlatiladi. Jarayonlarni boshqarish operatsion tizimning bir nechta asosiy funksiyalarini o‘z ichiga oladi va tizimning ishlashini optimallashtiradi. Jarayonlarni boshqarishning asosiy maqsadi – operatsion tizimda jarayonlarni samarali va tizimli ravishda boshqarishdir. Bu jarayonlar turli holatlar va resurslarga bo‘lgan ehtiyojlarga qarab bajariladi. Asosiy vazifalar quyidagilarni o‘z ichiga oladi: Jarayonlarni yaratish va yakunlash: Operatsion tizim jarayonlarni yaratish, boshqarish va tugatish bilan shug‘ullanadi. Tizimda yangi jarayonlar yaratiladi, bajarilishi boshqariladi, va tugagandan so‘ng resurslar bo‘shatiladi. Resurslarni taqsimlash: Har bir jarayon kerakli resurslarga (xotira, protsessor va I/O qurilmalari) ega bo‘lishi kerak. Jarayonlarni boshqarishda operatsion tizim resurslarni qanday taqsimlashni boshqaradi. Jarayonlar o‘rtasidagi sinxronizatsiya: Bir nechta jarayonlar bir vaqtning o‘zida ishlayotgan va resurslarni ishlatayotgan bo‘lsa, tizim bu jarayonlarning to‘qnashuviga yo‘l qo‘ymaslik uchun ularni sinxronlashtiradi. Jarayonlarning holatlarini boshqarish: Jarayonlar bajarilayotganda ularning holatlari (tayyor, ishlashda, kutish va yakunlash) doimiy ravishda kuzatib boriladi va boshqariladi. Jarayonlar o‘rtasida adolatli resurs taqsimoti: Jarayonlar o‘rtasida resurslar adolatli taqsimlanishi kerak, shunda hech bir jarayon boshqa jarayonni xohlamagan tarzda ortiqcha resurslarga ega bo‘lmasligi kerak. Jarayonlarni boshqarishda quyidagi asosiy komponentlar mavjud: Jarayon jadvali (Process Table): Jarayon jadvali operatsion tizimda mavjud bo‘lgan barcha jarayonlar haqida ma'lumotlarni saqlovchi tuzilma hisoblanadi. Har bir jarayon uchun jarayon jadvalida quyidagi ma'lumotlar mavjud bo‘ladi: Jarayon identifikatori (PID): Har bir jarayon uchun yagona identifikator. Jarayon holati: Jarayonning joriy holati (masalan, tayyor, ishlashda, kutish, tugash). Protsessor registrlari: Jarayonni bajarish uchun protsessorga ajratilgan registrlar. Xotira ma'lumotlari: Jarayon tomonidan foydalaniladigan xotira bloklari haqida ma'lumot. I/O holatlari: Jarayonning kiritish/chiqarish operatsiyalari va uning holati. 16 Rejalashtirish (Scheduling): Rejalashtirish — bu jarayonlarni protsessorga taqsimlash jarayonidir. Jarayonlar protsessor vaqtini kutayotgan paytda ularni bajarishning tartibi aniqlanadi. Rejalashtirish operatsion tizimning asosiy funksiyalaridan biridir, chunki jarayonlarning bajarilishi samarali bo‘lishi kerak. Jarayonlar uchun quyidagi rejalashtirish algoritmlari qo‘llaniladi: FCFS (First-Come-First-Served): Birinchi kelsa, birinchi bajariladi. Bu algoritmda jarayonlar tizimga kelish tartibiga ko‘ra ishlaydi. Round Robin (RR): Har bir jarayon ma'lum bir vaqt davomida ishlaydi, so‘ngra protsessor keyingi jarayonga beriladi. SJF (Shortest Job First): Eng qisqa bajariladigan jarayonlar avval bajariladi. Priority Scheduling: Har bir jarayonning ustuvorligi belgilangan bo‘lib, yuqori ustuvorlikka ega jarayonlar avval bajariladi. Sinxronizatsiya (Synchronization): Jarayonlarni sinxronlashtirish — bu bir nechta jarayonlar o‘rtasida birgalikda ishlashni ta'minlash uchun zarur. Sinxronizatsiya jarayonlarning bir-biriga to‘qnashmasligini, ma'lumotlar ustida birgalikda ishlayotgan jarayonlarning notekis foydalanishini oldini olishga yordam beradi. Sinxronizatsiya mexanizmlari quyidagilarni o‘z ichiga oladi: Semaforlar (Semaphore): Jarayonlar o‘rtasida resurslarni taqsimlashni va ularning ishini tartibga solishni ta'minlaydi. Muteks (Mutex): Faqat bitta jarayon resursga kirishiga ruxsat beradi. Monitorya (Monitor): Murakkab sinxronizatsiya mexanizmi bo‘lib, bir nechta jarayonlar o‘rtasida to‘qnashuvni oldini oladi. Kommunikatsiya o‘rtasidagi jarayonlar (Inter-process Communication, IPC): Jarayonlar o‘rtasida ma'lumotlar almashish yoki kommunikatsiya qilish uchun maxsus mexanizmlar qo‘llanadi. Bular quyidagilarni o‘z ichiga oladi: Fayllar: Jarayonlar fayl tizimi orqali bir-biri bilan ma'lumot almashishi mumkin. Xotira segmentlari (Shared Memory): Bir nechta jarayonlar umumiy xotira hududida ishlaydi va shu orqali ma'lumotlar almashiladi. Mesajlar: Jarayonlar o‘zaro xabarlar yuborib, ma'lumotlar almashadilar. Deadlock (To‘xtash) — bu bir nechta jarayonlar bir-biriga kutish holatiga tushib qolishidir, natijada tizim hech qanday jarayonni bajarolmaydi. Deadlockning oldini olish uchun operatsion tizimlar quyidagi usullarni qo‘llaydi: Resurslarni to‘g‘ri taqsimlash: Jarayonlar resurslarga muhtoj bo‘lishi bilan ularni taqsimlashda ehtiyotkorlik bilan yondashiladi. To‘xtashni aniqlash algoritmlari: Operatsion tizim deadlockni aniqlash va undan qochish uchun algoritmlar ishlab chiqadi. 17 Resursni bloklash va rejalashtirish: Resurslar oldindan belgilanadi va jarayonlar resurslarga faqat bir vaqtning o‘zida ega bo‘lishi mumkin. Jarayonlar operatsion tizimning muhim tarkibiy qismidir. Ular tizimning bajaradigan ishlari va foydalanuvchi talablarini bajarish uchun zarur resurslarni ishlatadi. Jarayonlar operatsion tizimning samarasini belgilaydi, chunki ular tizimning resurslarini boshqarish va bajarilayotgan vazifalarni samarali taqsimlashga imkon beradi. Resurslardan samarali foydalanish: Jarayonlar operatsion tizimdagi resurslardan to‘g‘ri foydalanishni ta'minlaydi, shuningdek, ular resurslarni o‘zaro bo‘lishishadi. Foydalanuvchi va tizimning o‘zaro aloqasi: Jarayonlar foydalanuvchining talablarini bajarish uchun tizim bilan o‘zaro aloqada bo‘lishadi. Har bir jarayonning resurslar va xizmatlarga bo‘lgan ehtiyoji operatsion tizim tomonidan boshqariladi. Tizimning barqaror ishlashini ta'minlash: Jarayonlarni boshqarish orqali operatsion tizimning barqaror ishlashini ta'minlash mumkin. Masalan, jarayonlarning sinxronizatsiya qilinishi yoki deadlocklarning oldini olish tizimning mustahkamligini ta'minlaydi. Jarayonlarni boshqarish operatsion tizimning eng muhim qismi bo‘lib, uning samarali ishlashini ta'minlashda muhim rol o‘ynaydi. Jarayonlarni yaratish, rejalashtirish, resurslarni taqsimlash, sinxronizatsiya qilish va deadlockni oldini olish kabi funksiyalar tizimning barcha operatsiyalarini samarali boshqarishni ta'minlaydi. Jarayonlar operatsion tizimdagi resurslardan to‘g‘ri foydalanishni va tizimning barqarorligini saqlashni ta'minlashga xizmat qiladi. 18 II BOB. JARAYONLARNI BOSHQARISH METODLARI. 2.1-§. Jarayonni rejalashtirish va jadvalga qo’yish. Jarayonni rejalashtirish operatsion tizimning eng muhim vazifalaridan biridir. Bu jarayonlar o‘rtasida protsessor vaqtini taqsimlashni ta'minlaydi. Jarayonlar operatsion tizim tomonidan ma'lum bir rejalashtirish algoritmi yordamida boshqariladi. Jarayonlar turli holatlarda bo‘lishi mumkin, masalan, bajarilishga tayyor, kutish holatida, yoki ishlashda. Jarayonni rejalashtirish orqali operatsion tizim har bir jarayonni qanday va qachon bajarishni belgilaydi. Jarayonni rejalashtirishning asosiy maqsadi — protsessorni samarali taqsimlash, tizimda yuqori samaradorlikka erishish va jarayonlar o‘rtasidagi adolatni ta'minlashdir. Jarayonni rejalashtirish tizimning umumiy samaradorligini, resurslar taqsimotini va jarayonlar o‘rtasidagi raqobatni nazorat qilishga yordam beradi. 2-jadval. Jarayonni rejalashtirish turlari. Rejalashtirish turi Tavsif Afzalliklari Kamchiliklari Uzun muddatli rejalashtirish Tizimga qaysi jarayonlar yuklanishini belgilaydi. Tizim barqarorligini ta’minlaydi, xotira samarali foydalaniladi. Ishlash tezligi past bo‘lishi mumkin. O‘rta muddatli rejalashtirish Tizim yukini Xotirani samarali Jarayonni yana kamaytirish ishlatish, tizim yuklash uchun ba’zi ishlashini qo‘shimcha vaqt jarayonlarni optimallashtirish. talab qiladi. vaqtincha diskka chiqaradi (swapping). Qisqa muddatli rejalashtirish Qaysi jarayon protsessorni ishlatishini belgilaydi. Protsessor yuklanishini optimallashtiradi. 19 Resurslar noto‘g‘ri taqsimlansa, tizim ishlashi sekinlashishi mumkin. Jarayonlarni rejalashtirishda bir nechta metodlar va algoritmlar mavjud. Ular jarayonlarning bajarilishi tartibini va protsessor vaqti qanday taqsimlanishini belgilaydi. Quyida eng keng tarqalgan jarayonlarni rejalashtirish metodlari keltirilgan: FCFS (First Come First Served) Tavsif: Bu eng oddiy rejalashtirish algoritmidir. Jarayonlar tizimga kirish tartibida bajariladi. Ya'ni, birinchi bo‘lib tizimga kelgan jarayon birinchi bo‘lib bajariladi. Afzalliklari: Oddiy va amalga oshirish oson. Agar jarayonlarning bajarilish vaqti taxminan bir xil bo‘lsa, yaxshi ishlaydi. Kamchiliklari: "Konveyer effekt" degan holatga olib kelishi mumkin, ya'ni uzoq vaqt davomida bajarilishi kerak bo‘lgan jarayon tizimga birinchi kelganda, boshqa qisqa jarayonlar kutish holatida bo‘ladi. Jarayonlarning o‘rtacha kutish vaqti yuqori bo‘ladi, ayniqsa, uzun jarayonlar bilan qisqa jarayonlar aralashsa. Shortest Job First (SJF) Tavsif: Bu algoritm eng qisqa bajariladigan jarayonni avval bajarishni belgilaydi. Agar bir nechta jarayonlar bajarilish uchun tayyor bo‘lsa, eng qisqa vaqt davomida bajarilishi kerak bo‘lgan jarayon birinchi bo‘lib bajariladi. Afzalliklari: O‘rtacha kutish vaqtini minimallashtirishga yordam beradi. Yaxshi samaradorlikni ta'minlaydi, chunki tizimda tezda bajariladigan jarayonlar avval amalga oshiriladi. Kamchiliklari: Bu algoritmda jarayonlarning bajarilish vaqti oldindan ma'lum bo‘lishi kerak, bu esa ba'zi tizimlarda qiyin bo‘lishi mumkin. Uzoq muddatli jarayonlar uchun "starvation" (yuzaga kelmaslik) muammosi yuzaga kelishi mumkin, chunki doimiy ravishda yangi qisqa jarayonlar kelib tushadi. Round Robin (RR) Tavsif: Round Robin algoritmi har bir jarayonga bir xil protsessor vaqti (quantum) ajratadi. Agar jarayon belgilangan vaqt ichida tugamasa, u keyingi jarayonga o‘tkaziladi va jarayon qaytadan bajarilishi uchun yana tizimga kiradi. Afzalliklari: Jarayonlar orasida adolatli va teng taqsimlashni ta'minlaydi. 20 Jarayonlar tarmoqda va foydalanuvchi tomonidan qo‘llaniladigan tizimlarda yaxshi ishlaydi. Kamchiliklari: Agar protsessor vaqti (quantum) juda kichik bo‘lsa, jarayonlar juda tez-tez kontekstni almashtirishga majbur bo‘ladi, bu esa tizimning umumiy samaradorligini pasaytiradi. Agar protsessor vaqti juda katta bo‘lsa, tizim FCFSga o‘xshash bo‘lib qoladi va "konveyer effekt" muammosi yuzaga kelishi mumkin. Priority Scheduling Tavsif: Bu algoritmda har bir jarayonga ustuvorlik (priority) raqami tayinlanadi. Yuqori prioritetga ega jarayonlar avval bajariladi. Agar bir necha jarayonlar bir xil prioritetga ega bo‘lsa, ularning bajarilishi FCFS algoritmi asosida amalga oshiriladi. Afzalliklari: Muhim va tez bajarilishi kerak bo‘lgan jarayonlar avval bajariladi. O‘zgaruvchan va moslashuvchan tizimlarda qo‘llaniladi. Kamchiliklari: Agar jarayonlarga ustuvorliklarni to‘g‘ri taqsimlash bo‘yicha qarorlar noto‘g‘ri bo‘lsa, ba'zi jarayonlar doimiy ravishda bajarilmasdan qolishi (starvation) mumkin. Prioritetlarni o‘zgartirishda alohida ehtiyotkorlik talab etiladi. Multilevel Queue Scheduling Tavsif: Bu algoritmda jarayonlar bir nechta navbatlarga taqsimlanadi. Har bir navbat o‘z rejalashtirish algoritmiga ega bo‘ladi. Masalan, foydalanuvchi interaktiv jarayonlari uchun alohida navbat bo‘lishi mumkin, va uzoq vaqt davomida ishlovchi jarayonlar uchun boshqa navbat. Afzalliklari: Tizimni samarali boshqarish va turli turdagi jarayonlarga moslashish imkonini beradi. Har xil jarayonlarni bajarish uchun mos algoritmlar qo‘llaniladi. 3-jadval. Jarayonlarni rejalashtirish algoritimlari. Algoritm Tavsif Afzalliklari Kamchiliklari FCFS (First Come, First Served) Birinchi kelgan jarayon birinchi bajariladi. Oddiy va tushunarli, adolatli taqsimlash. Uzoq davom etuvchi jarayonlar kutish vaqtini oshirishi mumkin. 21 SJF (Shortest Job First) Eng qisqa bajarilish vaqtiga ega jarayon birinchi ishlaydi. Umumiy kutish vaqtini kamaytiradi. Uzoq jarayonlar orqada qolib ketishi mumkin. Round Robin (RR) Har bir jarayonga belgilangan vaqt kvanti ajratiladi. Tizim tezkor javob qaytaradi, adolatli resurs taqsimoti. Vaqt kvanti noto‘g‘ri tanlansa, ishlash samaradorligi pasayadi. Prioritetli rejalashtirish Jarayonlar ustuvorlik darajasiga qarab bajariladi. Muhim Past ustuvorlikka jarayonlar tezroq ega jarayonlar bajariladi. uzoq kutishi mumkin (Starvation). Ko‘p darajali navbatlar Jarayonlar turli navbatlarga ajratiladi va ularning rejalashtirish usuli farqli bo‘lishi mumkin. Har xil turdagi jarayonlarni boshqarish osonlashadi. Murakkab implementatsiya talab qiladi. Kamchiliklari: Bir necha navbatlar mavjud bo‘lgani uchun tizimni boshqarish murakkab bo‘ladi. Navbatlarga qarab jarayonlarning "starvation" muammosi yuzaga kelishi mumkin. Multilevel Feedback Queue Scheduling Tavsif: Bu algoritmda jarayonlar avvalgi navbatlar asosida rejalashtiriladi, lekin jarayonlar vaqt o‘tishi bilan navbatlar orasida ko‘chirilishi mumkin. Agar jarayon ko‘p protsessor vaqtini talab qilsa, u pastroq prioritetga ega navbatga o‘tkaziladi. Afzalliklari: Tizimda har xil turdagi jarayonlarni samarali boshqaradi. Jarayonlar orasida adolatli taqsimlashni ta'minlaydi va starvatsiya muammosini kamaytiradi. Kamchiliklari: 22 Murakkab algoritm bo‘lib, uning samarali ishlashi uchun tizimning yaxshi sozlanishi kerak. Jarayonni jadvalga qo‘yish (Process Scheduling Queue): Jarayonlarni rejalashtirish jarayonida, jarayonlar jadvalga qo‘yiladi. Har bir jarayon navbatda (queue) bo‘ladi, va ushbu navbatlar tizimda jarayonlar bajarilishi uchun tashkil etiladi. Jarayonlar uchun eng asosiy navbatlar quyidagilar bo‘ladi: Ready Queue: Bu navbatda bajarishga tayyor bo‘lgan jarayonlar joylashadi. Jarayonlar bu navbatda bo‘lishi mumkin, agar ular protsessor vaqtini kutayotgan bo‘lsa. Blocked Queue (Waiting Queue): Jarayonlar bu navbatda bo‘ladi, agar ular kerakli resurslarni kutayotgan bo‘lsa (masalan, ma'lumotni o‘qish yoki faylni ochish). Execution Queue: Bu jarayonlar protsessorda bajarilayotgan paytda joylashadi. Jarayonlarni rejalashtirish operatsion tizimning samarali ishlashi uchun muhim hisoblanadi. Jarayonlarni rejalashtirishda bir nechta algoritmlar mavjud bo‘lib, ularning har biri turli turdagi tizimlar va jarayonlar uchun optimal natijalar beradi. Rejalashtirish algoritmlari tizimdagi jarayonlar o‘rtasida protsessor vaqti va resurslarni qanday taqsimlashni belgilaydi. Tizimning samaradorligi, javob berish tezligi va resurslarni boshqarishning adolatliligi jarayonni rejalashtirishga bog‘liq. 23 2.2-§. Jarayonlarni sinxronlash va komunikatsiya. Jarayonlarni sinxronlash va kommunikatsiya operatsion tizimning eng muhim masalalaridan biridir. Bular bir-biriga bog‘langan va birgalikda ishlayotgan jarayonlarning resurslarni to‘g‘ri va samarali taqsimlashini ta'minlashga yordam beradi. Sinxronlash jarayonlar orasidagi resurslarni sinxronizatsiya qilishni, kommunikatsiya esa jarayonlar orasida ma'lumotlarni almashishni ta'minlaydi. Jarayonlarni sinxronlash – bu bir nechta jarayonlar o‘rtasida birgalikda ishlashni va resurslarni bir vaqtning o‘zida ishlatishdan kelib chiqadigan muammolarni hal qilishni ta'minlaydi. Sinxronizatsiya jarayonlar o‘rtasidagi to‘qnashuvlarni oldini olish, ya'ni bir jarayonning ishlashiga boshqa jarayonlarning ta'sir qilmasligini ta'minlaydi. Sinxronlashda bir nechta muammolar yuzaga keladi, ularning asosiylari quyidagilardir: Race Condition (Musobaqa sharti): Bir nechta jarayonlar bir vaqtning o‘zida umumiy resursdan foydalanishga intiladi, bu esa noto‘g‘ri natijalarga olib kelishi mumkin. Masalan, ikki jarayon bir vaqtning o‘zida hisoblashni o‘zgartirishga harakat qilganda, dastur noto‘g‘ri natija beradi. Deadlock (To‘xtash): Bir nechta jarayonlar o‘zaro kutish holatiga tushib qoladi, bu esa tizimning butunlay to‘xtashiga olib keladi. Deadlock jarayonlar o‘rtasidagi resurslar uchun kutish zanjiri shakllanadi va bular hech qachon o‘zaro bajarilishi mumkin emas. Starvation (Qashshoqlashish): Ba'zi jarayonlar doimiy ravishda bajarilmasdan qoladi, chunki ular uchun doimo yangi jarayonlar va resurslar ajratiladi. Bu holat odatda past prioritetga ega jarayonlar uchun yuz beradi. Jarayonlarni sinxronlashtirish uchun bir nechta mexanizmlar qo‘llaniladi. Eng mashhurlari quyidagilardir: Semaforlar (Semaphores): Semafor — bu jarayonlar o‘rtasida sinxronizatsiya qilish uchun ishlatiladigan tuzilma. Semaforlar ikkita asosiy operatsiyaga ega: P (Proberen) va V (Verhogen). P operatsiyasi semafor qiymatini kamaytiradi, V operatsiyasi esa uni oshiradi. Semafor yordamida jarayonlar resursni egallash yoki bo‘shatish uchun o‘zaro sinxronlashadi. Semaforlar ikki xil bo‘ladi: Binarny semafor (Mutex): Bu semafor faqat ikki holatda bo‘lishi mumkin — 1 (resursni olish mumkin) va 0 (resursni ishlatish taqiqlangan). 24 Hisobli semafor: Bu semafor, ko‘plab jarayonlar bir nechta resurslardan foydalanishi mumkin bo‘lgan holatlarda qo‘llaniladi. Muteks (Mutex): Muteks — bu resurslarni bir vaqtning o‘zida faqat bitta jarayon tomonidan ishlatilishini ta'minlovchi sinxronizatsiya mexanizmi. Agar bir jarayon resursni egallagan bo‘lsa, boshqa jarayonlar uni kutishi kerak. Muteks jarayonlar orasida sinxronlashtirishni ta'minlaydi va doimiy ravishda "o‘zgartiriladigan" holatda bo‘lmaydi. Monitorlar (Monitors): Monitor — bu murakkab sinxronizatsiya mexanizmi bo‘lib, uning yordamida bir vaqtning o‘zida faqat bitta jarayon bir resursni ishlata oladi. Monitorlar yordamida bir nechta jarayonlar o‘rtasidagi kutish va resursni bo‘lishish masalalari hal qilinadi. Monitorlar odatda resurslarga kirishni va o‘zaro sinxronlashni boshqarish uchun yaratiladi. Agar ikki jarayon bir xil faylni o‘qish va yozish jarayonida ishlayotgan bo‘lsa, sinxronlashtirish mexanizmi yordamida bu jarayonlarni boshqarish zarur. Agar bir jarayon faylni yozayotgan bo‘lsa, boshqa jarayon uni o‘qishga urinmasligi kerak. Bunday holatlarni sinxronlashtirish mexanizmlari yordamida boshqarish mumkin. Jarayonlar o‘rtasidagi kommunikatsiya (IPC) – bu tizimda ishlayotgan jarayonlar o‘rtasida ma'lumot almashish va hamkorlik qilish jarayonidir. Kompyuter tizimlarida ko‘p jarayonlar bir-biriga bog‘liq bo‘lib ishlaydi, va ular o‘rtasida ma'lumotlar almashish zarurati paydo bo‘ladi. IPC yordamida jarayonlar o‘rtasida ma'lumotlarni xavfsiz va samarali tarzda almashish mumkin. Jarayonlar o‘rtasidagi kommunikatsiya turli usullar bilan amalga oshiriladi. Quyida eng keng tarqalgan IPC usullari keltirilgan: Fayllar (Files):Fayllar jarayonlar o‘rtasida ma'lumotlarni saqlash va almashish uchun ishlatiladi. Bir jarayon faylni yozishi mumkin, boshqa jarayon esa uni o‘qiydi. Bu oddiy va oson usul, ammo fayllar orqali ma'lumotlarni almashishda sinxronizatsiya talab qilinishi mumkin. Xotira segmentlari (Shared Memory): Bir nechta jarayonlar umumiy xotira hududida ishlaydi va shu orqali ma'lumotlar almashadi. Bunda jarayonlar xotira bloklariga to‘g‘ridanto‘g‘ri kirishadi, bu esa kommunikatsiya tezligini oshiradi. Xotira segmentlarini sinxronlashtirish uchun semaforlar yoki mutexlardan foydalanish zarur. Mesajlar (Messages): 25 Jarayonlar o‘rtasida xabar yuborish va olish orqali kommunikatsiya amalga oshiriladi. Bunda jarayonlar bir-biriga xabar yuborib, o‘zaro ma'lumot almashadi. Messajlar yordamida jarayonlar to‘g‘ridan-to‘g‘ri xotira bo‘lishmasdan o‘zaro aloqada bo‘lishadi. IPCning afzalliklari va kamchiliklari Afzalliklari: Resurslarni samarali ishlatish: IPC yordamida jarayonlar o‘rtasida tezkor va samarali ma'lumot almashish mumkin. Tizim resurslaridan maksimal foydalanish: Xotira segmentlari va fayllar orqali jarayonlar bir-biri bilan ishlashadi, bu esa resurslarni maksimal darajada ishlatish imkonini beradi. Kamchiliklari: Sinxronizatsiya muammolari: Jarayonlar o‘rtasida to‘g‘ri sinxronizatsiya qilish zarur. Aks holda, ma'lumotlar notekis tarzda almashiladi yoki "race condition" muammolari yuzaga keladi. Murakkablik: IPC usullari, ayniqsa, murakkab tizimlarda, ko‘pincha sinxronizatsiya va resurslarni boshqarishning murakkabliklarini keltirib chiqaradi. Jarayonlarni sinxronlashtirish va o‘rtasidagi kommunikatsiya operatsion tizimda samarali va xavfsiz ishlashni ta'minlash uchun zarurdir. Sinxronizatsiya jarayonlarning bir-biriga ta'sir qilishini nazorat qiladi, komunikatsiya esa jarayonlarning o‘zaro ma'lumot almashishini tashkil qiladi. Semaforlar, mutexlar, monitorlar, xotira segmentlari va xabarlar yordamida jarayonlar o‘rtasida sinxronlashtirish va kommunikatsiya amalga oshiriladi. Bu mexanizmlar yordamida jarayonlarning samarali va to‘g‘ri ishlashini ta'minlash mumkin. 2.3-§. Jarayonlarni boshqarishda multitasking va multithreading. Multitasking va multithreading – bu kompyuter tizimlarida bir vaqtda bir nechta ishni bajarish uchun ishlatiladigan tushunchalar. Har ikkalasi ham jarayonlarni boshqarish va resurslarni samarali taqsimlashga yordam beradi, ammo ularning ishlash usullari va qo‘llanilishi farqlidir. Keling, har birining tushunchasini batafsil ko‘rib chiqaylik. Multitasking — bu kompyuterning bir nechta jarayonlarni (yoki vazifalarni) bir vaqtning o‘zida bajarish qobiliyatidir. Bu kompyuter tizimi bir vaqtning o‘zida 26 ko‘p jarayonlarni boshqarishi, ya'ni ular orasida protsessor vaqtini taqsimlashi va kerakli vaqtda bir jarayondan boshqasiga o‘tishi mumkin. Multitaskingning turlari: Preemptive Multitasking (Preemptiv multitasking): Bu usulda operatsion tizim jarayonlarni boshqarishda o‘zini mustaqil boshqaradi. Agar jarayonlar ko‘p resurslar talab qilsa, tizim bir jarayonni to‘xtatib, boshqasini ishga tushirishi mumkin. Bu jarayonlarning samarali va adolatli taqsimlanishini ta'minlaydi. Afzalliklari: Bir nechta jarayonlarni samarali boshqarish va tizimda resurslarni optimal tarzda taqsimlash imkonini beradi. Tizimning umumiy samaradorligi oshadi. Kamchiliklari: Jarayonlar o‘rtasida kontekstni almashtirish jarayonining ortiqcha xarajatlari bo‘lishi mumkin. Resurslarni noto‘g‘ri boshqarish, ayniqsa, faollik o‘rtasida uzilishlar bo‘lishi mumkin. Cooperative Multitasking (Kooperativ multitasking): Kooperativ multitaskingda har bir jarayonning o‘zini boshqarish huquqi bo‘ladi. Ya'ni, jarayon o‘zining ishlashini to‘xtatib, protsessorni boshqasiga beradi. Bu usulda tizim jarayonlarning boshqaruviga aralashmaydi. Afzalliklari: Jarayonlar o‘rtasida kontekstni almashtirishning kam xarajatlari. Kamchiliklari: Agar bir jarayon o‘zining ishlashini to‘xtatmasa, tizimning boshqa jarayonlari bajarilmay qolishi mumkin. Bu "starvation" yoki to‘xtash muammolariga olib kelishi mumkin. Multitaskingni misol tariqasida, bir foydalanuvchining bir nechta dasturlarni bir vaqtda ishga tushirganini ko‘rish mumkin. Masalan, foydalanuvchi bir vaqtda web brauzerini, matn tahrirlovchi dasturini va elektron pochta dasturini ishlatishi mumkin. Tizim barcha jarayonlarga protsessor vaqtini taqsimlab, ularga alohida resurslar ajratadi. Multithreading — bu bitta jarayon ichida bir nechta kichik vazifalarni (oqimlarni) paralel ravishda bajarish qobiliyatidir. Har bir oqim (thread) jarayonning kichik bir qismidir va o‘z resurslarini alohida taqsimlashi mumkin. Bitta jarayon bir nechta oqimga ega bo‘lishi mumkin, bu esa jarayonni tezroq va samaraliroq bajarishga imkon beradi. Multithreadingning asosiy xususiyatlari: 27 Oqim (Thread): Oqim (thread) – bu jarayonning ishlashning eng kichik birlikdir. Har bir jarayon kamida bir oqimga ega bo‘ladi. Jarayonning har bir oqimi o‘ziga xos resurslar va bajarilish vaqtiga ega bo‘lishi mumkin. Bitta jarayon ko‘plab oqimlarga ega bo‘lishi mumkin, bu esa tizimga parallel ishlash imkoniyatini beradi. Resurslarni bo‘lishish: Bitta jarayondagi bir nechta oqimlar bir xil xotira maydonlarini va resurslarni bo‘lishadi. Bu esa o‘zaro kommunikatsiya qilishni va ma'lumotlarni almashishni osonlashtiradi, ammo shuningdek, sinxronizatsiya va resurslar o‘rtasida konfliktlarga olib kelishi mumkin. Multithreading afzalliklari: Resurslardan samarali foydalanish: Bir nechta oqimlar bir jarayonda bo‘lganligi sababli, tizimda resurslarni samarali taqsimlash mumkin. Har bir oqim ma'lum bir qismni bajaradi, shu bilan tizimdagi barcha resurslar to‘liq ishlatiladi. Tezlik: Ko‘p oqimli tizimda bajariladigan vazifalar bir vaqtning o‘zida amalga oshiriladi, bu esa umumiy bajarilish tezligini oshiradi. Masalan, bir jarayon ichida foydalanuvchining interfeysi, tarmoq aloqasi va ma'lumotlar bazasiga kirish operatsiyalari bir vaqtda bajarilishi mumkin. Tizimning moslashuvchanligi: Bir nechta oqimlar yordamida jarayonlar parallel ishlashi mumkin, bu tizimning samaradorligini oshiradi va ba'zi holatlarda resurslar ortiqcha yuklanishining oldini oladi. Multithreadingning kamchiliklari: Sinxronizatsiya muammolari: Bir nechta oqimlar o‘zaro resurslarni bo‘lishsa, bu resurslarni boshqarish va sinxronlashtirish zarurati yuzaga keladi. Buning uchun mutexlar, semaforlar yoki boshqa sinxronizatsiya mexanizmlari qo‘llaniladi. Oqimlar o‘rtasidagi to‘qnashuvlar: Agar bir nechta oqimlar bir vaqtning o‘zida bir xil xotira joyiga kirishsa, bu "race condition" yoki boshqa to‘qnashuvlarga olib kelishi mumkin. Bu holatda tizim noto‘g‘ri yoki kutilmagan natijalar berishi mumkin. Bir onlayn o‘yin dasturini ko‘rib chiqaylik. Bu dasturda foydalanuvchi interfeysi, tarmoq orqali ma'lumotlar almashinuvi, va boshqa fon vazifalari (masalan, resurslarni yuklash) bir vaqtda bajarilishi kerak. Har bir vazifa alohida oqim sifatida amalga oshiriladi, bu esa o‘yin tizimining samarali ishlashini ta'minlaydi. Multitasking va multithreading operatsion tizimlar va dastur ishlab chiqishda samarali ishlarni bajarishning ikki xil usuli hisoblanadi. Multitaskingda jarayonlar o‘rtasida protsessor vaqti taqsimlanadi, multithreading esa bir jarayon ichida bir 28 nechta oqimlarni paralel ishlatish imkonini beradi. Har ikki usul ham samarali ishlashni ta'minlash uchun muayyan mexanizmlar va sinxronizatsiya talab qiladi. 29 III BOB. JARAYONLAR BOSHQARUVINING MUAMMOLARI VA ULARNING YECHISH YO’LLARI. 3.1-§. Deadlock (to’xtab qolish) muammosi. Deadlock (to‘xtab qolish) operatsion tizimlarda, ayniqsa, ko‘p vazifali va ko‘p jarayonli tizimlarda yuzaga keladigan, bir nechta jarayonlar o‘zaro kutish holatida qolib, har biri boshqa jarayonlarning bajarilishini kutayotgan holatni ifodalaydi. Deadlock holatida, jarayonlar hech qachon o‘z vazifalarini to‘liq bajarolmaydi va tizim butunlay bloklanadi. Bu holat tizimning samarali ishlashiga to‘sqinlik qiladi va uni hal qilish uchun qo‘shimcha mexanizmlar zarur bo‘ladi. Deadlockning Asosiy Shartlari (Four Coffman Shartlari): Deadlock yuzaga kelishi uchun, bir nechta shartlar bir vaqtning o‘zida bajarilishi kerak. Bu shartlar Coffman shartlari deb ataladi, chunki ularni 1971 yilda Edsger Dijkstra tomonidan taklif qilingan. Quyidagi to‘rt shartning bir vaqtda bajarilishi deadlock holatiga olib keladi: O‘zgarmas resursni egallash (Mutual Exclusion): Har bir resurs faqat bitta jarayon tomonidan ishlatilishi mumkin. Agar jarayon bir resursni ishlatgan bo‘lsa, boshqa jarayonlar uni kutishga majbur bo‘ladi. Jarayon tomonidan kutish (Hold and Wait): Jarayonlar o‘zlari hozirda ishlatayotgan resursni saqlab, yangi resurslarni olish uchun kutishadi. Boshqacha aytganda, jarayonlar avvalgi resurslarni bo‘lishmaydi va qo‘shimcha resurslar olish uchun kutishga o‘tadilar. Nusxa olish (No Preemption): Resurslar faqat jarayonlar tomonidan o‘z ixtiyoriga olinganidan so‘ng, boshqa jarayonlar tomonidan olib qo‘yilmaydi. Agar jarayon bir resursni egallagan bo‘lsa, uni faqat o‘z xohishiga ko‘ra bo‘shatadi. O‘zaro kutish (Circular Wait): Jarayonlar o‘zaro kutish zanjirini hosil qiladi, ya'ni jarayon A jarayon B dan resursni kutadi, jarayon B jarayon C dan resursni kutadi va nihoyat, jarayon Z esa jarayon A dan resursni kutadi. Bu holatda, jarayonlar o‘zaro "to‘xtab qolish" holatiga tushib qoladi. Deadlock Muammosi Bilan Bog‘liq Asosiy Masalalar Resurslarni egallash: Deadlockning eng asosiy sababi – jarayonlar o‘rtasida resurslar noto‘g‘ri taqsimlanadi. Bir jarayon resursni olish uchun kutsa, boshqa jarayon resursni olishga harakat qiladi, lekin bu jarayonlar o‘zaro bloklanadi va ishlashni davom ettira olmaydi. Sinxronizatsiya va boshqaruv: Deadlock holatining oldini olish uchun tizim jarayonlarni sinxronizatsiya qilish va boshqarish mexanizmlarini 30 to‘g‘ri ishlatishi kerak. Agar sinxronizatsiya qoidalari noto‘g‘ri belgilansa, deadlock yuzaga kelishi mumkin. Deadlockni Boshqarish Usullari: Deadlock muammosi tizimni butunlay bloklab qo‘yishi mumkin, shuning uchun uni boshqarish uchun bir nechta strategiyalar mavjud: Deadlockning oldini olish (Deadlock Prevention). Deadlockni oldini olish uchun tizimda quyidagi yondoshuvlar qo‘llaniladi: Mutual Exclusion (O‘zgarmas resursni egallash) shartini olib tashlash: Har bir resursni bir vaqtning o‘zida bir nechta jarayonlar ishlatishi mumkin bo‘lgan tarzda tashkil etish. Ammo bu barcha resurslar uchun mumkin emas, masalan, disk yoki printer kabi resurslar faqat bitta jarayon tomonidan ishlatilishi mumkin. Hold and Wait shartini olib tashlash: Jarayonlar resursni egallab olishdan avval barcha kerakli resurslarni to‘liq olishlari kerak. Bu jarayonning resurslarni kutmasdan ishlashini ta'minlaydi, lekin tizimning samaradorligini kamaytirishi mumkin. No Preemption (Nusxa olish) shartini olib tashlash: Agar jarayon bir resursni ishlatayotgan bo‘lsa, boshqa jarayonlarga bu resursni olib qo‘yish huquqi berilishi kerak. Buning uchun jarayonlar, agar ularning resurslari to‘g‘ri ishlatilmasdan kutayotgan bo‘lsa, o‘z resurslarini bo‘shatishlari kerak. Circular Wait shartini olib tashlash: Jarayonlar o‘rtasidagi kutish zanjirini yo‘q qilish uchun resurslarni taqsimlashda har bir jarayonni oldindan belgilangan tartibda resurslarga murojaat qilishga majbur qilish mumkin. Bu, jarayonlarning o‘zaro kutish holatiga tushib qolishiga yo‘l qo‘ymaydi. Deadlockni aniqlash (Deadlock Detection): Deadlockni aniqlash jarayonida tizimga vaqt-vaqti bilan jarayonlar va resurslarning holatini tekshirib borish talab etiladi. Agar tizimda deadlock holati yuzaga kelsa, bu aniqlanadi va muammo hal qilinadi. Resurslarni taqsimlash grafigi (Resource Allocation Graph): Bu grafik yordamida jarayonlar va resurslar o‘rtasidagi bog‘lanishlar aniqlanadi. Agar grafigda o‘zaro to‘qnashgan yoki sikl hosil bo‘lsa, demak, deadlock holati mavjud. Deadlockni tiklash (Deadlock Recovery): Agar deadlock yuzaga kelsa, uni tiklashning ba'zi usullari mavjud: Jarayonlarni to‘xtatish: Deadlock holatiga tushgan jarayonlar to‘xtatiladi va resurslar qayta taqsimlanadi. Bu usul tizimni qayta ishga tushirishni 31 talab qilishi mumkin, bu esa ba'zi ma'lumotlarning yo‘qolishiga olib keladi. Resurslarni qayta taqsimlash: Agar deadlock holati yuzaga kelsa, ba'zi jarayonlarning resurslarini olib qo‘yish va ularni boshqa jarayonlarga taqsimlash orqali tizimni qayta ishlashga olib kelish mumkin. Jarayonlarni bekor qilish: Deadlock holatiga tushgan jarayonlardan ba'zilarini bekor qilish (aniqroq, jarayonlarni to‘xtatish) orqali tizimni tiklash mumkin. Bu jarayonlar to‘xtatilganda, tizim boshqa jarayonlarning ishlashiga imkon beradi. Deadlockni oldini olish (Avoidance): Deadlockni oldini olish uchun tizimda har bir jarayonning resurslarga kirish huquqi va resurslar taqsimoti haqida oldindan ma'lumot bo‘lishi kerak. Bu jarayonlarni resurslarni ishlatishda "safe state" (xavfsiz holat) da bo‘lishini ta'minlashga yordam beradi. Masalan, Banker's Algorithm (Bankir algoritmi) yordamida resurslarning xavfsiz taqsimotini tekshirish mumkin, bu esa tizimda deadlock holatining yuzaga kelishiga yo‘l qo‘ymaydi. Deadlockni Misollar yordamida tushuntirish Masalan, quyidagi jarayonlar va resurslarni ko‘rib chiqaylik: Jarayon A: Printer va diskni talab qiladi. Jarayon B: Disk va printerni talab qiladi. Agar jarayon A printerni egallagan bo‘lsa va jarayon B diskni egallagan bo‘lsa, lekin ikkala jarayon ham bir-birining talab qilayotgan resursini kutayotgan bo‘lsa, ular deadlock holatiga tushadi va har biri o‘z ishini to‘xtatadi. Deadlock – bu kompyuter tizimlarida resurslar noto‘g‘ri taqsimlanishi sababli jarayonlarning o‘zaro kutish holatida qolishi va tizimning to‘xtab qolishidir. Deadlockni aniqlash, oldini olish, tiklash va boshqarish tizimning samarali ishlashini ta'minlash uchun muhim hisoblanadi. Deadlock holatiga tushmaslik uchun tizimlar resurslarni boshqarishda qat'iy qoidalar va algoritmlardan foydalanishlari kerak. 32 3.2-§. Jarayonlarning resurslarni boshqarishdagi xatoliklari. Kompyuter tizimlarida jarayonlar resurslarni samarali va to‘g‘ri boshqarishi kerak. Resurslar, masalan, xotira, protsessor vaqt, fayllar, tarmoq aloqalari va boshqa tizim resurslari, jarayonlar tomonidan talab qilinadi va ishlatiladi. Agar resurslarni boshqarishda xatoliklar yuzaga kelsa, tizim samaradorligini pasaytirishi, deadlock (to‘xtab qolish) yoki boshqa muammolarni keltirib chiqarishi mumkin. Quyida jarayonlarning resurslarni boshqarishdagi ba'zi asosiy xatoliklari haqida to‘liq tushuntirish beramiz. Resurslarni noto‘g‘ri taqsimlash: Jarayonlar resurslarni samarali boshqarish uchun ularni to‘g‘ri taqsimlashlari kerak. Agar resurslar noto‘g‘ri taqsimlansa, bu bir nechta muammolarga olib kelishi mumkin: Over-allocation (Resurslarni ortiqcha taqsimlash): Agar jarayonlar ko‘p resurslarga ega bo‘lsa va ularni faqat qisqa vaqt uchun ishlatishsa, bu boshqa jarayonlar uchun yetarli resurslar mavjud bo‘lmasligiga olib keladi. Bu tizimning samaradorligini kamaytiradi va resurslar isrof bo‘lishiga olib kelishi mumkin. Under-allocation (Resurslarni kam taqsimlash): Agar jarayonlar resurslarga ehtiyoj sezayotgan bo‘lsa, ammo tizimda resurslar taqsimlanmayotgan bo‘lsa, jarayonlar kutish holatiga tushadi, bu esa resurslardan samarali foydalanishni kamaytiradi. Resurslarga bo‘lgan mutlaq kirish. Ba'zi holatlarda jarayonlar resurslarga mutlaq kirish huquqiga ega bo‘lishi kerak. Agar jarayonlar o‘zlariga kerakli resurslarni to‘g‘ri olishmaydigan bo‘lsa, bu xatoliklarga olib kelishi mumkin: Resurslarni bo‘lishmaslik: Resurslar faqat bitta jarayon tomonidan ishlatilganda, boshqa jarayonlar kutishga majbur bo‘ladi. Bu holatda, bir jarayon o‘zining resurslarini bo‘lishmasligi kerak, chunki boshqa jarayonlar uchun ham ularni ishlatish imkoniyati kerak bo‘ladi. Agar resurs bo‘lishmaydigan bo‘lsa, bu deadlock (to‘xtab qolish) holatiga olib kelishi mumkin. Bo‘lishish va kutish (Hold and Wait) xatoliklari: Agar jarayonlar resursni olish uchun kutayotgan bo‘lsa, lekin boshqa resurslarni ham talab qilsa, bu resurslarni bo‘lishmaslikka olib kelishi mumkin. Bu jarayonlarni bloklaydi va tizimda noxush holatlar yaratadi. Sinxronizatsiya xatoliklari. Resurslar bir necha jarayonlar tomonidan ishlatilganda, sinxronizatsiya muammolari yuzaga kelishi mumkin. Agar jarayonlar orasida to‘g‘ri sinxronizatsiya o‘rnatilmasa, quyidagi holatlar yuzaga kelishi mumkin: 33 Race Condition (Musobaqa holati): Agar bir nechta jarayonlar bir xil resursni bir vaqtning o‘zida o‘zgartirishga harakat qilsa, bu race condition holatiga olib kelishi mumkin. Bu holatda, natijalar tasodifiy yoki noto‘g‘ri bo‘lishi mumkin, chunki jarayonlar orasida ma'lumotlar to‘g‘ri sinxronizatsiya qilinmagan. Deadlock (To‘xtab qolish): Resurslarni sinxronizatsiya qilmaslik deadlock muammosini keltirib chiqarishi mumkin. Agar bir jarayon resursni kutayotgan bo‘lsa, lekin shu jarayonning ishlashini to‘xtatadigan boshqa bir jarayon kutayotgan bo‘lsa, tizim butunlay bloklanadi. Livelock (Jonli to‘xtab qolish): Livelock — bu deadlockning bir shakli bo‘lib, jarayonlar o‘zaro kutish holatiga tushmay, lekin bir-birini doimiy ravishda yangilab turadigan holatdir. Masalan, jarayonlar resursni olishga harakat qiladi, lekin har doim bir-biriga yo‘l berishadi va ishlashni davom ettira olmaydi. Resurslarni noto‘g‘ri ozod qilish. Jarayonlar resurslarni ishlatib bo‘lgach, ularni ozod qilishlari kerak. Agar jarayonlar resurslarni ozod qilmasa, bu resurslarni boshqa jarayonlar ishlata olmaydi va tizimda resursning xilma-xilligi (resource contention) muammosi yuzaga keladi. Xotira oqimlari: Agar jarayon xotira yoki boshqa resurslarni ishlatib bo‘lgach, ularni ozod qilmasa, tizimda xotira oqimi (memory leaks) yuzaga kelishi mumkin. Bu holat dastur va tizimning samarali ishlashiga to‘sqinlik qiladi, chunki kerakli resurslar mavjud bo‘lmaydi. Resursni kech ozod qilish: Agar jarayon resursni ishlatib bo‘lgach uni kech ozod qilsa, boshqa jarayonlar kutish holatiga tushadi va bu tizimning javob berish vaqtini oshiradi. Resurslarni doimiy ravishda to‘g‘ri boshqarmaslik. Resurslarni boshqarishda qo‘llaniladigan yondoshuvlar tizimning ehtiyojlariga mos kelmasligi yoki noto‘g‘ri o‘zgartirilishi mumkin. Masalan: Statik resurs taqsimoti: Tizimda statik resurs taqsimoti qo‘llanilganda, tizim resurslarni oldindan belgilangan usulda taqsimlaydi. Agar resurslar dinamik ravishda o‘zgarishi kerak bo‘lsa, bu xatoliklar yuzaga kelishi mumkin. Taqsimlash algoritmlarining noto‘g‘ri ishlashi: Agar jarayonlar resurslar uchun taqsimlash algoritmalarini to‘g‘ri ishlatmasa, bu tizimning samaradorligini kamaytiradi. Misol uchun, First-Come, First-Served (FCFS) yoki Round-Robin algoritmlarining noto‘g‘ri ishlatilishi tizimni bloklashi yoki resurslarning samarali taqsimlanmasligiga olib kelishi mumkin. 34 Resurslarning noto‘g‘ri rezervatsiyasi va tarqatilishi. Jarayonlar bir resursni ishlatishdan oldin uni rezervatsiya qilishlari mumkin. Agar tizimda resurslar noto‘g‘ri rezervatsiya qilinsa, bu boshqa jarayonlar uchun resursni olishni imkonsiz qiladi. Resurslarning keraksiz rezervatsiyasi: Agar jarayonlar faqat ehtiyojlari bo‘lmagan resurslarni rezervatsiya qilishsa, boshqa jarayonlar kutishga majbur bo‘ladi. Bu resurslarning isrof bo‘lishiga olib keladi. Resurslarni noto‘g‘ri tarqatish: Resurslar noto‘g‘ri tarqatilganida, ba'zi jarayonlar yetarli resurslarni olishmaydi, bu esa tizimning samaradorligini kamaytiradi va vaqtni isrof qiladi. Jarayonlarning resurslarni boshqarishdagi xatoliklari tizimning samarali ishlashiga to‘sqinlik qiladi. Resurslar noto‘g‘ri taqsimlansa, sinxronizatsiya muammolari yuzaga kelsa yoki resurslar noto‘g‘ri ozod qilinsa, bu tizimda deadlock, livelock, xotira oqimi va boshqa muammolarni keltirib chiqarishi mumkin. Shu sababli, jarayonlarning resurslarni to‘g‘ri boshqarishlari, sinxronizatsiyani ta'minlashlari va resurslarni ozod qilishlari juda muhimdir. Tizimdagi resurslarni boshqarishning to‘g‘ri yondoshuvlarini qo‘llash tizim samaradorligini va ishonchliligini oshiradi. 35 3.3-§. Jarayonlar boshqaruvi va tizim samaradorligini oshirish. Jarayonlar boshqaruvi — bu operatsion tizimlarning eng muhim funksiyalaridan biri bo‘lib, tizimning samarali va tezkor ishlashini ta'minlashda katta rol o‘ynaydi. Tizim samaradorligi nafaqat jarayonlarning bajarilishi, balki resurslardan foydalanish, multitasking va tizim resurslarining boshqarilishi bilan bog‘liq. Jarayonlar boshqaruvi tizimning umumiy ish faoliyatini yaxshilashga yordam beradi, shuningdek, resurslardan samarali foydalanish va tizimning javob berish tezligini oshiradi. Quyida jarayonlar boshqaruvi orqali tizim samaradorligini oshirishning asosiy usullari ko‘rib chiqiladi. Jarayonlar Rejalashtirish (Scheduling). Jarayonlar rejalashtirish — bu operatsion tizimning muhim jihatlaridan biri bo‘lib, tizim resurslarini samarali taqsimlash va jarayonlarni optimal ravishda bajarish uchun muhim ahamiyatga ega. Yaxshi ishlab chiqilgan rejalashtirish algoritmi tizim samaradorligini oshirishi mumkin. Rejalashtirish Algoritmlari: First-Come, First-Served (FCFS): Bu algoritmda jarayonlar kirish tartibiga qarab bajariladi. Jarayonning bajarilish vaqti o‘rganilmaydi, shuning uchun tizimning samaradorligi yuqori bo‘lmasligi mumkin, ayniqsa, uzoq davom etadigan jarayonlar birinchi bo‘lsa. Shortest Job First (SJF): Ushbu algoritmda eng qisqa vaqt ichida bajariladigan jarayonlar birinchi bo‘lib ishlaydi. Bu tizimni optimallashtirishga yordam beradi va resurslardan samarali foydalanishni ta'minlaydi. Round-Robin (RR): Bu algoritmda jarayonlar o‘rtasida teng vaqt bo‘linadi. Har bir jarayon berilgan vaqt davomida bajariladi, so‘ngra navbatdagi jarayonga o‘tadi. Bu multitasking tizimlarida samarali ishlaydi va jarayonlarning kutish vaqtini minimallashtiradi. Priority Scheduling: Har bir jarayon uchun ustuvorlik (priority) belgilanadi, va eng yuqori ustuvorlikka ega bo‘lgan jarayon birinchi bajariladi. Bu yondoshuv tizimning tezkorlik va samaradorlikni oshirishi mumkin, ayniqsa, eng muhim jarayonlar oldin bajarilganda. Multilevel Queue Scheduling: Bu yondoshuvda jarayonlar turli qatlamlarga ajratiladi, har bir qatlamda turli rejalashtirish algoritmlari ishlatiladi. Masalan, interaktiv jarayonlar uchun yuqori ustuvorlik beriladi, og‘ir hisoblash jarayonlari uchun esa boshqa algoritm qo‘llaniladi. Rejalashtirishning Samaradorligi: Qisqa kutish vaqti: Jarayonlar tezroq bajarilishi kerak. Javob berish tezligi: Jarayonlarning tezkor bajarilishini ta'minlash. 36 Resurslardan optimal foydalanish: Resurslar samarali va adolatli taqsimlanishi kerak. Jarayonlar Sinxronizatsiyasi va Resurslarni Boshqarish: Jarayonlarning samarali ishlashini ta'minlash uchun resurslarni sinxronizatsiya qilish zarur. Bu, ayniqsa, bir nechta jarayonlar bir vaqtda bir xil resurslardan foydalanayotgan holatlarda muhimdir. Sinxronizatsiya Mexanizmlari: Semaforlar (Semaphores): Semaforlar — bu sinxronizatsiya vositalari bo‘lib, jarayonlarning o‘zaro resurslarga kirish tartibini boshqarish uchun ishlatiladi. Ular ikki turda bo‘ladi: binar semaforlar (yoki mutexlar) va sanash semaforlari. Bu vosita yordamida jarayonlar o‘zaro raqobatlashayotgan resurslarni to‘g‘ri boshqarishlari mumkin. Mutex (Mutual Exclusion): Mutex yordamida faqat bitta jarayon resursdan foydalana olishiga imkon beriladi. Bu resursni boshqa jarayonlar tomonidan egallashdan saqlaydi va jarayonlar orasidagi sinxronizatsiyani ta'minlaydi. Condition Variables: Jarayonlar o‘rtasidagi kutish va signal berish jarayonlarini boshqarish uchun ishlatiladi. Masalan, agar bir jarayon biror resursni kutayotgan bo‘lsa, boshqa jarayon uni bo‘shatganda signal yuboradi va kutayotgan jarayon davom etadi. Barrier Synchronization: Bu jarayonlarning bir vaqtning o‘zida biror ma'lum holatga kelishini ta'minlaydi. Bir necha jarayonlar biror nuqtada sinxron bo‘lishi kerak bo‘lsa, ular "barrier"ga tushgach, barcha jarayonlar o‘zgarishlar yoki hisoblashlarni bir vaqtda boshlashadi. Sinxronizatsiyaning Samaradorligi: Jarayonlarning to‘g‘ri sinxronizatsiyasi: Resurslar noto‘g‘ri sinxronizatsiya qilinishi, deadlock yoki race condition holatiga olib kelishi mumkin. Resurslarni samarali taqsimlash: Resurslar o‘rtasidagi kutishlarni minimal darajaga tushiradi, tizim samaradorligini oshiradi. Multitasking va Multithreading: Multitasking va multithreading jarayonlarning samarali ishlashini ta'minlashga yordam beradi. Bu jarayonlar va iplarning bir vaqtning o‘zida ishlashini ta'minlab, tizim resurslarini maksimal darajada ishlatishga yordam beradi. Multitasking (Ko‘p vazifali ishlash): Bir nechta jarayonlar bir vaqtning o‘zida bajarilishi uchun tizimda multitaskingni qo‘llash zarur. Bu jarayonlarning parallel bajarilishi 37 tizimning ishlash samaradorligini oshiradi, chunki resurslar ko‘proq foydalanuvchi jarayonlariga ajratilishi mumkin. Multithreading (Ko‘p ipli ishlash): Jarayonlar bir nechta ip (thread)larga bo‘linadi, bu esa resurslardan yanada samarali foydalanishga yordam beradi. Har bir ip alohida vazifani bajarishi mumkin, shu bilan birga jarayonning umumiy bajarilishi tezlashadi. Multitasking va Multithreadingning Samaradorligi: Resurslardan maksimal foydalanish: Protsessor va xotira kabi resurslar bir vaqtning o‘zida ko‘proq vazifalarni bajarish uchun ishlatiladi. Tezkor javob berish vaqti: Ko‘p iplar bilan ishlash tizimning samaradorligini oshiradi va ishlashni tezlashtiradi. Deadlockni Oldini Olish va Tiklash: Deadlock (to‘xtab qolish) tizimda jarayonlar o‘rtasidagi resurslar uchun o‘zaro kutish holatida tugallanmaslikni anglatadi. Deadlock tizim samaradorligini jiddiy ravishda pasaytiradi. Deadlockni oldini olish yoki tuzatish tizim samaradorligini oshirishda muhim rol o‘ynaydi. Deadlockni Oldini Olish Yondoshuvlar: Resurslar taqsimotini boshqarish: Tizimda resurslarni bo‘lish, mutlaq kirish va kutishni boshqarish orqali deadlock holatiga tushmaslikka yordam beradi. Siklning oldini olish: Jarayonlar o‘rtasidagi sikllarni aniqlash va ularga yo‘l qo‘ymaslik orqali deadlockni oldini olish mumkin. Deadlockni Tiklash:Agar deadlock yuzaga kelsa, jarayonlardan ba'zilarini to‘xtatish yoki qayta tiklash orqali tizimni tiklash mumkin. Resurslarni Monitoring qilish va Optimizatsiya: Tizimning samaradorligini oshirish uchun resurslarni monitoring qilish va optimizatsiya qilish juda muhim. Resurslar ishlatilishiga doimiy ravishda kuzatuv o‘rnatish, tizimning qaysi qismlarida noxush holatlar yuzaga kelishini aniqlash va optimallashtirish orqali tizim samaradorligini yaxshilash mumkin. Resurslarni monitoring qilish: Jarayonlar va resurslarning ishlashini kuzatib borish, jarayonlarni optimallashtirish va tizim resurslarining isrof bo‘lishini oldini olishga yordam beradi. Resurslarni qayta taqsimlash: Tizimda resurslar bo‘shab qolganidan so‘ng, ularni boshqa jarayonlarga taqsimlash orqali tizim samaradorligini oshirish mumkin. Jarayonlar boshqaruvi tizim samaradorligini oshirishda juda muhim rol o‘ynaydi. Yaxshi rejalashtirish, sinxronizatsiya, multitasking, multithreading va deadlockni boshqarish tizimning samaradorligini oshiradi va resurslardan samarali foydalanishga yordam beradi. Tizimning ishlashini doimiy ravishda monitoring 38 qilib, uning samaradorligini yaxshilash uchun optimizatsiya qilish kerak. Bu usullar operatsion tizimning ishlash tezligini oshirish va resurslardan maksimal darajada foydalanishni ta'minlaydi. 39 XULOSA. Operatsion tizimlarning jarayonlari boshqaruvi — bu har bir zamonaviy kompyuter tizimining asosi bo‘lib, tizimning samarali va optimal ishlashini ta'minlashda muhim rol o‘ynaydi. Jarayonlar boshqaruvi tizimning barcha asosiy resurslari, jumladan, protsessor va xotira, bilan ishlashni samarali tashkil etishga yordam beradi. Tizimning ishlash samaradorligi, vaqtni tejash va resurslarni to‘g‘ri taqsimlash kabi jihatlar jarayonlar boshqaruvi orqali boshqariladi. Jarayonlar rejalashtirish va jadvalga qo‘yish, resurslarni sinxronizatsiya qilish, multitasking va multithreading, deadlock va livelock kabi muammolarni hal qilish, tizim samaradorligini oshirish uchun zarur bo‘lgan asosiy mexanizmlardir. Jarayonlar o‘rtasida to‘g‘ri sinxronizatsiya va resurslarni samarali boshqarish jarayonlarning ishlash tezligini oshiradi va tizimni samarali qiladi. Deadlockni oldini olish va tiklash, jarayonlar orasidagi resurslar taqsimoti va yirik tizimlarda parallel ishlash imkoniyatlarini yaratish orqali tizim resurslaridan maksimal darajada foydalanish mumkin. Shuningdek, operatsion tizimlarda jarayonlar boshqaruvi yordamida tizimning ishlash samaradorligini oshirish uchun resurslarni monitoring qilish va optimizatsiya qilish juda muhim. Jarayonlar o‘rtasidagi kutish vaqti, javob berish tezligi va umumiy resurslardan foydalanish ko‘rsatkichlarini yaxshilash tizim samaradorligini sezilarli darajada oshiradi. Bundan tashqari, jarayonlar boshqaruvi orqali tizimning barqarorligi, ishonchliligi va tezkor ishlashi ta'minlanadi, bu esa foydalanuvchi tajribasini yaxshilashga yordam beradi. Shunday qilib, operatsion tizimlarning jarayonlari boshqaruvi — nafaqat tizimning ishlashini yaxshilash, balki uni tez, samarali va ishonchli qilish uchun muhim omildir. 40 FOYDALANILGAN ADABIYOTLAR RO’YXATI. 1. Kuziev, A. (2005). Kompyuter tizimlari va operatsion tizimlar. Tashkent: Toshkent Davlat Texnika Universiteti. 2. Sultonov, U. (2010). Operatsion tizimlar va ularning arxitekturasi. Tashkent: Fan va Texnologiya. 3. Xolmatov, A. (2017). Kompyuter tizimlari va ularning boshqaruvi. Tashkent: O'zbekiston Respublikasi Oliy va o'rta maxsus ta'lim vazirligi. 4. G'ulomov, X., & Boboqulov, M. (2008). Kompyuter tizimlari va tarmoq arxitekturasi. Toshkent: O'zbekiston Milliy Universiteti. 5. Saidov, T. (2015). Kompyuter tizimlari va operatsion tizimlar nazariyasi. Toshkent: "Fan va ta'lim". 6. Rizayev, A. (2013). Kompyuter arxitekturasi va operatsion tizimlar. Toshkent: O'zbekiston Yozuvchilar Uyushmasi. 7. Akramov, B., & Tursunov, K. (2011). Kompyuter tizimlari va ularning boshqaruvi: nazariya va amaliyot. Toshkent: O'zbekiston Respublikasi Oliy va o'rta maxsus ta'lim vazirligi. 8. Tanenbaum, A. S. (2014). Operating Systems: Design and Implementation. 3rd ed. Pearson Education. 9. Stallings, W. (2018). Operating Systems: Internals and Design Principles. 9th ed. Pearson Education. 10. Silberschatz, A., Galvin, P. B., & Gagne, G. (2014). Operating System Concepts. 9th ed. Wiley. 11. Dhamdhere, D. M. (2012). Operating Systems: A Concept-Based Approach. 3rd ed. Tata McGraw-Hill. 12. Bovet, D. P., & Cesati, M. (2005). Understanding the Linux Kernel. 3rd ed. O'Reilly Media. 41 Kurs ishini baholash mezoni Maksimal baho Saralash baho 5 3 Yakuniy reyting ball Reyting natijasi 90-100 5 –“A’lo” 70-89 4 – “Yaxshi” 60-69 3 – “Qoniqarli” 60 dan past 2– “Qoniqarsiz” Kurs ishi himoyasi yuqori saviyada Nizom talablariga toʻla rioya qilingan holda xolis va adolatli oʻtkazilishi hamda baholanishi lozim. Kurs ishini baholash tartibi № 1 2 3 4 5 6 Kurs ishi boʻyicha ish turlari Kurs ishini hajmi va talab boʻyicha rasmiylashtirilganligi: - talabga javob beradi (7-8); - talabga qisman javob beradi (6-7); - talabdan chetga chiqish holatlari mavjud (5-6); - talabga javob bermaydi (0-4); Mavzuning dolzarbligining asoslanganligi: - yetarli darajada asoslanganligi (7-8); - yetarli darajada asoslanmagan (6-7); - noaniq (5-6); -asoslanmagan (0-4); Maqsad vazifalarining aniq ifodalanganligi: - aniq (7-8); - toʻliq aniqlanmagan (6-7); - aniq emas (5-6); - ifodalanmagan (0-4) Kurs ishining himoya qismida ijtimoiy-iqtisodiy (ta’lim) sohasida qoʻllashga tavsiya berilganligi: - bevosita qoʻllashga tavsiya bor (7-8); - qisman qoʻllashga tavsiya qilingan (6-7); - tavsiya ishonchli emas (5-6); - tavsiya yoʻq (0-4); Olingan natijalarni yangiligi va ishonchlilik darajasi: - natija yangi (7-8); - ilgari olingan (6-7); - toʻla ishonchli emas (5-6); - eskirgan, ishonchli emas (0-4); Talabaning mavzu boʻyicha olingan natijalarini tanqidiy baholanganligi darajasi: - aniq (7-8); - toʻliq aniq emas (6-7); - juda sayoz (5); - tanqidiy baholanmagan (0-4); 42 Ball № 7 8 9 10 11 Kurs ishi boʻyicha ish turlari Adabiyotlardan foydalanganlik darajasi: - qonunlar, qarorlar, ilmiy-amaliy jurnallar, monografiya, yetakchi olimlar asarlaridan toʻla foydalanilgan (7-8); - darslik, ma’ruza matnlari, oʻquv-qoʻllanma va ma’lumotlardangina foydalanganligi (6-7); - yetarli foydalanilmagan (5); - foydalanilmagan (0-4); Talabaning ma’ruzasiga baho: - a’lo (14-15); - yaxshi (11-13); - qoniqarli (9-10); -qoniqarsiz (0-8) ; Talabaga berilgan savollarga javobi: - toʻliq (14-15); - yaxshi (11-13); - qoniqarli (9-10); -qoniqarsiz (0-8); Adabiyotlar tanqidiy tahlili darajasi: - toʻla darajada (7) ; - qisman darajada (5-6); - noaniq (4-5); - taxlil yoʻq (0-3); Internet manbalaridan foydalanganlik darajasi: - yetarli, natija yangi (7); - qisman, ilgari olingan (5-6); - toʻla ishonchli emas (4-5); - foydalanilmagan (0-3); Kurs ishiga qoʻyilgan yakuniy ball: 43 Ball Mirzo Ulug‘bek nomidagi O‘zbekiston milliy universiteti Jizzax filiali Kompyuter ilimlari va dasturlash texnologiyalari yoʻnalishi 512-22 guruh talabasi Eshimov Rustam Ikrom o‘g‘lining Operatsion tizimlarning jarayonlari boshqaruvi TAQRIZ Mirzo Ulug‘bek nomidagi O‘zbekiston Milliy universiteti Jizzax filiali “Аmaliy matematika” fakulteti 472-22- guruh talabasi Yunusova Mavluda Anvar qizining Operatsion tizimlarning jarayonlari boshqaruvi mavzusidagi kurs ishida 3 bob, 9 paragrafdan iborat bo‘lib, unda quyidagilar keltirilgan: ________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ _____________________________________ Kamchiliklar: ________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ _________________________________________________________________________ 512-22 - guruh talabasi Eshimov Rustam Ikrom o‘g‘lining kurs ishini himoyaga tavsiya etaman. Kompyuter ilmlari va dasturlashtirish kafedrasi _________________________________________________________ (lavozimi) (imzo) (Familiyasi, ismi) 44
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )