Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Операциялық жүйелерде ағындар есептеулердi қиғаштаудың құралы ретінде пайда болды.






Ә рине, бiр программа шегінде есептеулердi қ иғ аштауды есеп дә стү рлi ә дiстермен де шешiле алады.

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

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

Барлығ ы жоғ арыда айтылғ андай, бір программаның есептеу тармағ ының жеке байланыстарын ескеретін, операциялық жұ йеге процесстермен қ атар есептеу қ иғ аштауының басқ а механизмі керек. Қ азiргi мақ саттар ү шін операциялық жү йелер кө пағ ынды ө ң деу (multithreading) механизмін ұ сынады.Сонымен бiрге, жаң адан жұ мыс бірлігі енгізіледі- орындау ағ ыны, ал «процесс» ұ ғ ымы мағ ынасын ө згертедi. «Ағ ын» ұ ғ ымына процессордың программаның бiр командадан басқ ағ а бір командағ а ө туі сә йкес келеді. ОЖ ағ ындардың, арасындағ ы процессорлық уақ ытты ү лестiредi. ОЖ процесске барлық оның ағ ындарымен қ олданылатын, адрестік кең істік жә не қ орлардың жиынын тағ айындайды.

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

Сонымен, ағ ындардың дең гейдегі мультипрограммалау процесстерге қ арағ анда, тиiмдiрек. Ә рбiр ағ ын меншiктi командалар есептеуiшiн жә не стегін алады. Бiр процесстiң шең берiнде бiрнеше ағ ындар тү рінде ресiмделген амал, оның жеке бө ліктерінің жалғ ан параллель орындалуының арқ асында тезірек орындала алады. Мысалы, егер электронды кесте кө пағ ынды ө ң деудiң мү мкiндiктерiнiң есепке алуымен жасалса, онда қ олданушы ө з жұ мыс парағ ының қ айта есебiн сұ рауғ а жә не бiр уақ ытта кестені толтыруды жалғ астыра алады. Ә сіресе кө пағ ындылық ты таралғ ан қ осымшаларды орындауда тимді пайдалануғ а болады, мысалғ а кө пағ ында сервер бірнеше клиенттерден параллельді тү рде сұ рау жасай алады.

Ағ ындар қ олдануы параллельді есептеулерi арқ асында ж ү йенiң ө нiмдiлiгiн жоғ арылату ғ ана емес, ол оқ ылатынырақ, қ исынды программаларды жасау мақ сатымен.Орындалудың бірнеше агымдарды енгизу программалауды онайлатады.Мысалы, «жазушы-оқ ырман» амалдарында бір ағ ын буферге жазуды, ал келесісі одан оқ иды. Ағ ындарды қ олданудың басқ а мысалы- сигналдармен басқ ару, (del немесе break) клавиатураданды ү зілулерімен. Бiр ағ ынның ү зілу сигналының ө ң деулерi орынына сигналдың тү суiнiң тұ рақ ты кү туiне белгiленедi.Сонымен, ағ ындарды қ олдану қ олданбалы дең гей ү зулерiндегi қ ажеттiлiк қ ысқ арта алады.Бұ л мысалдарда параллель орындаудан қ арағ анда, программаның анық тығ ы маң ызды.

Процесстер мен ағ ындарды жасау. Процессті жасау-бұ л ең алдыменмен процесс суреттемесiн жасауын бiлдiреді, бiр немесе бiрнеше ақ параттық қ ұ рылымдар ретiнде шығ ады,, басқ аруғ а арналғ ан басқ ару жү йесiне қ ажеттi, процесс туралы барлық мә лiметтері бар.Мысалы, мұ ндай мә лiметтердiң санына атқ арылатын модулдың жадындағ ы орналастырылуы туралы процесстiң идентификаторы, мә лiметтер кiре алады, тағ ы сол сияқ тыларды (басымдылық жә не қ ол жеткiзу қ ұ қ ығ ы) процесстiң жең iлдiкпен пайдаланушылығ ының дә режесi. Процесстiң суреттемелерiнiң мысалдарымен OS/360 ішінде (Task Control Block) тапсырманы басқ ару блок болып табылады, OS/2 ішінде (Рсв -Process Control Block Рсв) процессi басқ арушы блок, UNIX ішіндегі процесс дескрипторы, процесс – объектісі Windows NT ішінде, (object-process).

Процесстiң суреттемесiнiң жасау, есептеуiш қ орларғ а жү йедегi тағ ы бiр талапкердiң пайда болуын ө зiменмен белгiлейдi. Осы моменттен бастап ОЖ ресурстарды бө луде, жаң а процесстiң қ ажеттiгiнiң есептеуi тиiс.

Процесстi жасауда берілген процесстiң дискісінен жедел жадысына орындалатын программаның кодтар жә не мә лiметтерін жү ктеуiн талап етеді. Бұ л ү шін дисктегi мұ ндай программаның тұ рғ ан орынын бiлдiруi, жедел жадты қ айта ү лестiруi жә не жаң а процесстiң орындалатын программасына жады бө луі керек. Содан соң оғ ан берілген жадтың бө лiмшелерiнің программасын санау керек жә не, жадыда орналасуына байланысты программаның параметрлерін ө згерту, мү мкіндігі бар.Виртуалды жадысы бар жү йелерде бастапқ ыда процесстiң кодтар жә не мә лiметтерің тек қ ана бө лiгi жү ктеле алады, қ алғ ан «қ осымша жү ктеулер» керек болғ анда.Кейбір жү йелерде процесті жасау барысында кодтар мен мә ліметтерді жедел жадығ а жү ктеуді керек етпейді, бұ ның орнына атқ арылатын модуль бастапқ ыда орналасқ ан файлдық жү йе каталгынан кө шіріледі, жү ктелу облысына-процестердің кодтары мен мә ліметтерін сқ тауғ а арналғ ан дисктегі арнайы облыс.Бұ л барлық ә рекеттердің орындалуы барысында процестермен басқ арудың шағ ын жү йесі жады жә не файлдық жү йемен басқ арудың шағ ын жү йесі тығ ыз ә рекеттеседі.

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

Процесстi жасау. Процесстердi жасауғ а алып келетін ү ш негiзгi оқ иғ алар(fork немесе CreateProcess шақ ыруы):

· Жү йенің жү гінуі

· Істеп тұ рғ ан процесс процесті жасау ү шін жү йелік шақ ыру жасайды

· Процесті жасау ү шін қ олданушының сұ ранысы

Барлық жағ дайларда, белсендi ағ ымдағ ы процесс жаң а процесстiң жасауына жү йелiк шақ ыруды жiбередi. UNIX-та ә рбiр процесске (PID - Process IDentifier) процесстiң идентификаторы тағ айындалады.

Процесстi аяқ тау. Процесстiң тоқ тауына алып келетін тө рт оқ иғ а(exit немесе ExitProcess шақ ыруы):

· Жоспарлы аяқ талу (орындауды аяқ тау)

· Белгiлi қ ате бойынша жоспарлы шығ у (мысалы, файлдың жоқ тығ ы)

· Тү зелмейтiн қ ателiк бойынша шығ у (программадағ ы қ ателiк)

· Басқ а процесспен жою

Уақ ыша тоқ татылғ ан процесс жадтың тү рі деп аталатын(core image) меншiктi адрестi кең iстiгiнен тұ рады, жә не (компоненттердiң санында жә не оның регистрлерi) процесстердiң кестесiнiң компоненттерi.

Процесстердiң иерархиясы. UNIX жү йелердегi процесстердiң қ атты иерархиясы салғ ан. Fork жү йелiк шақ ыруымен жасалғ ан ә рбiр жаң а процесс, алдың ғ ы процесске тә уелдi болады. Аналық тан тә уелді процеске ауыспалылар, регистрлар жә не т.б. тиді. Fork шақ ыруынан кейін, аналық мә ліметтер кө шіріліп алынғ аннан кейін ақ, бiр процесстердегi келесi ө згерiстерi басқ ағ а ық пал етпейдi, бiрақ процесстер қ айсысы аналық екенін есте сақ тайды. Олай болса UNIX –те барлық процесстердiң ата-анасы болып – init процессi табылады.

 

3.1. сурет UNIX жү йесі ү шін процесстер ағ ашы

 

Windows –та процесстердiң иерархиясы деген ұ ғ ым жоқ. Ішкi процессті тексеруге мү мкiндiк беретiн, аналық процесске арнайы таң балағ ышты беруге болады.

Процесстердiң кү йi. Процесстiң ү ш негiзгi кү йлерi болады:

· Орындау (процессорда орналасады)

· Дайындық (процесс басқ а процесске орындалуғ а мү мкiндiк беру ү шiн уақ ытша тоқ таттырылғ ан)

· Кү ту (процесс iшкi себептерге байланысты iске қ осыла алмайды, мысалы, енгізу/шығ ару операцияларын кү туде)

Сурет. 3.2. Кү йлердiң арасындағ ы ө ткелдер болу мү мкiндігі.

 

1. Кiру мә лiметтерiн кү те, процесс қ оршауғ а алынады

2. Жоспарлауышы басқ а процесстi таң дайды

3. Жоспарлауышы бұ л процесстi таң дайды

4. Кiру мә лiметтері келіп тү стi

2 жә не 3 ө ткелдер операциялық жү йесiнiң процесстерiнiң жоспарлауышысымен шақ ырылады, сондық тан бұ л ө ткелдер туралы процесстер білмейді де, процесстердің кө з қ арасы бойынша екi кү йi бар екен олар орындау жә не кү ту.

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

Монитор (monitor)- ақ параттар структурасы мен процедуралар жиынтығ ы жә не де ә р кезде бір ғ ана процесс қ олдануы мү мкін. Маниторды біз бір бө лме сияқ ты елестетсек, онда ол бө лменің кілті болады, ол кілтпен кезек -кезек процесстерді орналастырады.

Мониторғ а ену нақ ты бақ ылауда –ә р уақ ытта бір ғ ана процесске енуге мү мкіндік бар. Монитордың бір процесспен жұ мыс істеуі кезінде келесі бір процессті жіберсек, онда манитор оғ ан тасу режимін қ осады.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.01 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал