O’zbekiston Respublikasi Axborot Texnologiyalari
va Kommunikatsiyalarini Rivojlantirish Vazirligi Muhammad al-Xorazmiy nomidagi
Toshkent Axborot Texnologiyalari Universiteti
Mustaqil ish Mavzu: Multitasking va ko`p oqimli tizimlar.
Guruh:017-18.
Bajardi: Alimjanova Ziyoda.
Toshkent 2021
Reja. Kirish:
Taxminiy algoritmlar. Vertex qoplamasi bilan bog‘liq masala.
Asosiy qisim:
Taxminiy algoritmlar.
Vertex qoplamasi bilan bog‘liq masala.
Vertax qoplamasiga misol.
4.Xulosa.
5. Foydalanilgan adabiyotlar.
Multitasking ( inglizcha multitasking , / mʌltiˈtɑːskɪŋ /) - bu bir nechta vazifalarni parallel (yoki psevdo- parallel ) ishlov berish qobiliyatini ta'minlash uchun operatsion tizim yoki ish vaqti muhitining xususiyati . Haqiqiy operatsion tizimning ko'p vazifali ishlashi faqat taqsimlangan hisoblash tizimlarida mumkin .
Multitaskingning 2 turi mavjud [1] :
Multitasking jarayoni (jarayonlar asosida - bir vaqtning o'zida dasturlarni bajarish). Bu erda dastur - bu operatsion tizim rejalashtiruvchisi boshqarishi mumkin bo'lgan boshqariladigan kodlarning eng kichik birligi. Ko'pgina foydalanuvchilarga yaxshi ma'lum (matn muharririda ishlash va musiqa tinglash).
Ipni ko'p vazifali ( ipga asoslangan). Boshqariladigan kodning eng kichik birligi bu oqim (bitta dastur bir vaqtning o'zida 2 yoki undan ortiq vazifani bajarishi mumkin).
Multithreading - bu ko'p vazifalarni bajarishning ixtisoslashgan shakli
Ko'p vazifali muhitning xususiyatlari
Ibtidoiy ko'p vazifali muhitlar toza "resurslarni taqsimlashni" ta'minlaydi, bu erda har bir vazifaga ma'lum bir xotira bo'lagi beriladi va vazifa aniq belgilangan vaqt oralig'ida chaqiriladi.
Keyinchalik rivojlangan ko'p vazifali tizimlar ustuvorligi va tizim strategiyasiga qarab, vazifa xotiradan boshlanganda yoki xotirani tark etganda resurslarni dinamik ravishda taqsimlaydi. Ushbu ko'p vazifali muhit quyidagi xususiyatlarga ega:
Har bir vazifaning o'ziga xos ustuvorligi bor, unga muvofiq u protsessor vaqti va xotirasini oladi
Tizim vazifalar navbatini tizimning ustuvor yo'nalishlari va strategiyasiga qarab barcha vazifalar olishini tashkil qiladi
Tizim uzilishlarni qayta ishlashni tashkil qiladi , unga ko'ra vazifalarni faollashtirish, o'chirish va o'chirish mumkin
Belgilangan vaqt bo'limi tugagandan so'ng, yadro vaqtincha vazifani ishlaydigan holatdan tayyor holatga o'tkazadi va boshqa vazifalarga resurslar beradi. Agar xotira etarli bo'lmasa, bajarilmaydigan vazifalar sahifalari diskka ( almashtirish ) oldindan belgilanishi mumkin , so'ngra tizim ma'lum vaqtdan so'ng xotirada tiklanadi
Tizim vazifaning manzil maydonini boshqa vazifalarning ruxsatsiz aralashuvidan himoya qiladi
Tizim o'z yadrosining manzil maydonini ruxsatsiz vazifalar aralashuvidan himoya qiladi
Tizim avariyalarni aniqlaydi va individual vazifalarni muzlatib qo'yadi va ularni to'xtatadi
Tizim resurslar va qurilmalarga kirish mojarosini hal qiladi, yopiq manbalarni kutib o'tirishga to'sqinlik qilmasdan
Tizim har bir ishni ertami-kechmi faollashtirilishini kafolatlaydi
Tizim real vaqt rejimida so'rovlarni qayta ishlaydi
Tizim jarayonlar orasidagi aloqani ta'minlaydi
Ko'p vazifali muhitni amalga oshirishdagi qiyinchiliklar [ tahrirlash | kodni tahrirlash ]
Mutlaqo tabiiy va bir amalga oshirishda asosiy qiyinchilik xotira himoya ifodalangan uning ishonchliligi, xatolarni va tashish bo'lgan uzilishlar , oldini olish muzlatish va qulflashga .
Ishonchli bo'lishdan tashqari, ko'p vazifali muhit ham samarali bo'lishi kerak. Ta'minlash uchun resurslarning narxi quyidagicha bo'lmasligi kerak: jarayonlarga aralashmaslik, ularning ishini sekinlashtirish, xotirani keskin cheklash.
Ko'p vazifali operatsion tizimlar tarixi [ tahrirlash | kodni tahrirlash ]
Dastlab, ko'p vazifali operatsion tizimlarni amalga oshirish jiddiy texnik qiyinchiliklarni keltirib chiqardi, bu esa ko'p vazifali tizimlarning kiritilishini kechiktirdi va foydalanuvchilar amalga oshirilgandan keyin uzoq vaqt davomida bitta vazifani bajarishni afzal ko'rishdi.
Keyinchalik, bir nechta muvaffaqiyatli echimlar paydo bo'lgandan so'ng, ko'p vazifali muhit yaxshilana boshladi va endi hamma joyda foydalanilmoqda.
Birinchi marta operatsion tizimning ko'p vazifali vazifasi Multics operatsion tizimini ishlab chiqish paytida amalga oshirildi ( 1964 ). Birinchi ko'p vazifali tizimlardan biri OS / 360 (1966 [2] ) bo'lib, IBM kompyuterlari va ularning sovet hamkasblari ES EVM uchun ishlatilgan . Tizimning rivojlanishi juda kechiktirildi va dastlab IBM OS / 360 to'liq ishga tushishidan oldin mijozlarni qondirish uchun bitta vazifali DOS- ni surib qo'ydi . Tizim past ishonchliligi va operatsion qiyinchiliklari uchun tanqid qilindi.
Yilda 1969, bir UNIX tizimi Multics asosida ishlab chiqilgan , ko'plik muammosiga juda to'g'ri algoritmik eritmasi bilan. Hozirda UNIX asosida o'nlab operatsion tizimlar yaratilgan.
PDP-11 kompyuterlari va ularning sovet hamkasblari SM-4 RSX-11 ko'p vazifali tizimidan (Sovet hamkasbi RTOS SM kompyuteri bo'lgan ) va TSX-PLUS vaqtni taqsimlash tizimidan foydalangan, bu cheklangan ko'p vazifalarni bajarish qobiliyati va ko'p foydalanuvchi vaqtini ta'minlagan. har bir foydalanuvchi uchun bitta vazifani taqlid qilish, almashish rejimi. RT-11 (Sovet hamkasbi - RAFOS ). So'nggi echim to'laqonli ko'p vazifali tizimning past samaradorligi va ishonchliligi tufayli juda mashhur edi.
Dastlab RSA-11ni ishlab chiqish sifatida VAX kompyuterlari (sovet hamkasbi - CM-1700 ) uchun ishlab chiqilgan VMS operatsion tizimi bo'lib chiqdi .
Dunyodagi birinchi multimedia shaxsiy kompyuter Amiga 1000 ( 1984 ) dastlab AmigaOS operatsion tizimida real vaqtda real vaqt rejimida ko'p vazifalarni bajarish uchun to'liq apparat ta'minoti bilan ishlab chiqilgan . Bunday holda, apparat va dasturiy ta'minotni ishlab chiqish parallel ravishda amalga oshirildi, bu ko'p vazifali rejalashtirishni kvantlash nuqtai nazaridan (kontekstni almashtirish uchun soniyaning 1/50 qismi) AmigaOS shaxsiy kompyuterlarda uzoq vaqt .
Ko'p vazifalar Microsoft kompaniyasi tomonidan operatsion tizimlarda, Windows-da ham ta'minlanadi . VMS tajribasidan foydalanish tizimlarni sezilarli darajada yuqori ishlashi va ishonchliligini ta'minladi. Ko'p vazifali kontekstni almashtirish (kvantizatsiya) nuqtai nazaridan faqat ushbu operatsion tizimlarni AmigaOS va UNIX bilan taqqoslash mumkin (shuningdek , Linux yadrosi kabi uning avlodlari ).
Qizig'i shundaki, ko'p vazifalarni bajarish nafaqat ish muhitida, balki til muhitida ham amalga oshirilishi mumkin. Masalan, Modula-2 va Ada dasturlash tili spetsifikatsiyalari har qanday operatsion tizimdan tashqarida ko'p vazifali yordamni talab qiladi. Natijada 1990-yillarning birinchi yarmida ommalashgan JPI / Clarion - dan TopSpeed dasturlash tili Modula-2 ni amalga oshirish sizga har xil turdagi ko'p vazifalarni tashkil etishga imkon beradi (imtiyozli va kooperativ - pastga qarang.) Bitta dasturning oqimi uchun masalan, MS-DOS kabi bir vazifali operatsion tizim . Bu dastur moduliga ixcham vazifalar rejalashtiruvchisini kiritish orqali amalga oshirildio'z ichiga taymerni to'xtatuvchi bilan ishlov beruvchini o'z ichiga oladi [3] . Ushbu xususiyatga ega dasturlash tillari ba'zan real vaqt tillari deb ataladi [4]