К оммутатор ды пайдалану мысалы 4 страница



Кілттік сөздер: ресурс, пакеттік өңдеу, уақытты бөлу, шынайы уақыт жүйелері, режим, мультибағдарламалау, енгізу-шығару процессоры, нұсқаулар, ағын, үрдіс, сыртқы жады, блок, индекс

Дәріс жоспары (2 сағат)

1. Үрдіс ұғымы. Көпағындықты қолдайтын үрдістер. Үрдістерді диспетчерлеу. Үрдістерді жүргізушілер және үлестіруші жоспарлаушылар. Үрдістер мен кезектер арасындаы статикалық және динамикалық байланыс.

2. Жүйелік деректер және ОЖ ядросы үстірттері (примитивов) құрылымдарымен жоспарлаушының өзара әрекеті.

3. Unix-тегі үрдістерде ядро мен қолданушы құраушылары. Сигналдар коммутацияның қарапайым құралдары ретінде.

4. Деккер алгоритмі. Бұғаттаудың түрлері. Семафоралар.

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

Мультибағдарламалау

мультибағдарламалау немесе көпесептілік (multitasking) дегеніміз бұл бір процессорде бір уақытта бірнеше бағдарламаның жұмыс істеуін қаматамасыз ететін есептеу үрдісін ұйымдастыру. Бұл бағдарламалар тек қана процессорды емес сонымен қатар оперативті және сыртқы жады, енгізу-шығару құрылғылары, деректер секілді клмпьютердің басқа да ресурстарын қолданады. Мультибағдарламалау негізінен есептеу жүйесінің тиімділігін арттыруға негізделеді, бірақ тиімділік әр түрлі мағынада түсіндірілуі мүмкін. Есептеу жүйесінің тиімділігін барынша арттыратын негізгі критерийлер төмендегілер:

- өткізу қабілеті – уақыт бірлігіндегі есептеу жүйесімен орындалатын есептер саны;

- қолданушылар жұмысының ыңғайлылығы – біруақытта бір машинада отырып бірнеше бағдарламалармен жұмыс істеу мүмкіндігі.

- Жүйенің реактивтілігі – жүйенің алдын-ала берілген бағдарламаны жүктеу мен нәтижені алу аралығындағы интервалды ұстау қабілеті.

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

Пакеттік өңдеу жүйелеріндегі мультибағдарламалау

Мультибағдарламалауды қолдану барысында компьютердің өткізу қабілетін арттыру үшін басты мақсат компьютердің барлық құрылғыларының, соның ішінде процессордың тұрып қалуын барынша азайту болып табылады. Мұндай тұрып қалулар есептің ішкі, мысалы өндеу үшін деректердің енгізілуін күтуі сияқты себептеіне байланысты пайда болуы мүмкін. Деректер дискіде сақталуы немесе оларды терминалда жұмыс істеп отырған қолданушы енгізуі мүмкін. Сонымен қатар, ішкі техникалық объектілерде орналасқан өлшеу аппараттарынан да берілуі мүмкін. Мұндай тұрып қалулар барысында, жұмыс тиімділігін арттыру үшін процессорге өңделетін деректері дайын тұрған басқа есептерді шешуге ауыстыру керек. Мультибағдарламалаудың мұндай концепциялары пакеттік жүйелер деп аталатын ұғымның негізін құрайды.

Пакеттік өңдеу жүйелері негзінен есептеуге арналған, яғни нәтижелердің тез алынуын талап етпейтін есептерді шешуге арналған. Пакеттік өңдеу жүйелерінің басты мақсаты мен критериі максимальді өткізу қабілеті, яғни уақыт бірлігінде барынша көп есептерді шешуі.

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

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

Мұндай бірігу әр түрлі әдістермен жүзеге асады. Бұлардың бірі арнайы енгізу-шығару процессорымен жабдықталған компьютерлерге тән. Мэйнфреим класындағы компьютерлерде мұндай үрдістерді каналдар деп атайды. Әдетте каналдардың орталық процессордің командалар жүйесінен өзгеше өз командалар жүйесі болады. Бұл командалар сыртқы құрылғылармен жұмыс істеу үшін арналған, мысалы «құрылғының жағдайын тексеру», «магнитті басушы инені орнату», «беттің басын орнату», «жолды басып шығару». Каналдық бағдарламалар орталық процессордың бағдарламалары орналасқан оперативті жадыда сақталады. Орталық процессордың командалар жүйесінде каналға қандай енгізу-шығару бағдарламаларын орындау керектігіне бағыт беретін нұсқау қарастырылады. Осы сәттен бастап орталық процессор мен канал параллель жұмыс істей алады (1а-сурет).

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

 

Енгізу/шығару  
Есептеу  
Каналдық програманы жүктеу командасы
Енгізу/шығару операциясының аяқталу сигналы
Орталық процессор
канал
а
Есептеу  
Орталық процессор
қадағалаушы
б
Құрылғының дайындығы туралы сигнал
Енгізу/шығару командалары
Енгізу/шығару операциялары
Сурет 1. Есептеу мен енгізу/шығару операцияларының паралель орындалуы

 

 


Көптеген сыртқы құрылғылар электромеханикалық тораптарды қамтитындықтан қадағалаушы құрылғыларды басқаратын өз командаларын, орталық процессордың өз командаларын орындауынан айтарлықтай ақырын орындайды. Бұл жағдай есептеу мен енгізу/шығару операцияларын паралель орындауды ұйымдастыруға қолданылады: қадағалаушыға команда беру аралығында процессор есептеуді орындай алады (Сурет 1). Қадағалаушы орталық процессорға келесі команданы қабылдауға дайын екендігін үзіліс сигналымен хабарлауы мүмкін немесе орталық процессор бұл жайлы қадағалаушының жағдайын ауық-ауық сұрай отырып өзі анықтайды.

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

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

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

Уақытты бөлу жүйелеріндегі мультибағдарламалау

Қолданушының жұмысының тиімділігі мен қолайлылығын арттырудағы мультибағдарламалаудың тағы бір әдісі – уақытты бөлу. Уақытты бөлу жүйелерінде қолданушыларға (немесе жалғыз қолданушыға) бірнеше бағдарламалармен интерактивті жұмыс істеу мүмкіндігі беріледі. Бұл үшін әр бағдарлама ауық-ауық қолданушымен «сұхбаттасып» отыруға мүмкіндік алуы керек. Пакеттік өңдеу жүйелерінде бағдарлама мен қолданушылар арасында «сұхбат» жүргізу мүмкіндігі мүлде шектеулі екендігі белгілі.

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

Үрдістер мен ағындарды жоспарлау

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

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

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

Үрдістің әр аяқталуынын кейін, операциялық жүйе оның жүйеге «ену іздерін тазарту» қадамдарын ұйымдастырады. Үрдістерді басқару жүйасты жүйесі процесс жұмыс істеген барлық файлдарды жабады, оперативті жадының кодтарға, деректерге және ақпараттық құрылымдарға берілген облыстарын босатады.

«Үрдіс» пен «ағын» ұғымдары

Мультибағдарламалауды қолдау үшін, операциялық жүйе процессор мен компьютердің басқа да ресурстарын өзара бөлісетін жұмыстың ішкі бірліктерін анықтап және нақтылап алуы керек. Қазіргі таңда операциялық жүйелердің көпшілігінде жұмыс бірлігінің екі түрі анықталған. Әдетте «үрдіс» атауын алып жүрген жұмыстың айтарлықтай үлкен бірлігі, өзінің орындалуы үшін «ағын» немесе «жіп» деп аталатын бірнеше ұсқақ жұмыстарды қажет етеді.

Сонымен, «үрдіс» пен «ағын» ұғымдарының нақты айырмашылықтары неде?

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

Үрдістер мен ағындар қатар кездесетін операциялық жүйелерде процесс процессорлық уақыттан басқа барлық ресурстарға сұраныс ретінде қарастырылады. Ал ең маңызды ресурс болып табылатын процессорлық уақыт жұмыстың басқа бірліктері ағындармен анықталады. Ағын деген ұғымның өзі командалар тізбегі (орындалу ағыны) деген мағынаны береді.

Қарапайым жағдайда үрдіс  тек бір ағыннан ғана тұрады. Мұндай кезде «ағын» ұығымы «үрдіс» ұғымымен толық жұтылады, яғни тек бір ғана жұмыс бірлігі – «үрдіс» ұғымы ғана болады.


Дата добавления: 2022-01-22; просмотров: 20; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!