Үрдістерді басқару



бет1/2
Дата17.02.2024
өлшемі26.22 Kb.
#492248
  1   2
лекция 3

3–ші дәріс. Үрдістерді басқару мен ұйымдастыру. Үрдіс және ағын үлгісі. Үрдіс аралық және санашық аралық әрекеттестік. Үрдіс мәнмәтінінің құрылымы.


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


Үрдіс ұғымы – бұл барлық ОЖ–де орындалатын бағдарламалардың көрінісі. Үрдіс – қорларды меншіктеуге құқығы бар бағдаралама.
Үрдістерді басқару:

  1. Орталық санашықтың уақытын қолдану арқылы;

  2. Енгізу буфері және аударыстыру арқылы;

  3. Бөлінетін қорлар арқылы.

Үрдісті басқарудың негізгі мәселелері. Біріншіден – орталық санашықтың (ОС) уақытын қолдану арқылы басқару немесе бұл мәселені ОС жобалау деп атайды, яғни қандай уақытта қай есеп немесе қай үрдіс ОС басқарады (қандай үрдісте ОС жұмыс істейді).
Екіншіден – Енгізу буфері және аударыстыру арқылы басқару. Мысалы бірнеше адам, бір курс студенттері компьютердің алдында отыр және барлығы бір уақытта бір есепті үрдіс түрінде іске қосты делік. Жүйеде көп есеп пайда болады (жүзден аса). Ал барлық есептеу жүйесі жүз есеппен мультибағдарламалық режимде жұмыс істеуді қабылдай алмайды, ол өте ауыр. Бұл жағдайда есепті енгізу буфері, яғни үрдістер буферде санашық арқылы өзінің өңделіп босатылуын күтетін үрдістер түзеледі. Осы буферде өңдеуді бастау үшін үрдістердің орындалу кезегін таңдау мәселесі туындайды. Бұл мәселе буфердің жоспарлануы болып табылады.
Енді жоспарлау аударыстыру есебін қарастырамыз. Санашық арқылы бірнеше үрдістер өңделеді және бізге нақты жедел жадыны басқада есептер үшін босату мәселесі туындайды. Бұл жағдайда өңделген есептердің кейбірін ішкі есте сақтау құрылғысына жіберу қажеттілігі туындайды. Қандай алгоритм арқылы бұл есептерді жібере аламыз? Жіберудің бағыт – бағдары қандай болады? Мысалы әр жұп есептерді жіберуге болады. Үрдістерді жіберуді ұйымдастырудың қайсысы тиімді – бұл негізгі мәселе.
Үшіншіден – бөлінетін қорларды басқару. Қорлар жиынына қатынау белгілі бір уақытта әртүрлі үрдістер атынан ұйымдастырылады. Бұл баспа құрылғысының қақтығысы сияқты. Функциялар көбінде ОЖ– нің қасиеттерін анықтайды, бұл функция үрдістердің қарым – қатынасын ұйымдастыруды және ортақ қорларды қолдануды қастамассыз етеді. Мысалдағы баспа құрылғысының мәселесі тез шешіледі, ал егер екі бағдарламаның жедел жадыда ортақ үзіндісі болса онда бөлінетін қорларды басқару – күрделі есеп.
Енді ОЖ құрылымын қарастырайық. Тәжірибе жүзінде кез – келген ОЖ ядро ұғымына ие. ОЖ ядросы – оның резидентті бөлігі болып табылады, ал жіберу үрдісіне қатыспайды (үнемі жедел жадыда болады) және ОЖ режимінде жұмыс жасайды немесе супервизор режимінде. ОЖ– де негізінен ядро құрамына басқарудың базалық құралы енгізілген және бірнеше физикалық құралдарды басқаруды қамтамассыз ететін бағдарламалар жиынтығы енуі мүмкін. Ядроның негізгі қызметіне көбінесе үзуді өңдеу кіреді. Біз бағдарламаларды кейде қорларды басқарушы, құрылғылар драйверлері (физикалық және логикалық) деп атаймыз. Мысалға, ОЖ ядросына жедел есте сақтау құрылғысының драйвері болуы қажет.
Сонан соң есептеу жүйесінің қорларын басқару бағдарламалары ядроның айналасында жетілдіріледі. Бірінші деңгей негізінен физикалық құрылғылардың драйверлерінен тұрады. Келесі деңгей логикалық құрылғыларды басқару. Осындай деңгейлер көп болуы мүмкін. Мысалы біздің сұлбада файлдарды басқару драйверлері пайда болуы мүмкін, олар логикалық дискті басқару драйверлерімен байланысты, ал басқалары өз кезегінде нақты физикалық құрылғылар драйверімен байланысты. т.с.с. ОЖ– нің барлық компоненттері супервизор режимінде және операциялық жүйе режимінде жұмыс істеуі міндетті емес. Ядродан логикалық қашық орналасқан компоненттердің көпшілігі қарапайым қолданбалы режимде жұмыс істей алады. Сол сияқты ОЖ–нің барлық компоненттері резидентті режимде жұмыс істеуі міндетті емес. Функциялардың көпшілігіне бұл талап етілмейді.
Бағдарламалық модульдердің құрылымдық ұйымдастыру түрлері.
Құрылымды барлық бағдарламалық есеп кодтары орындалуға арналғанда келесі көрсетілген құрылымдардың бір варианты ретінде қарастыруға болады:
1. Қарапайым бағдарламалық құрылымдар. Бұл құрылымда барлық операторлар бөлінбейтін модуль ретінде жасалынады, орындалу алдында жадыға толық жүктеледі және іске қосылған соң басқа бағдарламалық модульдерге қатынамайды.
2. Оверлейлік құрылым. Бұл жағдайда бағдарламалық блок белгіленген модульдерге бөлінеді. Негізгілері түпкі деп аталады және қабысу модульдерін шақыру координациясын орындайды. Қабысу модульдері бір мекнде орналасады және бір уақытта жадыда бір модульден артық модуль орналаспайды. Бұл құрылым сілтеме кестесі арқылы сипатталады. Онда рұқсат етілетін және ескерілмейтін сілтемелері анықталады. Ескерілмейтін сілтемелерде негізгі шақыруға болатын модульдер көрсетіледі, ал айыруда шақыруға болатын модульдер көрсетіледі. Түпкі модуль тұрақты жадыда орналасады және ол арқылы барлық жүктелетін модульдер орындалады. Бұл құрылым жады бойынша үнемді, бірақ егер ұйымдастыру дұрыс болмаса, онда шақырылған модульдерінің жүктелуіне көп уақыт кетеді.
3. Динамикалы тізбекті құрылымының ұйымдастырылуы.
Link және Load операторлары арқылы жүзеге асырылады. Бұл операторлар арқылы шақырылған модуль жадыда орналасқаны анықталады. Егер модуль жадыда орналасса, онда Link командасы басқаруды оған береді, ал егер Load команадасы болса онда модульге қатынау күтілуде.
Бұл операторлардан басқа sare және return командалары қолданылады.
Sare– шақырылған модульді тізбекті бастайды, ал return– модульді аяқтайды.
Sare командасы арқылы үзу нүктесі сақталады, ал return сол нүктеге қайтуды ұйымдастырады.
Кемшілігі: Басқа модуль бір модульды шақыру кезінде жүктеуді күтуге уақыт кетеді.
Бұл кемшілікті жою үшін динамикалы параллель құрылымы қолданылады, ол бағыныңқы есеп механизмы арқылы орындалады.
Бұнда нақты үрдіс арнайы команда арқылы ағындарды немесе бағыныңқы есептерді құрады, олар фондық орындалуға арналған.
Фон ретінде түсініктеме ол нақты үрдістің параллельді басқа бір берілген үрдіспен орындалуы.
Бұл жағдайда арнайы синхрондау операторлары қолданылады, олар құрылған ағынның үрдіспен әрекеттесу ережелерін анықтайды, мысалы, wait, post операторлары. Одан басқа үрдістерді басқаруға бағдарламалық модульдерге қатынасу принциптері әсер етеді. Олар бірнеше типті болуы мумкін:

  1. қайта–атқаратын бағдарламалық модуль;

  2. қайта–жүктелетін модуль;

  3. бағдарламалық модульдердің ұйымдастыруының реентерабельдік принципі.

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

  • аймақтың алғашқы мекені болып келетін үрдісті басқарудың блок мекені;

  • келесі басқару блогіна көрсеткіш (ағымды және келесі кезектерде);

  • ағымдағы артықшылық;

  • ағымдағы кезектің идентификаторы;

  • үрдісті туындайтын идентификатор;

  • қосарлана туындалатын жағдай коды;

  • ағымдағы жағдай статусы;

  • жағдай мәніне арналған уақытша буфер;

  • мәліметтер үрдісіне арналған жұмыс аймағы;

  • мәліметтерді басқарудың блок мекені (жұмыс кестесі);

  • қорлар жәйлі мәліметтерге арналған уақытша буфер;

  • жүйелік қызметке қатынау кезінде қайтарылатын мәніне арналған уақытша буфер.

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

  • оверлейлік аймақтар үшін арналған жұмыс кестесі.

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


Достарыңызбен бөлісу:
  1   2




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

    Басты бет