90.83K
Category: informaticsinformatics

Процестердің өзара әрекеттесу құралдарына шолу

1.

ПРОЦЕСТЕРДІҢ ӨЗАРА
ӘРЕКЕТТЕСУ ҚҰРАЛДАРЫНА
ШОЛУ
Орындаған:Әлішер Жалғас
Тексерген:Каламан Ерболат

2.

Жалпы мәліметтер
■ Мультипрограммалық ОЖ процестерінің қалыпты жұмыс істеуі
орындалатын бағдарламалар бір-бірінен қатаң оқшауланған
жағдайда ғана мүмкін болады.
■ Бағдарламаларды оқшаулау, әдетте, олардың жұмысына бөлінген жад
аймақтарына өзара қол жеткізуді болдырмау арқылы ОЖ
құралдарымен жүзеге асырылады.
■ Процестерді толық өзара оқшаулау мүмкін емес, ал кейбір
мәселелерді шешуде практикалық емес, сондықтан операциялық
жүйеде олардың бақыланатын өзара әрекеттесуін ұйымдастыруға
мүмкіндік беретін құралдар болуы керек.
■ Егер кейбір процестер шеңберінде орындалатын операциялар басқа
процестердің жұмысында өзгерістер тудырса, процестер өзара
әрекеттесу деп аталады.
■ Өзара әрекеттесетін процестерді бір процессорда бір есептеу
жүйесінде жалған параллель немесе әр түрлі есептеу жүйелерінің
құрамына кіретін әр түрлі процессорларда параллель орындауға
болады.

3.

Өзара әрекеттесу ерекшеліктері
■ Ресурстарға бір мезгілде жүгіну дегеніміз-процестердің бірі белгілі бір уақытта
басқа процесс қолданатын ресурсқа жүгінетін жағдай.
■ Мультипрограммалық жүйеде процестердің жалған параллель орындалуы
жағдайында ресурстарға бір уақытта жүгіну жағдайы кез-келген процестің ерікті
уақытта орындалуын тоқтата тұру мүмкіндігінің салдары болып табылады.
■ Егер ресурсқа жүгінген процесті жоспарлаушы уақыт квантының аяқталуына
байланысты осы ресурспен жұмысты аяқтамай тоқтатқан болса, онда жаңадан
іске қосылған процесс осы ресурсқа да жүгіне алады.
■ Ресурсқа жүгіну операциясы атомдық емес.
■ Процестердің өзара әрекеттесуі бағдарламаларды әзірлеу кезінде алдын-ала
жоспарлануы мүмкін немесе кездейсоқ пайда болуы мүмкін, мысалы,
ресурстарға бір уақытта жүгіну кезінде.

4.

Өзара әрекеттесу себептері
Процестердің өзара әрекеттесуі, әдетте, жалпы тапсырманың жеке ішкі
мәселелерін шешуді ішінара оқшаулау арқылы бағдарламалық жүйенің
жұмысын жақсарту мақсатында ұйымдастырылады.
Өзара әрекеттесудің негізгі себептері мен әдістеріне мыналар жатады:
Деректерді бөлісу. Әр түрлі процестер біртұтас деректермен жұмыс істей алады,
оларды бір мәліметтер базасы сияқты ерікті тәртіпте қолдана алады.
Деректерді беру. Деректер бір процестен екіншісіне дәйекті түрде беріледі, бұл
олардың бірлескен жұмысын ұйымдастыруға мүмкіндік береді. Мысал ретінде
интеграцияланған бағдарламалау ортасында мәтіндік редактордан отладчикке
және кері ақпаратты беру болып табылады.
Бағдарламалық жүйені модульдік ұйымдастыру. Егер бағдарламалық жасақтама
жүйесі дербес Модульдер жиынтығынан тұрса және әр модуль жеке процесс
арқылы жүзеге асырылса, онда жүйенің келісілген жұмысы оның компоненттері
арасында, әдетте арнайы басқару модулі арқылы ақпарат алмасу арқылы
қамтамасыз етіледі. Мысал ретінде операциялық жүйенің микро ядросы бар
жұмысын келтіруге болады.

5.

Деректер алмасу
■ Процестердің өзара әрекеттесуі басқа процестің операцияларына
жауап ретінде бір процестің мінез-құлқын өзгерту мақсатында
ұйымдастырылады.
■ Әдетте өзара әрекеттесуді жүзеге асыру процестер арасында
ақпарат алмасу қажеттілігін білдіреді, бұл қабылданған деректерді
талдау негізінде олардың мінез-құлқын өзгертуге мүмкіндік береді.
■ Мультипрограммалық ортада процестер әдетте бір-бірінен қатаң
оқшауланғандықтан, деректердің дұрыс алмасуын қамтамасыз ету
үшін арнайы құралдар мен операциялық жүйенің әрекеттері қажет.
■ Егер процестердің қызметі олар қабылдаған кез-келген ақпаратпен
өзгеріссіз қалса, онда олар өзара әрекеттесуді қажет етпейді.
■ Осылайша, процестер арасында деректер алмасуды ұйымдастыру
олардың өзара әрекеттесуін қолдау үшін шешілуі керек негізгі
мәселе болып табылады.

6.

ДЕРЕКТЕР АЛМАСУДЫ
ҰЙЫМДАСТЫРУ

7.

Деректер алмасу құралдары
■ Деректермен алмасуды ұйымдастыру тәртібі көбінесе ол үшін
қолданылатын деректермен алмасу құралдарының жұмыс
ерекшеліктерімен анықталады.
■ Айырбастау құралдары келесі негізгі сипаттамалармен ерекшеленеді:
■ деректерді беру тәртібі (деректерге қол жеткізу әдісі);
■ берілетін ақпараттың жылдамдығы мен көлемі;
■ деректерді берудің сенімділігі.
■ Айырбастау құралдарының сипаттамаларының мәні олардың
процестердің мінез-құлқына әсер ету мүмкіндіктерін анықтайды.
■ ОЖ процестерді бір-бірінен қатаң оқшаулауға міндетті болғандықтан,
деректер алмасуды ұйымдастыру әрқашан оның қолдауы мен
бақылауын қажет етеді.
■ Айырбастауды ұйымдастыру мәселесін шешу үшін берілген қаражаттың
нақты жиынтығы оның ОЖ ерекшеліктеріне байланысты.
■ Айырбастау құралдарын бағдарламашы шешілетін міндеттердің
ерекшелігін ескере отырып, қолдау көрсетілетін ОЖ ішінен таңдайды.

8.

Айырбастау құралдарының санаттары
Қазіргі заманғы операциялық жүйелердің көпшілігінде ұқсас деректер
алмасу құралдары қолданылады, оларды келесі негізгі санаттарға бөлуге
болады:
ортақ жад;
байланыс арналары;
хабарламалар;
сигналдар.
Бір санатқа жататын айырбастау құралдары белгілі бір Операциялық жүйе
шеңберінде оларды іске асырудың егжей-тегжейіне қарамастан
сипаттамалардың ұқсас мәндеріне ие.

9.

Ортақ жад
■ Ортақ жад дегеніміз-амалдық жүйе бірнеше процестердің мекен-жай кеңістігіне
көрсететін негізгі жад аймағы.
■ Ортақ жадтағы деректерді өңдеу жадпен жұмыс істеу үшін қолданылатын әдеттегі
бағдарламалау тілдерінің құралдарымен жүзеге асырылады.
■ Оқу және жазу режимдерінде деректерге қол жеткізудің ерікті тәртібі сақталады,
бұл екі бағытта деректер алмасуды ұйымдастыруға мүмкіндік береді.
■ Деректер алмасудың ең жоғары жылдамдығы және деректерді берудің ең үлкен
көлемі қамтамасыз етіледі.
■ Бұл деректерді берудің сенімді құралы болып саналады.
■ Ортақ жадты тек бір есептеу жүйесінде жұмыс істейтін процестер қолдана алады.

10.

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

11.

Хабарламалар
■ Хабарлама бір процестен екіншісіне бір қабылдауда берілетін
деректердің құрылымдық бөлігі деп аталады.
■ Процестер арасындағы хабар алмасуға Операциялық жүйе
құралдары қолдау көрсетеді.
■ Хабарламаларды қабылдау немесе беру үшін арнайы жүйелік
қоңыраулар қолданылады, олар деректермен алмасудан басқа
процестердің жұмысын үйлестіру функциясын орындайды.
■ Хабарлама механизмін бір есептеу жүйесінде де, әртүрлі есептеу
жүйелерінде де сақтауға болады.
■ Хабарламаларды бір есептеу жүйесі шеңберінде беру ақпаратты
уақытша сақтауды қамтамасыз ететін деректер құрылымдарын
жадқа орналастыру негізінде іске асырылады. Бұл жағдайда
хабарламалар сенімді бөлісу құралы болып саналады.
■ Әр түрлі есептеу жүйелері арасындағы хабарламаларды беру
арналар механизмі негізінде ұйымдастырылады және тиісті
сипаттамаларға ие.

12.

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

13.

Деректермен алмасу тәртібі
■ Бірнеше процестер арасында мәліметтер алмасу өзара
әрекеттесетін процестердің әрқайсысының кейбір логикалық
әрекеттер тізбегін орындау қажеттілігін білдіреді.
■ Белгілі бір әрекеттер жиынтығы қолданылатын алмасу механизмімен
анықталады және жалпы жағдайда үш кезеңнен тұрады:
■ айырбастың басталуы;
■ деректермен алмасу;
■ айырбастауды аяқтау.
■ Кейбір кезеңдер айырбастау құралдарының барлық санаттарына
ортақ, ал басқа кезеңдер тек жеке санаттарға жатады.

14.

Айырбастың басталуы
Алмасуды бастау үшін орындалатын әрекеттер тізбегі деректер алмасу
құралдарының кейбір санатына тән екі өзара байланысты ерекшеліктермен
анықталады:
алмасуды инициализациялау процедурасын орындау қажеттілігі;
осы санатқа жататын байланыс құралдарын адрестеу әдістерімен.

15.

Алмасуды инициализациялау

Айырбастауды инициализациялау процестер арасында байланыс орнату
үшін орындалуы қажет кейбір алдын ала әрекеттер тізбегін білдіреді.

Көптеген ОЖ-де ортақ жадты немесе байланыс арнасын пайдалану кезінде
қажетті жад аймағына немесе байланыс желісіне қол жеткізуге мүмкіндік
беретін операциялық жүйеге арнайы сілтеме қажет.

Сигналды немесе хабарламаны бір процестен екіншісіне беру үшін әдетте
алдын ала әрекет қажет емес.

Көбінесе алмасуды инициализациялау қажеттілігі байланыс құралдарын
адрестеу әдістерімен байланысты.

Байланыс құралын адрестеу әдісі осы құралды қолданатын процестермен
өзара әрекеттесу бойынша серіктестерді көрсету әдісін білдіреді.

Адрестеудің екі әдісі бар:

тікелей адрестеу;

жанама адрестеу.

16.

Тікелей адрестеу
■ Тікелей адрестеу кезінде әрбір деректер алмасу операциясындағы
өзара әрекеттесетін процестер ақпараттың тағайындалған немесе
алынуы тиіс процесті анықтауға мүмкіндік беретін идентификаторды
анық көрсетуі керек.
■ Шешілетін мәселеге байланысты тікелей адрестеу келесі
схемалардың біріне сәйкес жүзеге асырылады:
■ симметриялы тікелей адрестеу-беру және қабылдау процестерінің
екеуі де серіктестердің аттарын белгілейді, бұл үшінші процестің
орнына рұқсатсыз қосылуды мүмкін емес етеді;
■ асимметриялық тікелей адрестеу-өзара әрекеттесетін процестердің
бірі серіктесінің идентификаторын көрсетеді, ал екіншісі жүйедегі кез
келген процесті ықтимал серіктес ретінде қарастырады.
■ Тікелей адрестеуді қолданған кезде классикалық операциялық
жүйедегі процестер арасындағы байланыс автоматты түрде
орнатылады, қосымша инициализация әрекеттері жоқ және
мәліметтер алмасуға қатысатын процесс идентификаторларын білуді
талап етеді.

17.

Жанама адрестеу
■ Жанама (жанама) адрестеу деп аталады адрестеу схемасы онда
ақпарат алмасу кезінде өзара әрекеттесетін процестер деректерді
сақтауға арналған кейбір аралық нысанды пайдаланады.
■ Жанама адрестеу кезінде беру процесі деректер орналастырылған
осы аралық объектіні көрсетеді.
■ Аралық объект деректерді оның мекенжайын көрсеткен қандай да
бір қабылдау процесі алып қойғанға дейін сақтайды.
■ Жанама адрестеу кезінде таратушы және қабылдаушы процестер
серіктес идентификаторы туралы ақпаратты қажет етпейді, бірақ
егер ол барлық процестер үшін есептеу жүйесінде жалғыз және
ерекше болмаса, тек аралық объектінің идентификаторы қажет.
■ Жанама адрестеуді қолданған кезде, әдетте, аралық объектіні
ұйымдастыру қажеттілігіне байланысты байланыс құралын
инициализациялау қажет.

18.

Айырбастау тәртібі
Айырбастау тәртібі, яғни деректерді дұрыс беру немесе қабылдау үшін
орындалатын әрекеттер тізбегі негізінен байланыс құралдарының келесі
сипаттамаларымен анықталады:
ақпараттық валенттілік;
бағыт.

19.

Ақпараттық валенттілік
■ Ақпараттық валенттілік белгілі бір байланыс құралымен бір уақытта
байланыстырылуы мүмкін процестердің санын, сондай-ақ екі
процестің өзара әрекеттесуін ұйымдастыруға қатысуы мүмкін бірдей
байланыс құралдарының санын анықтайды.
■ Тікелей адрестеу кезінде екі процесс арасында деректер алмасу
үшін тек бір берілген байланыс құралы қатыса алады және тек осы
екі процесті онымен байланыстыруға болады.
■ Жанама адрестеу кезінде деректерді аралық сақтау үшін бір
нысанды пайдаланатын екіден көп процесс болуы мүмкін және екі
процесс бірнеше нысанды пайдалана алады.

20.

Бағыт

Фокус деректерді әртүрлі бағытта беру мүмкіндігін анықтайды.

Байланыс құралдары бір немесе екі бағытты болуы мүмкін.

Бір бағытты байланыс кезінде әр процесс осы байланыс құралын тек ақпаратты қабылдау
үшін немесе оны беру үшін қолдана алады.

Екі бағытты байланыс кезінде алмасуға қатысатын әрбір процесс деректерді қабылдау
және беру үшін байланыс құралын пайдалана алады.

Байланыс жүйелерінде әдетте аталады:

бір бағытты байланыс – симплекс;

әр түрлі бағыттағы ақпаратты кезектесіп берумен екі бағытты байланыс – жартылай
дуплексті;

ақпаратты бір уақытта әртүрлі бағытта беру мүмкіндігімен екі бағытты байланыс –
дуплексті.

21.

Байланысты аяқтау тәртібі
■ Байланысты аяқтау тәртібі процестің алмасуды тоқтату үшін қандай да бір арнайы
әрекеттерді орындау қажеттілігімен анықталады.
■ Инициализация әрекеттерін білдірмейтін байланыс әдістері әдетте өзара
әрекеттесуді аяқтау үшін әрекеттерді қажет етпейді.
■ Егер байланыс орнату инициализацияны қажет етсе, онда, әдетте, оны аяқтаған
кезде ОЖ мен өзара әрекеттесу серіктестеріне бұл туралы хабарлайтын
операцияларды орындау қажет.
■ Процестердің өзара әрекеттесуін келісілген тоқтату олардың әрі қарайғы
жұмысының дұрыстығына әсер етпейді.
■ Өзара әрекеттесу процестерінің бірімен байланыстың келісілмеген аяқталуы
оның қарым-қатынасын аяқтамаған серіктестері деректерді алуды шексіз күтетін
және іс жүзінде бұғатталған жағдайға әкелуі мүмкін.

22.

Байланыс арналары арқылы ақпарат беру
Байланыс арналары келесі негізгі себептерге байланысты процестердің
байланыс құралдары арасында кең таралды:
Операциялық жүйе байланыс арналарының жұмысын басқару үшін
қажетті негізгі операциялардың жиынтығын қамтамасыз етеді, бұл
оларды пайдалануды жеңілдетеді;
байланыс арналары арқылы процестер арасында ақпарат беру өте
қауіпсіз;
арналардың өнімділігі байланыс желісінің сапасына байланысты және
желіні негізгі жадта ұйымдастырған кезде ортақ жадпен салыстыруға
болады;
байланыс желісін әртүрлі компьютерлерде жұмыс істейтін процестерді
байланыстыру үшін пайдалануға болады, бұл оны әмбебап байланыс
құралы етеді.

23.

Деректерді беру модельдері
Байланыс арналары арқылы деректерді беру үшін деректерді
ұйымдастырудың екі негізгі моделі қолданылады:
енгізу-шығару ағыны;
хабарламалар.

24.

Енгізу-шығару ағынының моделі
■ ОЖ тұрғысынан берілетін деректер құрылымдалмаған байт тізбегі
болып табылады.
■ Операциялық жүйе деректерді түсіндіруді орындамайды және
берілетін ақпаратқа ешқандай қосымша қызметтік мәліметтерді
қоспайды.
■ ОЖ өзара әрекеттесетін процестерге деректердің сипаттамаларын
анықтауға мүмкіндік беретін ешқандай сервистік ақпарат бермейді.
■ Байланыс желісі бойынша берілген деректерді оқыған процесте,
егер бұл мәліметтер өзара іс-қимыл бойынша серіктестер беретін
ағынға енгізілмеген болса, жалпы жағдайда олардың көздері мен
қасиеттері туралы ақпарат болмайды.
■ Операциялық жүйе деректерді берудің дұрыстығын бақыламайды.

25.

Хабарлама моделі
■ Операциялық жүйе процестер арасында деректер алмасу процесін толығымен
бақылайды.
■ Берілетін деректер жеке бөліктерге – хабарламаларға бөлу арқылы құрылымдалады.
■ Әрбір хабарламаның басы мен соңы шектегіштер рөлін атқаратын және деректерді
тасымалдауға жауапты Операциялық жүйе модульдері тани алатын стандартты байт
тізбектерімен белгіленеді.
■ Әрбір хабарламаға хабарламаның көзі мен қабылдағышына, сондай-ақ оның
нөміріне, мөлшеріне, бақылау деректеріне және басқа да қосымша ақпаратқа нұсқау
бар қызметтік деректер қосылуы мүмкін.
■ Хабарламалар бірдей мөлшерде немесе өзгермелі ұзындықта болуы мүмкін.
■ Хабарлама моделі деректерді берудің сенімділігін едәуір арттыруға мүмкіндік береді.

26.

Буферлеу






Буферлеу деп әдетте байланыс желісінің бір процесс арқылы берілген ақпаратты басқа процесс
алғанға дейін немесе аралық сақтау объектісіне орналастырғанға дейін уақытша сақтау
қабілеті түсініледі.
Байланыс желілері буферлік қасиетке ие болуы немесе болмауы мүмкін. Әдетте келесі үш нұсқа
қарастырылады:
нөлдік сыйымдылық буфері немесе жоқ-байланыс желісінде ешқандай ақпарат сақталмайды
және процесс серіктес оларды қабылдауға дайын екенін растаған жағдайда ғана деректерді
жібере алады;
сыйымдылығы шектеулі буфер-байланыс желісі деректердің белгіленген көлемін басқа процесс
алғанға дейін сақтай алады, бірақ буферде бос орын болмаса, жіберуші процесінің жұмысы
тоқтатылуы мүмкін.
шексіз сыйымдылық буфері-ақпаратты жіберетін процесс оны қабылдаудың аяқталуын
ешқашан күтпейді.
Жанама адрестеу арнасының байланыс құралын пайдалану кезінде буфердің сыйымдылығы
әдетте деректерді сақтау үшін аралық нысанға орналастыруға болатын ақпарат мөлшерін
білдіреді.

27.

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

28.

Байланыс хаттамасы








Сенімділігі төмен болған кезде ОЖ байланыс құралдары мен өзара әрекеттесетін процестер
деректердің сенімді берілуіне кепілдік беретін әрекеттерді қабылдауы керек. Мұндай
әрекеттердің жиынтығы әдетте байланыс ХАТТАМАСЫ деп аталады.
Хабарламалар моделін қолданатын байланыс желілері үшін алмасу протоколдары ең
қарапайым түрде жүзеге асырылады.
Хаттаманың негізгі принциптері:
әрбір жіберілген хабарлама үшін деректерді жіберген процесс қабылдау туралы растауды алуы
керек;
егер растау алынбаса, онда деректер жоғалған болып саналады және хабарлама қайта
жіберіледі;
хабарламаны алған кезде оның дұрыстығы бақылау кодтары арқылы бақыланады және алғаны
туралы растау деректер бүлінбеген жағдайда ғана жіберіледі;
бір ақпаратты екі рет алу хабарламаларды нөмірлеу арқылы алынып тасталады.
Байланыс хаттамаларын қолдану физикалық байланыс желісі сенімді болмаса да, өзара
әрекеттесетін процестер арасындағы сенімді байланысты қамтамасыз етуге мүмкіндік береді.
English     Русский Rules