Байланысты: 1 Негізгі ымдар мен аны тамалар Операциялы ж йе (ОЖ) (4)
4 Орталықтандырылған архитектурадағы процестерді коммуникациялау және синхронизациялау Процестерді параллель деп атайды, егер олар бір уақытта бар болса. Параллель процестерді келесі екі топқа бөлсе болады:
тәуелсіз процестер;
асинхронды процестер.
Процестерді асинхронизациялау – процестер арасындағы өзара әрекеттерді болдырмсау үшін, арнайы атомдық амалдарды қолдану.
Критикалық ресурстар – бір рет бір ғана процеске қызмет ететін ресурс. Егер бірнеше процесс критикалық ресурсты болу режимінде пайдаланғысы келсе, онда оларға өз әрекеттерін синхронизация жасауы керек.
Критикалық учаскілер – критикалық ресурсқа қатынас жүретін, процестің учаскілері
Блоктау – біреудің бірнәрсені орындауына тиым салу. Процесс критикалық учаскіге кірер алдында блокты орнатып, оны шыққан соң алып тастауы керек. Егер учаске блокта болса, онда басқа процесс оның алдында күтуі қажет.
Критикалық ресурстыңмысалы деп қандай да бір қосындылап, бөлектейтін айнымалыны (оны санағыш деп атайды) айтады. Процестердің критикалық учаскілері кодтан тұруы мүмкін:
Санағыш:=санағыш+1.
Жарыс (гонки) – екі немесе олдан да көп процесс бөлінген мәліметтерді өңдеп, соңғы нәтиже оның орындалуы жылдамдығының қатынасынан тәуелді болған жағдай.
Тығырықтар Процестер мен басқару ағындары – белсенді объектілер. Ресурстар – белсенді емес объектілер. Процесс жұмыс кезінде екі келенсіз жағдайға тап болуы мүмкін: Қатып қалу (зависание) және тығырық. Қатып қалу – ерте ме, кеш пе процестің шығатын анық емес күту жағдайы. Ол қандай да бір ресурстау күтуімен байланысты.
Тығырық – ешқандай шыға алмайтын, қандай да бір оқиғаның күту жағдайы.
Егер бір немесе бірнеше процестер тығырық жағдайында болса, жүйе де тығырық күйде болады.
Тығырықтың пайда болуы үшін төрт шарты бар:
Өзара ерекшелік шарты (процестер ұсынылған ресурстарды монополиялық игеруді талап етеді);
Күту шарты (процестер оларға бөлінген ресурстарда қосымшасын бөлуді күте отырып ұстап қалуы);
Таратылмау шарты (ресурстарды қолданылмай тұрып, оларды ұстап қалған процестерден алып қоюға болмайды);
Айналма күту шарты (әрбір процесс келесі процеске ажетті бір немесе бұдан да көп ресурсты ұстап қалатын, процестердің айналма тізбегі).
Тығырықтармен жұмыс істеудің төрт негізгі стратегиялары бар:
Мәселені толық игнорирлеу (страус алгоритмі). Көбіне шынайы оперциялық жүйелер ресурстардың көптігінен тығырықтармен күреспейді.
Тығырықтарды болдырмау (prevention). Тығырықты болдырмау үшін, қажетті шарттардың ең болмағанда біреуін бұзу жеткілікті.
Тығырықтарды аралу (avoidance) – рационалды ережелер бойынша ресурстарды рационалды орналастыру.
Тығырықтарды тауып алу (detection) – тығырықтың пайда болуына жол беріп, сол жақтағы тап болған процестер мен ресурстарды анықтап, жүені одан шығаруға тырысады.