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



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

Шиеленіскен секция.
Ағымдар синхронизациясының басты түсініктемесі болып «шиеленіскен секция» бағдарламасы саналады. Шиеленіскен секция дегеніміз- орындалған қорытындысы әрдайым ауыса алатын бағдарлама бөлігі, егер осы бөлімді орындау әлі анықталмаған болса, осы бағдарлама бөліміне қатысты ауысымдар басқалармен ауысады. Шиеленіскен секция әрдайым белгілі бір шиеленіскен анықтамаларға қатысты анықталады және келісілмеген өзгерістерде керексіз ұшқындар пайда болуы мүмкін. Алдағы мысалда мұндай шиеленісулер болып ақпараттар жүйесінің файлын енгізу болып саналады. Берілген шиеленушілермен жұмыс істейтін әр ағымдардағы шиеленіскен секция әр түрлі қайталанбалы командалардан тұратынын атап өткен жөн.
Шиеленісу ақпараттарға қатысты қудалау ұшқынын жою үшін шиеленіскен секцияда әр уақытта осы ақпараттармен байланысты тек бір ағым болуы қажет. Бұл ағым жұмыс үстінде немесе тоқтаулы жағдайда болса да жарайды. Бұл қабылдау екі жақтылы үзіліс деп аталады. Операциялық жүйе екі жақтылы үзілісті жүзеге асырудың әр түрлі жақтыларын қолданады. Кейбір жағдайлар екі жақтылы үзіліс үшін шиеленіскен секцияға кіру үшін бір ғана процесті ағымдарды енгізгені тиімді және бұл уақытта әр түрлі процесті ағымдар екі жақты үзілісті қамтамасыз ете алады.
Екі жақты үзілістің ең жай және ең тиімсіз қамтамасыз ету жағдайы болып ағымдардағы операциялық жүйенің шиеленіскен секцияда болған кезде кез-келген тоқтатуға қарсы болуы саналады. Бірақ-та бұл тәсіл мүлдем қолданылмайды, өйткені ол процессорды көп алуы мүмкін, яғни тұтынушылар ағымында жүйені басқаруға сенуге қиын, ал шиеленіскен секциядағы ағымдардың жойылуын барлық жүйе алады, өйткені тоқтатуға ешқашан рұсат берілмейді.
Шиеленіскен ауысымдар.
Бір процесті ағымдарды синхрондау үшін бағдарламаны шиеленіскен ауысымдарды шексіз түрде қолдана алады. Процестің барлық ағымдарына тиісті бұл ауысымдармен бағдарламаны жалпы жүйе шақырымдарына қарамай жұмыс атқара береді.
Әрбір шиеленіскен ақпаратқа қосарланған ауысымдар қойылады, бұл ағымда 0 белгісі қойылады, және одан шыққан жағдайда 1 белгісі қойылады. Д шиеленіскен ақпаратқа Ғ(Д) ауысымдарының жетістігін көрсететін ағым алгоритмінің фрагменті көрсетілген. Шиеленіскен секцияға кіру үшін (ағымдар тексерімді) берілген Д-мен ағымдар жұмыс атқарып жатқаны жөнінде ағымдар тексеріліп отырады.
Егер өзгермелі Ғ(0) 0-де орналасса, онда мәліметтер бос емес, және тексеріс циклді қайталанады. Егер де мәліметтер бос болса (Ғ (Д)=1), онда өзгерменің мәні Ғ(Д) де орналасады және ағым критикалық секцияға кіреді. Ағым Д мәліметтерімен барлық әрекетті бітіргеннен кейін өзгерменің мәні Ғ(Д) қайта 1-ге тең болады.
Тежемелі өзгермелер бөлінбелі мәліметтерге ғана емес, сондай-ақ кез-келген түрлі бөлінбелі ресуртарға қол жетерлікте қолданыла алады.
Егер барлық ағымдар жоғарыдағы келісімдерге сай жазылса, онда өзара ерекшелеу кепілденбелі. Соған қарамастан ағымдар кез-келген кезде, кез-келген жерде операциялық жүйемен тоқтатылуы мүмкін, критикалық секцияда да.
Бірақ та тоқтатуды шектеу мүмкіндігі бар екенін ұмытпау керек. Тексеріс операцияларын орындау мен тежеу өзгермесін орналастыру арасындағы ағымды тоқтатуға болмайды. Бұны түсіндірейік.
Бірақ бір бөлу жегінің бар екенін ұмытпау керек. Блоктаушы өзгермені тексеру және орналастыру операциясы барысында ағымды бұзбау керек. Түсіндірейік. Өзгермені тексеру барысында ағым ресурстың бос екенін анықтады, бірақ бұдан кейін өзгермені 0-ге келтіруге үлгермей үзіліп кетті. Осы уақыт аралығында ағымды орналастыру кезінде басқа ағым өзінің критикалық секциясына кіріп, басып алды, бірақ ол да бөлшек ресурсымен жұмысын аяқтай алмады. Жұмыс бірінші ағымға берілген кезде ол ресурсты бос деп ойлап оны секциясымен жұмыс істей бастады. Осымен қарым-қатынас жойылды, және ол келеңсіз жағдайларды туғызады. Мұндай жағдайға тап болмау үшін көптеген компьютерлерде бірлік, бөлінбейтін логикалық өзгерменің бұйрығы орындалады (мыс, BTC,BTR және BTS Pentium прцессорының). Процессордың ішінде мұндай бұйрықтардың болмауынан іс-әрекеттер басқа арнайы база системасымен жүзеге асырылуы керек. Олар барлық тексеру және орналастыру операциясы барысында үзілмеуін қамтамасыз етеді.
Жоғарыда келтірілген қарым-қатынас амалы келесідей кемшілігімен сипатталады: бір ағым критикалық секцияда болған уақытта басқа бір ағым процессорге жолы ашық болса да блоктаушы өзгермені сұрап, өзінің көптеген уақытын жоғалтады. Бұндай кемшілікті жою үшін операциялық жүйеде критикалық секцияларымен жұмыс істеуге арналған арнайы шақыру системасы қолданылады.
Осы функциялардың көмегімен операциялық Windows NT қарым-қатынас іске асырылды. Критикалық мәліметтерді өзгерту алдында ағым Enter Critical Sector бұйрығн орындайды.
Егер (Ғ (Д)=0) шақыру жүйесін анықтайтын болса, онда ағымдағы (Д) тосу жағдаын ауыстырады және қосарланған ресурс босайды.

жүктеу 40,43 Kb.

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




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

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