Kirish Operatsion tizimlarning ishini o`rganishda asosiy tushunchalardan biri bo`lib, ustida tizim aniq amallar bajaradigan asosiy dinamik ob’ektlar sifatida olinadigan jarayonlar xisoblanadi. Jarayon tushunchasi. Jarayon xolati
-rasm Monolit OT ni oddiy strukturalashtirish Jarayon sinxronizatsiyasi
Download 163.76 Kb.
|
Murodjonov.L 2-Mustaqil ish
2-rasm Monolit OT ni oddiy strukturalashtirish
Jarayon sinxronizatsiyasi - bu jarayonlarning bajarilishini bir-biridan ikkala jarayon bir xil umumiy ma'lumotlar va manbalarga kirish huquqiga ega bo'lmaydigan tarzda muvofiqlashtirish vazifasidir. Bu bir nechta jarayonlar birgalikda ishlayotganda ko'p jarayonli tizimda juda zarur va bir nechta jarayonlar bir vaqtning o'zida bir xil umumiy manbaga yoki ma'lumotlarga kirishga harakat qilishadi. Bu umumiy ma'lumotlarning nomuvofiqligiga olib kelishi mumkin. Shunday qilib, bitta jarayon tomonidan amalga oshirilgan o'zgarish boshqa jarayonlar bir xil umumiy ma'lumotlarga kirganda aks etishi shart emas. Ma'lumotlarning ushbu xilma-xilligini oldini olish uchun jarayonlarni bir-biri bilan sinxronlashtirish kerak. Jarayon sinxronizatsiyasi qanday ishlaydi? Masalan, A jarayoni xotira joyidagi ma'lumotlarni o'zgartirganda, boshqa B jarayoni bir xil xotira joyidan ma'lumotlarni o'qishga harakat qilmoqda. Ikkinchi jarayon tomonidan o'qilgan ma'lumotlarning xato bo'lish ehtimoli katta. Sinxronizatsiya apparati Ba'zida muhim bo'lim muammolari qo'shimcha qurilmalar tomonidan hal qilinadi. Ba'zi operatsion tizimlar qulflash funktsiyasini taklif qiladi, bu erda Jarayon muhim bo'limga kirishda qulfni oladi va undan chiqib ketgandan keyin qulfni chiqaradi. Shunday qilib, boshqa jarayon muhim bo'limga kirishga urinayotganda, u qulflanganligi sababli kira olmaydi. Buni faqat qulfni sotib olish orqali bepul bo'lsa amalga oshirishi mumkin. Mutex qulflari Sinxronizatsiya apparati hamma uchun amalga oshiriladigan oddiy usul emas, shuning uchun Mutex Locks deb nomlangan qat'iy dasturiy ta'minot usuli ham joriy qilingan. Ushbu yondashuvda kodning kirish qismida muhim bo'lim ichida ishlatiladigan muhim manbalar bo'yicha LOCK olinadi. Chiqish qismida qulf qo'yiladi. Semafor Qarori Semafor - bu shunchaki salbiy bo'lmagan va ish zarrachalari o'rtasida taqsimlanadigan o'zgaruvchidir. Bu muhim bo'lim muammosining yana bir algoritmi yoki echimi. Bu semaforda kutib turgan signal beruvchi mexanizm va ip, uni boshqa ip bilan signal berish mumkin. Bu jarayonni sinxronlashtirish uchun ikkita atom operatsiyasidan foydalanadi: 1) kutish va 2) signal. Misol
esa (S <= 0); S = S - 1; SIGNAL (S): S = S + 1; Jarayonni sinxronizatsiya qilish - bu jarayonlarning bajarilishini bir-biridan ikkala jarayon bir xil umumiy ma'lumotlar va manbalarga kirish huquqiga ega bo'lmaydigan tarzda muvofiqlashtirish vazifasidir. Muhim qismning to'rtta elementi 1) Kirish qismi 2) Muhim bo'lim 3) Chiqish qismi 4) Eslatish bo'limi Muhim bo'lim - bu ma'lum bir vaqtda signal jarayoni orqali kirish mumkin bo'lgan kod segmenti. Muhim bo'lim tomonidan bajarilishi kerak bo'lgan uchta qoidalar quyidagilardir: 1) O'zaro chiqarib tashlash 2) Jarayon echimi 3) Cheklovni kutish O'zaro istisno - bu umumiy resursga kirishni boshqarish uchun ishlatiladigan ikkilik semaforning maxsus turi. Jarayon echimi hech kim muhim bo'limda bo'lmaganida va kimdir xohlaganida ishlatiladi. Bog'langan kutish echimi, jarayon o'zining muhim qismiga kirish uchun so'rov yuborganidan so'ng, ularning tanqidiy qismiga qancha boshqa jarayonlarning kirish chegarasi mavjud. Petersonning echimi bo'limning muhim muammolarini hal qilishda keng qo'llaniladi. Muhim bo'lim muammolari, shuningdek, apparatni sinxronizatsiya qilish yo'li bilan hal qilinadi Sinxronizatsiya apparati hamma uchun amalga oshiriladigan oddiy usul emas, shuning uchun Mutex Locks deb nomlanuvchi qat'iy dasturiy ta'minot usuli ham joriy qilingan. Semafor - bu muhim bo'lim muammosining yana bir algoritmi yoki echimi. Jarayonni sinxronlashtirishda Dekker algoritmi Old shart - Jarayonlarni sinxronlashtirish, Inter Interaction Communication Bunday o'zaro istisno, cheklangan kutish va taraqqiyotni olish uchun bir nechta algoritmlar amalga oshirildi, ulardan biri Dekker algoritmi. Algoritmni tushunish uchun avval muhim bo'lim muammosining echimini tushunaylik. Jarayon odatda quyidagicha ifodalanadi: do { //entry section critical section //exit section remainder section } while (TRUE); Muhim bo'lim muammosini hal qilish quyidagi uchta shartni ta'minlashi kerak: O'zaro istisno Taraqqiyot Cheklangan kutish Barcha omillarni ta'minlash uchun echimlardan biri bu Petersonning echimi. Yana biri Dekkerning Qarori. Dekkerning algoritmi muhim bo'lim muammosining birinchi ishonchli va to'g'ri echimi edi. Bu ikkita oqimga aloqa uchun faqat umumiy xotiradan foydalanib, mojarolarsiz bitta foydalaniladigan resursni bo'lishishga imkon beradi. Bu sodda burilish algoritmining qat'iy almashinuvidan qochadi va ixtiro qilingan birinchi o'zaro chiqarib tashlash algoritmlaridan biri edi. Dekker-ning echimining ko'plab versiyalari mavjud bo'lsa-da, oxirgi yoki 5-versiyasi yuqoridagi shartlarning barchasini qondiradigan va ularning barchasida eng samarali hisoblanadi. Izoh - Dekkerning Qarori, bu erda aytib o'tilganidek, faqat ikkita jarayon o'rtasida o'zaro istisno qilishni ta'minlaydi, massivlar va o'zgaruvchilarni to'g'ri ishlatish bilan ikkitadan ortiq jarayonga kengaytirilishi mumkin. Algoritm - Bu mantiqiy qiymatlar qatorini va butun son o'zgaruvchisini talab qiladi: var flag: array [0..1] of boolean; turn: 0..1; repeat flag[i] := true; while flag[j] do if turn = j then begin flag[i] := false; while turn = j do no-op; flag[i] := true; end; critical section turn := j; flag[i] := false; remainder section until false Xulosa Xulosa qilib aytish mumkinki bugungi kunda operatsion tizimlar algoritmlashgan jarayonlarga talab katta. Xamma rejalashtirish parametrlarini ikkita katta guruxlarga bo`lishi mumkin: statik parametrlar va dinamik parametrlar. Statik parametrlar xisoblash tizimi ish vaqtida o`zgarmaydi, dinamiklari esa teskarisi, doimo o`zgarishda bo`ladi. Shuningdek meni bu fanga bo’lgan qiziqishim yanada oshdi. Mavzu bo’yicha bugungi kunda operatsion tizimlar algoritmlashgan jarayonlarga talab katta. Xamma rejalashtirish parametrlarini ikkita katta guruxlarga bo`lishi mumkin Jarayonni sinxronizatsiya qilish - bu jarayonlarning bajarilishini bir-biridan ikkala jarayon bir xil umumiy ma'lumotlar va manbalarga kirish huquqiga ega bo'lmaydigan tarzda muvofiqlashtirish vazifasidir. Muhim qismning to'rtta elementi 1) Kirish qismi 2) Muhim bo'lim 3) Chiqish qismi 4) Eslatish bo'limi Muhim bo'lim - bu ma'lum bir vaqtda signal jarayoni orqali kirish mumkin bo'lgan kod segmenti. Tizimning statik parametrlariga uning resurslarining chegaraviy qiymatlarini (operativ xotira xajmi, svoping uchun diskdagi xotira maksimal soni, ulangan kiritish –chiqarish qurilmalarining soni va xokazolar). Tizimning dinamik parametrlari ayni vaqtdagi bo`sh resurslar sonini tavsiflaydi. Download 163.76 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling