Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Бақылау сұрақтары. 1. Процесс жанамасы дегеніміз не?
1. Процесс жанамасы дегеніміз не? 2. Регистрлі жанамасындағ ы кірістегі ақ парат туралы не білесіз? 3. Жү йелік жанамасындағ ы кірістегі ақ парат туралы не білесіз? 4.Мә нмә тіннің қ айта қ осылуы дегеніміз не 5. Кө песептілік ненің арқ асында орындалады 6.Копағ ындық ты қ олдану нені қ ө рсетеді 7.Мә нмә тіннің қ айта қ осылуы дегеніміз не 8.Кө песептілік ненің арқ асында орындалады 9.Копағ ындық ты қ олдану нені қ ө рсетеді 10.Арна дегеніміз не, не ү шін қ олданылады 6-дә ріс. Енгізу-шығ ару жү йесін басқ ару. Синхронды жә не асинхронды енгізу-шығ ару. Енгізу-шығ ару жү йесін басқ ару –ол ОЖ-гі негізгі функцияларының бірі жә не ОЖ жобалауының ең қ иын аймақ тарының бірі. Енгізу-шығ ару қ ұ рылғ ыларының кө птігінен жә не олардың тү рлі табиғ аттарынан қ иыншылық тар туады. Сондық тан ОЖ-ні қ ұ рушылардың арасында оң ай есеп тұ рғ ан жоқ. Олар енгізу-шығ ару қ ұ рылғ ыларының тиімді басқ аруды ғ ана емес қ олданба программистер қ ұ рылғ ылардың тү ріне қ арамастан деректерді оң ай оқ ып, сақ тау ү шін ың ғ айлы, тиімді виртуальды интерфейсті қ ұ ру қ ажет. Бір модельге бірнеше тү рлі қ ұ рылғ ыларды біріктіретін жү йелік енгізу-шығ ару ә мбебап болу қ ажет. Біріншіден ол бар қ ұ рылғ ылардың қ ажеттіліктерін ескеру қ ажет. Екіншіден бірнеше параллель орындалып жатқ ан есептерге енгізу-шығ ару қ ұ рылғ ыларына қ атынауды ескеру қ ажет. Қ олданбалы программалар ө здері енгізу-шығ ару қ ұ рылғ ылары тікелей байланысалмайды.Енгізушығ ару сұ рауына керек мә ндерді орнатып, енгізу-шығ ару супервизорына басқ ару беріледі. Енгізу-шығ аруды басқ ару режимдері. Екі негізгі енгізу-шығ ару режимі бар: енгізу-шығ ару қ ұ рылғ ыларының дайындығ ын сұ рату алмасу режимі жә не ү зілісі бар алмасу режимі. Егер енгізу-шығ ару басқ аруын орталық санашық атқ арса онда ол басқ ару қ ұ рылғ ысына бір енгізушығ ару қ ұ рылғ ысының орындалуына команда береді. Енгізу-шығ ару қ ұ рылғ ысы команданы орындап орталық санашық қ а жә не сигналды басқ аратын қ ұ рылғ ығ а тү сінікті сигнал жібереді. Енгізу-шығ ару қ ұ рылғ ысының жылдамдылығ ы орталық санашық тың жылдамдылығ ынан тө мен. Сондық тан дайындық сигналын кө п кү ту керек, сигнал шық қ анша драйвер еш нә рсе орындамайды. Сондық тан енгізу-шығ ару командасын беріп ол қ ұ рылғ ыны уақ ытша ұ мытып басқ а программаның орындалуына кө шкен жө н. Ал дайындық сигналы шық қ ан кезде оны енгізу-шығ ару қ ұ рылғ ысының ү зуге сұ рау деп санаймыз. Ортақ енгізу-шығ ару қ ұ рылғ ылары, қ ұ рылғ ыларды жалғ ау. Кө п қ ұ рылғ ылар бірігіп қ олдануды қ олдамайды. Біріншіден ол тізбекті қ атынайтын қ ұ рылғ ылар. Ондай қ ұ рылғ ылар жалғ анғ ан болуы мү мкін, яғ ни бір есептеу ү рдіске беріледі. Бірақ ол есептеу ү рдістерінің параллельді жұ мыс жасауына мү мкіндік бермейді жә не енгізу-шығ ару қ ұ рылғ ыларының босау уақ ытын кү теді. Параллельді орындалып жатқ ан есептер арасында енгізу-шығ ару қ ұ рылғ ыларын қ олдануын ұ йымдастыру ү шін виртуальді қ ұ рылғ ылар тү сінігі енгізіледі. Виртуализация принципін қ олдану есептеу жү йесінің тиімділігін жоғ арлатуғ а мү мкіндік береді. Кө бінесе виртуалды қ ұ рылғ ығ а – спулинг терминін қ олданады. Спулинг дегеніміз - операциялайтын режимде қ ұ рылғ ылармен жұ мыс иммитациясы. Спулингтің негізгі жұ мысы тізбекті қ атынайтын қ ұ рылғ ыларының параллельді бө лінуінің кө рінісін ұ йымдастыру. Бірақ олар монопольді жә не жалғ анғ ан ретінде қ олдану қ ажет. Мысалы, егер біз бірнеше қ олданбаның қ орытындысын басуғ а жіберетін болсақ, онда біз тү сініксіз қ орытындығ а ұ шыраймыз. Бірақ ә р есептеу ү рдісіне виртуальді принтер беруге болады жә не ағ ындылар бірінші рет магнитті дискідегі арнайы спул файлына жіберіледі. Содан соң виртуалды басу аяқ талғ ан соң қ абылданғ ан пұ рсаттылық тармен жә не қ ызымет кө рсету пә ні бойынша спул файлдың мә ні принтерге жіберіледі. Спул файлымен басқ аратын жү йелік ү рдіс – спулер деп аталады (spool-reader немесе spool-writer). Программисті компьютерге орнатылғ ан енгізу-шығ ару қ ұ рылғ ыларының параметрлері жә не олардың мү мкіншіліктері мү мкіншілік болғ анша ойландырмау керек. Оғ ан тек қ олданатын енгізушығ ару қ ұ рылғ ыларының жалпы мү мкіншіліктері қ ажет. Мысалы, принтер басуды білу қ ажет, ал магниттік дискіде жинақ тауыш берілген адрес бойынша (C-N-S координаты, цилиндр номері, бастиек номері жә не сектор номері) деректерді жазу жә не оқ у қ ажет. Бірақ программист магниттік дискімен жұ мыс арасында тікелей адрестеуді қ олданбайды. Ол файлдық жү йе дең гейімен жұ мыс жасайды. Бұ л жағ дайда қ андай жинақ тауыш, қ ай типті жә не моделі компьютерде қ олданылғ аны файлдық жү йе қ ұ рущыларын тә уелді болмауы қ ажет. Негізгі болып саналатын ол жинақ тауыштың бары жә не оның цилиндрінің, жазу-оқ у бастиегінің жә не магниттік диск жолының секторларының бірнеше сандарының болуы цилиндрдің, бастиектің жә не секторлардың сандарының мә ні жабдық кестесінен алынуы мү мкін. Бұ л жағ дайда программисті қ ұ рылғ ының есептеу жү йесіне қ алай жалғ анғ аны ойландырмау керек. Сондық тан ол енгізу-шығ ару сұ рау кезінде қ ұ рылғ ының логикалық атын белгілейді. Виртуалды қ ұ рылғ ығ а сә йкес нақ ты қ ұ рылғ ы кесте арқ ылы супервизормен таң далады. Сонымен қ ұ рылғ ының қ осылу тә сілі оның моделі жә не оғ ан сә йкес драйверлер бірінші жабдық кестесінде анық талады. Ол виртуалды қ ұ рылғ ыны жү йелік кестесімен байланыстыру ү шін екінші жү йелік кестесі қ олданылады. Шартты біз оны виртуалды логикалық қ ұ рылғ ының сипаттама кестесі дейміз.(DRTdevice reference table). Енгізу-шығ ару ү рдісін басқ ару 1-ә рекет. Орындалып жатқ ан программадан енгізу-шығ ару операциясына сұ раныс супервизорғ а тү седі. 1. 1-ә рекет. Супервизор жү йелік шақ ыруды қ абылданғ ан спецификацияларғ а сә йкестігін тексереді жә не қ ате болғ ан жағ дайда есепке сә йкес хабарлама жібереді. 2-ә рекет. Егер сұ раныс дұ рыс болса онда есеп енгізу-шығ ару супервизорына бағ ытталады. 2. 2-ә рекет. Супервизор виртуаль аты арқ ылы DRT кестесінен қ ұ рылғ ы кестесінен сә йкес UCB элементін табады. Егер қ ұ рылғ ы бос болмаса, онда есеп сипаттаушы қ ұ рылғ ыны кү тіп тұ рғ ан есептер тізіміне орналастырады. 3-ә рекет. Егер қ ұ рылғ ы бос болса, онда енгізу-шығ ару супервизоры UCB–дан қ ұ рылғ ының типін анық тайды жә не қ ажет болса санашық ты іске қ осады, ол қ ұ рылғ ыны тү сінетін жә не орындайтын басқ ару деректерін жә не кодтарын ашуғ а мү мкіндік береді. 4-ә рекет. Енгізу-шығ аруды басқ аратын программа дайын болғ ан кезде, енгізу-шығ ару супервизоры басқ аруды сә йкес драйверіне береді(іске қ осу секциясы). 5-ә рекет. Драйвер басқ ару операциясын инициялизациялайды, тайм-аут санауышын нө лдейді жә не санашық қ а орындалуғ а дайын есепті қ ою ү шін супервизорғ а (есеп диспетчеріне) басқ аруды қ айтарады. 6-ә рекет. Жү йе жұ мысты кезегімен орындайды, бірақ енгізу-шығ ару қ ұ рылғ ысы жіберілген команданы орындап болғ ан соң, ү зуге сұ раныс сигналын орнатады жә не ү зу кестесі арқ ылы басқ ару жалғ астыру секциясына беріледі. Жаң а команданы алғ ан соң қ ұ рылғ ы оны орындайды жә не санашық пен басқ аруды қ айтадан есеп диспетчеріне қ айтарады, ал санашық ө зінің жұ мысын жалғ астырады. Сонымен есептердің параллель ө ң делуі болады, соның кө рісінде санашық енгізу-шығ ару операциларының басқ аруын жү зеге асырады. Синхронды жә не асинхронды енгізу-шығ ару. Енгізу-шығ ару операциясына сұ раныс берген есеп берілегн операциялардың аяқ талғ анын кү ту кү йіне супервизормен ауыстырылады. Аяқ талу секциясынан операцияның аяқ талғ аны жайлы супервизор хабарлама алғ ан соң ол есепті орындалуғ а дайын кү йіне ауыстырады жә не ол ө зінің жұ мысын жалғ астырады. Бұ л жағ дай синхронды енгізушығ аруғ а сә йкес синхронды енгізу-шығ ару кө п ОЖ стандартты болып табылады. Қ олданбалардың орындалу жылдамдығ ын ұ лғ айту ү шін қ ажет болғ анда асинхронды енгізу-шығ ару қ олданылады. Асинхронды енгізу-шығ арудың қ арапайым варианты, ол сыртқ ы қ ұ рылғ ылардың деректерін буферлі шығ ару. Бұ л кезде қ олданбадағ ы деректер енгізу-шығ ару қ ұ рылғ ыларына жіберілмейді, ал арнайы жү йелік буферге жіберіледі. Негізгі логикалы қ олданбағ а шығ ару операциясы бірден орындалғ ан болып саналады, жә не есеп нақ ты деректердің қ ұ рылғ ыларғ а жіберілген ү рдісін кү тудің қ ажеті жоқ. Жү йелік буферден деректерді щығ аруды енгізу-шығ ару супервизоры атқ арады. Енгізу-шығ ару супервизорының нұ сқ ауы бойынша арнайы жү йелік ү рдіс жү йелік жады аймағ ында буферге орын бө леді. Асинхронды деректерді енгізуді де ұ йымдастыруғ а болады. Бірақ ол ү шін тек қ ана жады аймағ ында қ ұ рылғ ылардан оқ ып деректерді уақ ытша сақ тап, бө лінген буферді операцияғ а сұ раныс берген есеппен байланыстыру ғ ана емес жә не енгізу-шығ ару операциясына сұ ранысты екі бө лікке бө лу(екі сұ ранысқ а). Бірінші сұ раныста деректерді оқ у операциясына нұ сқ ау беріледі. Бұ л сұ раныста қ осымша параметр беріледі - ол есеп сұ ранысқ а жауап алатын жә не берілген ерекшеленген буферді идентификациялайтын жү йелік обьекттің аты. Буфердің атын алып есеп ө зінің жұ мысын жалғ астырады. Деректерді асинхронды енгізу кезінде есеп енгізу-шығ ару супервизоры арқ ылы енгізушығ ару операциясының аяқ талуын кү ту кү йіне ө ткізілмейді, ол орындалу немесе орындалуғ а дайын кү йінде қ алады. Бірнеше уақ ыттан соң программистпен анық талғ ан қ ажет код арқ ылы есеп енгізушығ ару операциясын аяқ тауғ а екінші сұ раныста береді. Бұ л жағ дайда сол қ ұ рылғ ығ а (оның коды басқ а) есеп жү йелік объекттің атын кө рсетеді жә не деректерді оқ у операциясы ойдағ ыдай аяқ талғ ан жағ дайда ол оларды жү йелік буферден сол заматында алады. Егер деректер сыртқ ы қ ұ рылғ ыдан жү йелік буферге аяғ ына дейін жазылып ү лгірмеген жағ дайда, енгізу-шығ ару супервизоры есепті енгізу-шығ ару операциясының аяқ талуын кү ту кү йіне ауыстырылады. Асинхронды енгізу-шығ ару мультипрограммалық ОЖ қ олданылады, ә сіресе егер олар тредтер механизмі арқ ылы қ олданылса. Енгізу-шығ ару аппаратурасы біріккен аппаратты санашық тар сияқ ты қ арастыруғ а болады. Бұ л санашық тарда сыртқ ы ү рдістер орындалады. Мысалы, сыртқ ы қ ұ рылғ ығ а сыртқ ы ү рдіс біріккен операциялар ретінде кө рсетіліп олар мысалы бір символдардың басылуы. Сыртқ ы ү рдістер енгізушығ ару аппаратурасын қ олдана отырып олар бір бірімен ә рекеттеседі жә не орталық санашық та орындалатын программалық ү рдістермен ә рекеттеседі. Бұ л жерде ең маң ыздысы ол сыртқ ы ү рдістің жылдамдылығ ы ішкі ү рдістердің орындалуынан айырмашылығ ы бар. Ішкі жә не сыртқ ы ү рдістер ө здерінің жұ мысы дұ рыс орындалуы ү шін олар синхрондалу қ ажет. Сыртқ ы жә не ішкі ү рдістердің жылдамдылық тарының сә йкессіздігін дұ рыстау ү шін буферлеу қ олданылады. Буферлер арқ ылы деректер немесе бір ү рдістен адрестелген сыртқ ы қ ұ рылғ ығ а жіберіледі (сыртқ ы қ ұ рылғ ыларының деректерін шығ ару операциясын) немесе сыртқ ы ү рдістен бір программалық ү рдіске (деректерді оқ у операциясы). ОЖ супервизорленген бө лігі жү йелік буферлермен басқ ару проблемаларын шешеді. Буферлерді бө лу, босату ғ ана емес жә не оларды бос буфер болмағ ан жағ дайда кү ту есептерін супервизор шешу қ ажет. Кө бінесе енгізу-шығ ару супервизоры бұ л есептерді шешу ү шін ОЖ-де қ абылданғ ан стандартты синхронизация қ ұ ралдарын қ олданады. Сондық тан егер ОЖ есептерді параллельді орындалу проблемаларын шешетін қ ұ ралдары болса, онда ол асинхронды енгізу-шығ аруды ұ йымдастырады. Негізгі ә дебиеттер 2 [129-142], 9[237-248] Қ осымша ә дебиеттер 19 [184–197], 16 [174-176]
|