Синхрондаудың мақсаты және құралдары



жүктеу 40,43 Kb.
бет4/7
Дата07.09.2022
өлшемі40,43 Kb.
#39184
түріПрограмма
1   2   3   4   5   6   7
5 . Daris Protsesster men agymdardy sinhrondau

Семафорлар.
Өзгемелердің блоктары семафоралық дийкстр болып табылады. Екілік өзгермелі дийкстрдың орнына бір өзгерменің қолданылуын ұсынады. Олар толық қарсы емес мағыналарды қабылдай алады. Бұндай өзгермелер, санақ процесін синхронизациялау үшін қолданылатын синхронизация семафора деп аталады.
Семафорамен жұмыс істеу үшін P және V қолданылады. S семафора болсын. Онда V(S) және P(S) былай анықталады.

  • V(S): өзгермелі S бір ерт өзгереді. Іріктеме, өсіру және сақтап қалу үзіліп кетпейді. Бұл операцияны жүргізген кезде өзгермелі S-ке басқа ағымдар қол жеткізе алмайды.

  • P(S): S бірге төмендейді, егер бұл мүмкін болса. Ал егер, S=0 және S-ті төмендету мүмкін емес болса, онда бұл жағдайда P операциясын шақыратын ағым оның төмендеуін күтеді. Пайдалы тексерім және төмендеу айырылмайтын операция болып табылады.

V және P кезінде ешқандай тоқтатулар келтірілмейді. Жеке жағдайда, S 0 және 1 мағыналарын қабылдай алғанда, ол блоктаушы өзгермеге айналады, оны кейде екілік семафора деп атайды. P операциясы ағымның өтуін күту барысында қамтамасыз етеді. Сол уақытта V операциясы кейбір жағдайларда басқа P операциясы тоқтатқан ағымды активтендіре алады.
Екі семафорды қарастырамыз. Оның бірі – буфер пулына мәліметтерді жазады, ал екіншісі оны буфер пулынан алады. Бір жазбасы бар N буфер пулы болсын. Жалпы жағдайда жазушы-ағым және оқушы-ағым әртүрлі жылдамдығы бар және өзгермелі интенсивпен буфер пулына тақалады. Бір периодта жазу жылдамдығы оқу жылдамдығын оза алады, ал екіншісінде керісінше. Дұрыс біріккен жұмыс үшін жазу-ағымы барлық буферлер бос емес болған жағдайда және бір буфер босағанда ғана тоқтатылуы керек. Керісінше, оқу-ағым барлық буферлер бос болған кезде жәнен бір буфер болған кезде ғана тоқтатылуы керек.
Екі семафорды енгіземіз: е – бос буферлер саны, f – бос емес буферлер саны, е=N, ал f=0. Онда ағымдардың буфер пулымен жұмысы келісіммен бейнеленеді (4.20сурет).
Жазу-ағымы P(е) операциясын жүргізеді. Ол оның буфер пулында толмаған буфердің бар-жоғын тексереді. P операциясының семантикасына байланысты е семафоры 0-ге тең болса, жазу-ағым күту процесіне көшеді. Егер е-нің мағынасы жақсы сан болса, онда ол бос буферлер санын азайтады, мәліметтерді бос буферге жазады, және одан кейін V(f) операциясының көмегімен бос емес буферларды санайды. Оқу-ағым бос емес буферларды санайды, мәліметтерді оқығаннан кейін бос буферлерді санайды. Берілген жағдайда блоктаушылардың орнына семафораларды қолданған жөн. Бұл жерде буфер пулы критикалық ресурс болып табылады. Оның ішінде қанша буфер болса, сонша ағым буфер пулымен жұмыс істей алады. Критикалық ресурсқа еіклік өзгерме бір ағымнан басқаны жібермейді. Ал, семафор болса бөлек пул ресурсына көптеген ағымдарды жібереді. Біздің мысалда буфер пулымен N ағымдар жұмыс істей алады, оның ішінде «жазушы» және «оқушы» болуы мүмкін.
Осылайша семафоралар ресурс пулына жол ашады. Мысалы, функция ішіндегі орналастырғыш, информациялық структура және т.б. Осы және басқа да жағдайларда семафордың көмегімен бөлшек ресурстарына бірнеше ағымдардың өтуіне жол береді.
Семафор блоктаушы өзгерменің рөлінде де қолданылады. Қарастырылған мысалда бөлінетін ес аумағымен жұмыс істеген кезде оның кемшілігін көрсетпеу үшін буферге жазу және буферден шығу критикалық секция болып табылады. Екілік семафор 6-ның көмегімен бірегей шығаруды қамтамасыз етеді. Екі ағым буферге кіру мүмкіндігін тексергеннен кейін критикалық секцияға кіру мүмкіндігін анықтау керек.

жүктеу 40,43 Kb.

Достарыңызбен бөлісу:
1   2   3   4   5   6   7




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау