• FOYDALANILGAN ADABIYOTLAR RO`YHATI
  • -rasm Monolit OT ni oddiy strukturalashtirish Jarayon sinxronizatsiyasi




    Download 92,96 Kb.
    bet4/4
    Sana23.05.2024
    Hajmi92,96 Kb.
    #251692
    1   2   3   4
    Bog'liq
    Jarayonlar o‘zaro bog‘lanishi algoritmlari sinxronlashtirish K

    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
    KUTISH (S):


    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 aytadigan bo’lsam men ushbu menga berilgan mustaqil mavzusini tayyorlash davomida juda ko’p ma’lumotlarga ega bo’ldim. 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.


    FOYDALANILGAN ADABIYOTLAR RO`YHATI:

    1. Nazirov Sh. C++ da dasturlash asoslari.

    2. Mardanova N.S. C++ tilida dasturlash

    3. J.Liberti. Osvoy samostoyatelno C++ za 21 den.-SPb.2003.-815 s.

    4. Informatika. Bazaviykurs. 2-izdanie. Uchebnikdlya VUZOV/Pod red. S.V.Simonovicha.-SPb.: Piter, 2009.-640 s.

    5. Рахмокулова С.И. IBMPCшахсийкомпьютердаишлаш. 1999.

    6. Бобровский С. , Delphi 7. Учебный курс. 2003, - 736 с.

    7. О.А.Акулов, Н.В.Медведев Информатика базовый курс. Учебник.Москва 2007г. 555 стр.

    Download 92,96 Kb.
    1   2   3   4




    Download 92,96 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    -rasm Monolit OT ni oddiy strukturalashtirish Jarayon sinxronizatsiyasi

    Download 92,96 Kb.