Reja: 1. Parallel jarayonlar 2. Konveyerli qayta ishlash. 3. Ma’lumotlarni almashish va qayta ishlash usullari.
Bajarilishi vaqt bo'yicha hech bo'lmaganda qisman bir-biriga mos keladigan jarayonlar parallel jarayonlar deb ataladi.
Yagona protsessorli tizimda psevdoparallellik deb ataladigan narsa sodir bo'ladi, ya'ni. parallel jarayonlar aslida bir vaqtning o'zida faqat bir marta amalga oshiriladi, biroq bir nechta jarayonlar ishlayotgan holatda, ya'ni. ular navbatma-navbat bajariladi va ular orasidagi jarayonlarning tez almashinuvi tufayli parallellik illyuziyasi vujudga keladi. Har doim ishlaydigan jarayonlar buferida bo'lgan barcha bunday jarayonlar parallel deb ataladi. Haqiqiy parallelizm bir vaqtning o'zida turli xil protsessorlarda turli vazifalar bajarilganda paydo bo'lishi mumkin. Biz uchun parallel jarayonlarning o'zaro ta'siri va ularning ishini sinxronlashtirish vazifalari nuqtai nazaridan bunday holatlar bir-biridan farq qilmaydi. Ular mustaqil va o'zaro aloqada bo'lishi mumkin. Mustaqil jarayonlar - resurslarning mustaqil to'plamidan foydalanadigan jarayonlar va bunday jarayonning ish natijasiga mustaqil jarayonning ishi ta'sir qilmaydi.
Hamkorlik jarayonlari resurslarni taqsimlaydi va birining bajarilishi boshqasining natijasiga ta'sir qilishi mumkin.
Har bir jarayon bir vaqtning o'zida resursga ega bo'lganda, BC resursini bir nechta jarayonlar tomonidan almashish resurs almashish deb ataladi .
Ham apparat, ham dasturiy ta'minot resurslari ajratilishi kerak.
Hozirgi vaqtda faqat bitta jarayon uchun mavjud bo'lishi kerak bo'lgan umumiy resurslar muhim manbalar deb ataladi . Bunday resurslar ham tashqi qurilma, ham ma'lum bir o'zgaruvchi bo'lishi mumkin, ularning qiymati turli jarayonlar tomonidan o'zgartirilishi mumkin.
Ikki muhim vazifani hal qila olish kerak:
1. Resurslarni jarayonlar o'rtasida taqsimlash.
2. Muayyan jarayonga ajratilgan manzil maydoni va boshqa resurslarni boshqa jarayonlar tomonidan nazoratsiz kirishdan himoya qilishni tashkil etish.
Resurslarni taqsimlash nuqtai nazaridan ko'p dasturlashning eng muhim talabi quyidagilardan iborat: jarayonning bajarilishi natijasi jarayonlar o'rtasida almashinishning bajarilishi tartibiga bog'liq bo'lmasligi kerak, ya'ni. jarayonni bajarish tezligining boshqa jarayonlarni bajarish tezligiga nisbati bo'yicha.
Ko'p dasturlash talabi buzilgan vaziyatning misolini ko'rib chiqing.
Keling, rasmga qaraylik va vaqt yuqoridan pastgacha o'tishini tasavvur qilaylik. Ikkala jarayon ham ba'zi bir shartli if funktsiyasini bajaradi, unda shartli kirish (ma'lum bir belgining kiritilishi) va shartli chiqishi (bir xil o'zgaruvchining chiqishi) mavjud bo'lib, bu funktsiyalarni amalga oshirish bizni hozir tashvishlantirmasligi aniq, Biz birinchi navbatda hozir nima bo'lishidan xavotirdamiz. Ko'rinib turibdiki, bu holatda biz A jarayonini umumiy o'zgaruvchiga ma'lum bir belgini o'qiganini olamiz, shundan so'ng boshqaruv B jarayoniga o'tkazildi va B jarayoni A jarayoni o'qigan qiymatini yo'qotdi. Shundan so'ng u yangisini chiqardi. qiymat, boshqaruv yana A jarayoniga o'tkazildi va A jarayoni u ko'rib chiqqan qiymatni emas, balki B jarayoni tomonidan allaqachon ustiga yozib qo'yilgan qiymatni chiqardi. Ya'ni, belgilardan biri shunchaki yo'qolgan, ikkinchisi esa ikki marta chop etilgan. Bu erda taxmin qilinadi that in ba'zi umumiy o'zgaruvchidir, ya'ni. ba'zi umumiy manba. Bunday holda, bu o'zgaruvchi umumiy jismoniy resurs bo'ladi.
Bunday holatlar jarayonlar orasidagi poyga sharoitlari, jarayonlar esa raqobatlashuvchi deb ataladi .
Dasturning muhim resurs bilan ish olib boriladigan qismi (aslida operatsiyalar to'plami) deyiladi tanqidiy qism , yoki tanqidiy interval .
Umumiy resurslardan foydalanishda poyga sharoitlaridan qochishning yagona yo'li tizimdagi har qanday umumiy resurslarga kirishni nazorat qilishdir. Bunday holda, o'zaro istisno qilishni tashkil qilish kerak - ya'ni . umumiy resurs bilan ishlash usuli bo'lib, unda jarayonlardan biri umumiy resurs bilan ishlayotgan paytda boshqa barcha jarayonlar unga kirish imkoniga ega emasligi taxmin qilinadi.
E'tibor bering, o'zaro istisno qilishni tashkil etish masalasi nafaqat ma'lumot almashinuvi uchun ma'lum resurslarni baham ko'radigan o'zaro bog'liq jarayonlar uchun dolzarbdir. Bir-birining mavjudligidan bexabar jarayonlar global tizim resurslaridan, masalan, kiritish/chiqarish qurilmalari, printerlar va boshqalardan foydalanishi mumkin. Bunday holda, resurslar uchun raqobat mavjud bo'lib, ularga kirish ham o'zaro istisno tamoyiliga muvofiq tashkil etilishi kerak.