Главная страница
Контакты

    Басты бет


БАҒдарламасы ( Syllabus ) Павлодар, 2014ж Пән бағдарламасы (Syllabus) ф фсо пгу 18. 4/19 бекітемін фмжат факультетінің деканы Н. А. Испулов

жүктеу 1.37 Mb.



жүктеу 1.37 Mb.
бет6/10
Дата09.03.2017
өлшемі1.37 Mb.

БАҒдарламасы ( Syllabus ) Павлодар, 2014ж Пән бағдарламасы (Syllabus) ф фсо пгу 18. 4/19 бекітемін фмжат факультетінің деканы Н. А. Испулов


1   2   3   4   5   6   7   8   9   10

Үрдістің біресепті және көпесепті орындалуы. Есепті көппроцессорлы шешуді басқару тәсілдері.

Көпесептілік. Санашық бір уақытта тек бір ағынды орындайды.

Ағынды (Сток) - атмосфералық жауын-шашын суларының қайсыбір беттен (беткі ағынды), қайсыбір көлемнен, жер қабығының бір қалындығынан (соның ішінде жер асты ағынды) немесе жиынтық түрде қайсыбір аумақтан (алаптан және т.б.)

Бірақ көпесептілік операциялық жүйеде пайдаланушыға бірнеше программаларды пайдалануға мүмкіндік береді:

  • бір қордың босағанын немесе ағынның орындалуы үзілгенше ағын қолданылады;

  • ағынның мәнмәтіні сақталады;

  • ағынның мәнмәтіні жүктеледі;

  • орындалуды күткен ағындар бар болғанша бұл қайталау қайталанады.

Санашықтың бір ағынды орындау кезінде басқа ағынның орындалуын

қайта қосылуын мәнмәтінің қайта қосылуы дейміз.

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

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

NT орындалу жүйесі – ығыстыратын көпесептілік жүйесі және Windows негізгі ортасы мен Win32 бағыныңқы жүйесі болып табылады. Ығыстырмайтын Windows версиясында MS DOS-қа көпесептілікке жету үшін, ағын өз бетінше санашықтың басқаруын беру қажет. Нашар программалар басқа қолданбаларға немесе жүйе кедергі жасап санашықты жаулап алуы мүмкін еді.

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

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

Компилятор (compiler; compiling programm - компиляциялаушы программа) - 1) жоғарғы деңгейлі программалау тілінде жазылған алғашқы программаны машиналық тілге (алгоритмдік тілдер, түсіндіргіш, аударғыш) түрлендіруді орындайтын компьютердің жалпы математикалық жасақтамасының құрамды бөлігі.

Осыған ұқсас екі немесе бірнеше орында бір уақытта орындалатын қолданбаларды, параллельді қолданбалар дейміз. Бір санашықты компьютерде параллельді қолданбалар пайдалы, ал көпсанашылықтарда ол өте пайдалы.



Көпағындық. Параллельдікке жету үшін екі үрдісті қолдану барлық жағдайда тиімді емес. WinNT бұл проблеманы шешу үшін ыңғайлы жадыны бірігіп қолданатын механизмдерден құрады. Бұл механизмдерді қолданған жағдайларда да басқа проблемалар болуы мүмкін, сол жағдайда параллельдікке жету үшін көпағынды үрдіс қолданылады.

Көпағынды үрдістің екі немесе бірнеше ағындары болады олар бірігіп бір адрестік кеңістікті және қорды қолданады.

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

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

Параллелизм (гр. parallelismos > parallelos - қатар жүруші, симметрия) - бір-біріне уқсас құрылымды сөйлемдер мен сөз тіркестерінің, формалас сөйлем мүшелерінін қабаттаса қатар қолданылуы. Мысалы: Ереуіл атқа ер салмай, Егеулі найза қолга алмай, Еңку-еңку жер шалмай (Махамбет).

Көпағындық үрдістер параллельдікке жетеді және екі үрдісті қолдануымен байланысты кемшіліктері жоқ. Ағындар үрдіске қарағанда тез құрылады. Одан бөлек үрдістің ағындары бір жадыны қолданады, өздерінің стегі және регистр мәндерін алып тастағанда. Ерекше деректер алмасу механизмін керек етпейді. Бір ағын өзінің нәтижесін жадыға жазады, ал екінші ағын оларды оқиды. Сонымен бірге үрдістің барлық қорлары оның барлық ағындарымен бірдей қолданылады. Ағындардың орындалу кезегін анықтау үшін ядро пұрсаттылыққа негізделген сұлбасын қолданады. Пұрсаттылығы жоғары ағын пұрсаттылығы төмен ағыннан бұрын орындалады, ядро ағындардың пұрсаттылығын өзгертіп тұрады, сол арқылы олардың бәрінің орындалуына кепілдік береді.

Көпағынды үрдісті қолдану – серверлі қолданбаларға тиімді шешім, ол клиенттерден сұраныс қабылдайды және әр сұраныс бойынша бір кодты орындайды.

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

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

WinNT –де параллельдікке жету үшін екі үрдісті қолданады олар арнайы арналар арқылы әрекеттеседі. Сондықтан WinNT бағыныңқы жүйелері бөлек серверлі үрдістер ретінде жүзеге асырылған және қорғалған деп аталады.



Өз-өзін бақылау сұрақтары

  1. Үрдіс пен ағынның түсініктемелері

  2. Үрдіс диспетчері және атрибуттары

  3. Үрдіс мәнмәтіні дегеніміз не?

  4. Үрдіс дискрипторының түсініктемесі

  5. Мәнмәтіннің қайта қосылуы дегеніміз не?

  6. Көпесептілік ненің арқасында орындалады?

  7. Көпағындықты қолдану нені көрсетеді?

  8. Арна дегеніміз не, не үшін қолданылады?

  9. Үрдістер қандай топтарға бөлінеді?

  10. Сигнал түсініктемесі.

  11. Үзу түсініктемесі және оның алыптастау мен айырмашылығы

  12. Үзу деңгейлері

  13. Параллельді үрдістердің синхрондау тәсілдері

  14. Мультипрограммалық режимнің мультиесептік режимнен айырмашылығы

  15. Монолитті және микроядерлі жүйелерге мысал келтіріңіз

  16. Құрылымдық ұйымдастырудың типтері

  17. Нақтылы уақыт операциялық жүйесінің критерилері

  18. Уақыт бөлу ОЖ қандай режимде жұмыс жасайды?

Ұсынылатын әдебиеттер

  1. Э. Таненбаум. Современные операционные системы. СПб, Питер, 2002, 1040 стр.

  2. Н.А. Олифер, В.Г. Олифер Сетевые операционные системы. СПб, Питер, 2001, 544 стр.

3 тақырып. Енгізу-шығару жүйесін басқару

Мақсаты: Осы лекцияда cинхронды және асинхронды енгізу-шығару; енгізу-шығарудың басқару режимдерімен; еркін және тізбекті қатынас құру тәсілдерімен; енгізу-шығаруды қорғау тәсілдерімен танысу.

Қарастырылатын сұрақтары:

  1. Енгізу-шығару жүйесін басқару.

  2. Синхронды және асинхронды енгізу-шығару.

  3. Енгізу-шығаруды диспетчерлеу.

  4. Еркін және тізбекті қатынас құру тәсілдері.

  5. Енгізу-шығару ағындары.

  6. Енгізу-шығаруды қорғау тәсілдері.

Енгізу-шығару жүйесін басқару – ол ОЖ-гі негізгі функцияларының бірі

және ОЖ жобалауының ең қиын аймақтарының бірі.

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

Қолданбалы бағдарлама(Прикладная программа; application program) - 1) пайдаланушының қолданбалы мәселелерді шешуге арналған программасы; жұмыс істеуші адамның нақты тапсырмасын орындайтын дестелік файлдағы программа.

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

Қолданбалы программалар өздері енгізу-шығару құрылғылары тікелей байланысалмайды. Енгізу-шығару сұрауына керек мәндерді орнатып, енгізу-шығару супервизорына басқару беріледі.

Енгізу-шығаруды басқару режимдері. Екі негізгі енгізу-шығару режимі бар: енгізу-шығару құрылғыларының дайындығын сұрату алмасу режимі және үзілісі бар алмасу режимі.

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

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

Ортақ енгізу-шығару құрылғылары, құрылғылырды жалғау.

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

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

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

Спулинг дегеніміз – операциялайтын режімде құрылғылармен жұмыс имитациясы.

Спулингтің негізгі жұмысы тізбекті қатынайтын құрылғыларының параллельді бөлуінің көрінісін ұйымдастыру. Бірақ олар монопольді және жалғанған ретінде қолдану қажет.

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

Принтер (ағылш. printer) - мәтін мен кескіндерді қағазға немесе басқа да басып шығарылатын арқауларға шығаруға арналған құрылғы, ЭЕМ-ның ақпарат басып шығаруға арналған перифериялық құрылғыларының бір түрі.

Содан соң виртуалды басу аяқталған соң қабылданған пұрсаттылықтармен және қызмет көрсету пәні бойынша спул файлдің мәні принтерге жіберіледі. Спул файлымен басқаратын жүйелік үрдіс – спулер деп аталады (Spool-reader немесе spool-writer).

Программисті компьютерге орнатылған енгізу-шығару құрылғыларының параметрлері және олардың мүмкіншіліктері мүмкіншілік болғанша ойландырмау керек. Оған тек қолданатын енгізу-шығару құрылғыларының жалпы мүмкіншіліктері қажет. Мысалы, принтер басуді білу қажет, ал магниттік дискіде жинақтауыш берілген адрес бойынша (С-N-S) координаты, цилиндр нөмірі, бас тиек нөмірі және сектор нөмірі) деректерді жазу және оқу қажет.

Сектор (sector) - пішімдеу кезінде қатқыл немесе иілгіш дискіде жасалған центрлес жолшықтардың біреуінің сегменті; магниттік диск бетіндегі концентрлік шеңбер бойын қуалай орналасқан сызық жолға жазылатын ақпараттың негізгі бірлігін (ең аз көлемін) сақтайтын оның бір бөлігі.

Цилиндр (көне грекше: κύλινδρος - білік, цилиндр) цилиндр немесе цилиндрлік бет - берілген бағытқа параллель және бағыттауыш сызық арқылы өтетін кеңістіктің жасаушы түзулерінің жиыны; тұйық цилиндрлік бетпен және өзара параллель екі жазықтықпен (Цилиндр табандары) шектелген дене .

Негізгі болып саналатын ол жинақтауыштың бары және оның цилиндрінің жазу-оқу бас тиегінің және магниттік диск жолының секторларының бірнеше сандарының болуы цилиндрдің, бас тиектің және магниттік диск жолының секторлардың бірнеше сандарының мәні жабдық кестесінен алынуы мүмкін.

Жабдық - бір нәрсеге керек механизмдер, тетіктер, әр түрлі құралғылар жинағы.

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

Виртуалды құралғыға сәйкес нақты құрылғы кесте арқылы супервизормен таңдалады. Сонымен құрылғының қосылу тәсілі, оның мoделі және оған сәйкес драйверлер бірінші жабдық кестесінде анықталады. Ол виртуалды құрылғыны жүйелік кестесімен байланыстыру үшін екінші жүйелік кестесі қолданылады. Шартты біз оны виртуалды логикалық құрылғының сипаттама кестесі дейміз (DRT – device reference table)

Енгізу-шығару үрдісін басқару.

1 - әрекет. Орындалып жатқан программадан енгізу-шығару операциясына сұраныс супервизорға түседі.

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

2 - әрекет. Егер сұраныс дұрыс болса, онда есеп енгізу-шығару супервизорына бағытталады.

2.2- әрекет. Супервизор виртуаль аты арқылы (DRT кестесінен құрылғы кестесіне сәйкес UCB элементін табады. Егер құрылғы бос болмаса, онда есеп сипаттаушы құрылғыны күтіп есептер тізіміне орналастырады.

3 - әрекет. Егер құрылғы бос болса, онда енгізу-шығару супервизоры UCB –дан құрылғының типін анықтайды, және қажет санашықты іске қосады, ол құрылғыны түсінетін және орындайтын басқару деректерін және кодтарын ашуға береді.

4 - әрекет енгізу-шығару басқаратын «программа» дайын болған кезде енгізу-шығару супервизоры басқаруды сәйкес драйверіне береді (іске қосу секциясы).

Секция (бөлім), дағдарыстық секция (секция, критическая секция; section critical section) - басқа асинхронды процедурамен немесе сол асинхронды программаның белгілі бір бөлігімен қатар орындала алмайтын асинхронды процедура бөлігі.

5 - әрекет. Драйвер басқару операциясын инициализациялайды тайм-аут санауышын нөлдейді және санашыққа орындалуға дайын есепті қою үшін супервизорға (есеп диспетчеріне) басқаруді қайтарады.

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

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

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

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

Асинхронды енгізу-шығару мультипрограммалық ОЖ қолданылады, әсіресе егер олар трелтер механизмі арқылы қолданылса.

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

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

Есептерді динамикалық жоспарлау үрдістерді жоспарлауға қарағанда тиімді үлестіру әр жағдайда болады. Есептің динамикалық жоспарлауын диспетчерлеу деп атайды. Орындалып жатқан үрдістермен ағындар арасында ағымдағы қорларды үлестіруден жоспарлау көп ұйымдастырылады.

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

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

1. SSTS (shotest seek time-firsy)-бірінші-минималды іздеу уақытымен. Бұл пән бойынша


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

  1. Scan (сканерлеу)-бұл пән бойынша бастиек бірде бір бағытта, бірде басқа бағытта жылжиды. Жолда сәйкес сұраныстарды орындайды. Егер оқу-жазу бастиегінің жылжу кезінде сәйкес сұраныс болмаса, онда ол кері бағытта жылжиды.

  2. Next-Step-Scan-алдыңғы пәннен айырмашылығы ол жылжыту кезінде тек қана сол уақьттта болған сұраныстарды орындайды.

    Жылжыту (Подкачка; paging, swapping) - виртуальдық жадтың беттерін немесе сегменттерін ауыстыру; осы сәтте жедел жадқа қажетті ақпаратты орналастыруды жасақтайтын жедел жад пен сыртқы жад арасындағы мәселелер тіркесін ауыстыру.

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

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

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

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

Сондыктан ең негізгі болып келесі әдіс саналады: енгізу-шығаруды басқаратын операциялар привилегиялық деп аталады және операциялык жүйенің коды аркылы орындалады.

Қолданбалы программалар өздері енгізу-шығару құрылғыларымен тікелей байланысалпайды. Енгізу-шығару сұранысына керек мәндерді орнатып, енгізу-шығару супервизорына басқару беріледі.

Қордын негізгі түрлерінің бірі ол санашықтық уақыт. Есептеу жүйесіндегі қордын екінші түрі ол жады.

Жады және қатынау (деректерге қатынау үрдісі) олар әртүрлі қор болып саналады. Бұл қорлар бір бірінен бөлек қолданыла береді. Бірақ сыртқы жадының толық жұмысы орындалу үшін бұл қордың екеуі де керек. Тікелей қатынау механизмі қолданылса сыртқы құрылғылар параллельді болінуі мүмкін.

Бөлінетін құрылғыларға мысал келтірсек ол компакт-дискілерді қоятын құрылғы. Бұл тік қатынас құратын құрылғы.

Егер құрылғы тізбекті қатынау механизмі арқылы жұмыс жасайтын болса, онда ол кор бөлінбейтін кор, мысал келтірсек ол баспалар.

Ең қажетті қорлардын бірі ол программалық модуль. Программалық модульдер бір рет және бірнеше рет қолданылатын болып бөлінеді.

Жүйелік бір рет қодданылатын программалық модульдер ОЖ-е жүктелу кезінде қолданылады.

Бірнеше рет (қайталап) қолданылатын программалық модульдер привиллегиялық, привиллегиялық емес және рентабельдік болуы мүмкін.

ІІривиллегиялық программалық модульдер привиллегиялық режимде жұмыс жасайды.

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

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

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

Нұсқау (Инструкция; лат. instructio - құру, ереже) - әскердің (күштің) қандай да бір жағын реттейтін немесе ұрыс құралдарын қолдану мен пайдалану мәселелері бойынша толық нұсқаулары бар құжат. Нұсқау мемлекеттің қолданыстағы заңдары, үкіметтің қаулылары, бұйрықтар мен директивалар, жарғылар мен басшылыққа алынатын құжаттардың негізінде шығарылады, Нұсқауды шығару құқығы қорғаныс министріне, оның орынбасарларына, қарулы күштер түрлерінің бас қолбасшысына, әскер түрлерінің (арнайы әскер түрлерінің) қолбасшыларына (бастықтарына) берілген. Нұсқауда әдетте жойғыш құралдарды қолдану және ұрыс қимылдарын қамтамасыз ету (бомба тастау бойынша нұсқау), жауынгерлік дайындықты қамтамасыз ету (жаттығу және ұрыс атыстарын ұйымдастыру және өткізу бойынша нұсқау) мәселелері көрсетіледі. Мұнда, сонымен қатар, қандай да бір қызметгі реттейтін ережелер мен нормалар айтылуы мүмкін (әскери тасымал құжаттарын есепке алу тәртібі, оларды ресімдеу мен пайдалану және әскери тасымалдардың төлемақысы туралы нұсқау). Қорғаныс министрлігінің орталық аппараттарындағы органдары шығаратын әскерлердегі (флот күштеріндегі) нұсқаулардан басқа, әскер қызметіне катысты, мысалы, полк кезекшісінің нұсқауы, қарауыл бастығының нұсқауы сияқты нұсқаулар дайындалады. Бұл нұсқаулардың мазмұны әскери жарғы талаптары мен әскерді (флот күштерін) орналастыру ерекшеліктерін есепке алуға негізделеді. Нұсқау ережелері міндетті түрде орындалуы тиіс.

Басқа үрдісте орындалып жатқан үрдіс үзіледі және кабылданған сигналды өңдеу қажет.

Бұл операциялық жүйенің үшінші функциясы. Операциялық жүйенің бұндай функциялары оның эксплуатациялық қасиеттеріне әсер етеді. Реалды әр операциялық жүйе көп функциялар жиынынан түрады, олар жүйенің жұмысын қамтамасыз етеді.

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

Магниттік дискідегі жинақтауышты компьютердің орталық бөлігінің шапшандығымен салыстырғанда жылдамдыгы өте төмен. Шапшандыгғының айырмашылығы бірнеше рет. Операцияның орындалу уақыты 0,5 нс болуы мүмкін, ал магниттік бастиектің бір жолшығынан басқа жолшыққа өтуі бірнеше миллисекунд болады. Бастиектің астында оқу/жазу үшін қажег деректер секторын күтуге бірнеше уақыттық интервалы өтеді. Қазіргі жетектерді кездейсоқ таңдалған сектор деректерінің оқылуының орта ұзақтылығы 20 мс болады. Бұл команда және операнд оперативті жадыдан және бүркемеден таңдалуынан әлдеқайда төмен. Бірак, деректер үлкен пакетпен оқылады (сектор размері 512 байт, ал дискімен операциялары кезінде көбінесе оқу немесе жазу бірден бірнеше ссктордан болады).

Байт (Б) (ағылш. Byte, B) - дерек көлемін өлшеу бірлігі. Сегіз биттен тұратын топ.

Сонымен санашықтың оперативті жадымен жұмысының орта жылдамдылығы деректерді сыртқы жадыдан магниттік дискіден оперативті жадыға жіберу орта жылдамдылығынан 2-3 рет жоғары. Осы негізгі бағыныңқы жүйелердің үлкен келіспеушілігін дұрыстау үшін деректерді бүркемелеу немесе буферлеу қолданылады.

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

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

Бүркеме жады-жадының шапшандық аймағы, санашық өндеу алдында деректерді буферлеу үшін қолданылады.

Кейбір ОЖ-де бүркемелеу параметрлерін айқын көрсетуге болады, ал кейбір ОЖ-де бұл параметрлерге ОЖ өзі жауап береді. WNT ОЖ-де файлдық бүркеменің және бүркемелеу параметрлерінің мөлшерін айқын түрде басқаруға болмайды.

Мұнай мен газ қорларын көлемдік есептеу параметрлері. Мұнай кенорнының қорын есептеу параметрлері: Ғ - мұнайлы алаптың ауданы, M2; һ - қойнауқаттың тиімді қалыңдығы, м; j - тиімді кеуектілік; m - мұнаймен қанығу; b - қайтарым коэффиценті; a - мұнайдың меншікті салмағы; һ - қойнауқаттық мұнайдың есептеу коэффиценті.

Win95/98 ОЖ-де бұл мүмкіндік бар, бірак тек қана нақтылы бүркемеге арналған жады мөлшері және буфер молшерін көрсетуге болады. MS DOS операциялық жүйесі жұмыс жасағанда компьютерді кез келген уақытта өшіруге болады, ойткені бұл жүйеде буферлеу жоқ. . UNIX және Windows операциялық жүйелерінде жұмыс уакытында машинені өшіруге болмайды, себебі бұл жағдайда ақпараттың жойылуы мүмкін. Буферлеу деңгейі жүйенің реалды тиімділігін аныктайды.

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


1   2   3   4   5   6   7   8   9   10

  • Өз-өзін бақылау сұрақтары
  • Ұсынылатын әдебиеттер
  • 3 тақырып. Енгізу-шығару жүйесін басқару Мақсаты
  • Қарастырылатын сұрақтары

  • жүктеу 1.37 Mb.