16-mavzu. Jarayonlarni rejalashtirish. Jarayonlarni sinxronlash algoritmlari
Jarayonlarning sinxronlanishi (qadimgi yunon tilidan. Σύγχρονος - bir vaqtning o'zida) - ikki yoki undan ortiq jarayonlarni shunday tartibga keltirish, turli jarayonlarning ma'lum bosqichlari ma'lum tartibda yoki bir vaqtning o'zida sodir bo'lganda.
Sinxronizatsiya parallel jarayonlar o'zaro ta'sir qilishi kerak bo'lgan barcha holatlarda zarur. Uni tashkil qilish uchun protsesslararo aloqa vositalari qo'llaniladi. Eng ko'p ishlatiladigan vositalar qatoriga signallar va xabarlar, semaforalar va mutekslar, kanallar (inglizcha pipe), umumiy xotira kiradi.
Sinxronizatsiya zarurligi. Sinxronizatsiya zarurati nafaqat ko'p protsessor tizimlarida, balki har qanday parallel jarayonlar uchun ham paydo bo'ladi; hatto bitta protsessor tizimlarida ham. Sinxronizatsiyani joriy etishning ba'zi asosiy shartlari:
Tarmoqlanmoq – vazifa n-vazifalar tomonidan bajariladigan n-pastki qismlarga bo’linadi. Amalga oshirilgandan so’ng, har bir pastki qism boshqalar hisoblashni tugatguncha kutadi, keyin birlashma sodir bo’ladi.
Ishlab chiqaruvchi-iste’molchi – ishlab chiqaruvchi-iste’molchi, jarayon-iste’molchi nuqtai nazaridan, u ishlab chiqaruvchi jarayoniga bog’liq va zarur ma’lumotlarni ishlab chiqarilishini kutadi.
Resurslardan eksklyuziv foydalanish – Agar bir nechta jarayonlar ma’lum bir manbaga bog’liq bo’lsa va bir vaqtning o’zida unga kirish kerak bo’lsa, [[Operatsion tizim | OT] ma’lum bir vaqtda unga faqat bitta jarayon kirishini ta’minlashi kerak, bu esa moslikni pasaytiradi.
Qiyinchiliklar. Jarayonlarni sinxronlashtirish ikki yoki undan ortiq parallel jarayonlar yoki mavzular bir vaqtning o'zida ma'lum bir dastur segmentini bajarolmasligini ta'minlaydigan mexanizm sifatida aniqlanadi. Jarayonni tanqidiy qismga kirish sinxronizatsiya usullari yordamida amalga oshiriladi. Kimdir tanqidiy bo'limlarni (qisman dastur segmentini) bajarishni boshlaganda, birinchi oqim tugaguniga qadar yana bitta oqim kutishi kerak. Agar sinxronizatsiya noto'g'ri qo'llanilsa, o'zgaruvchilar qiymatlari oldindan aytib bo'lmaydigan darajada o'zgarishi va jarayonlar yoki oqimlarning almashish vaqtiga qarab o'zgarishi mumkin bo'lgan poyga sharti paydo bo'lishi mumkin.
Jarayonlarni sinxronlashtirishda hal qilinishi kerak bo'lgan ba'zi boshqa qiyinchiliklar:
Harakatlar tartibi;
Tugash;
Resurs ochligi;
Ustuvor inversiya;
Haddan tashqari yuk kutish.
Do'stlaringiz bilan baham: |