Аға оқытушысы Шулгаубаева Г. С. және аға оқытушысы Савченко Н. К



жүктеу 0.9 Mb.

бет3/6
Дата22.04.2017
өлшемі0.9 Mb.
1   2   3   4   5   6

 

Тақырып 6. Үрдістердің өзара әрекеттілігі мен синхронизациялау тәсілдері 

Дәріс жоспары 

1.

 

Синхрондау түсінігі 



 

26


2.

 

Үрдістерді синхрондау тәсілдері 



3.

 

Тығырықтар 



4.

 

Жолдар 



Синхрондау тәсілдері мен үрдістердің өзара әрекеттілігі 

Бір  үрдіс  екіншісіне  деректерді  жөнелдіріле  алады,  немесе  бірнеше  үрдіс 

жалпыға  ортақ  файлдағы  деректерді  өңдей  алады.  Осылайша,  үрдістердің 

өзара әрекеттілік етуі қажетті жайт. Барлық жағдайларда үрдістердң кідірісі 

мен  белсенділігі,  реттіліктің  туындауы,  ресурстардың  блокқа  түсуі  мен 

босануы  тәсілдері  арқылы  шешіле  алатын  үрдістердің  синхрондалу 

ахуалдары қалыптасуы ықтимал.  

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

тәртібінде 

орындалғалы 

жатқан 

үрдістердің синхрондалу сауалдарын етолыққанды дәрежеде ескермей өту – 



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

Мысалға,  файлдарды  баспаға  шығару  бағдарламасын  (принт-сервер) 

қарастырайық (3 сурет) Аталған бағдарлама келіп тускен реттілігінде арнайы 

жалпыға  ортақ  файлға  тіркелеген  барлық  файлдарды  баспаға  шығарады. 

Барлық үрдіс-клиенттерге жетерлік ерекше құбылмалы NEXT, оның сұраныс 

файл  ұстанымдарының  файл  атауын  тіркеудегі  алғашқы  бос  нөмірі 

болады.Үрдіс-клиенттер  аталған  құбылмалымен  танысып,  оны  сәйкес 

сұраныс  файл  ұстанымдарына  тіркеп,  бірлікке NEXT мағынасын  қосады. R 

үрдісі  қандай  да  бір  сәтте  өз  файлын  басылымға  шығаруға  бел  буды  делік, 

сол  себепті  ол  мағынасы  мысалға 4 тең  құбылмалы NEXT мағынасымен 

танысты.  Үрдіс  аталған  мағынаны  ескерсе  де,  орындалуы  үзіліске  ұшырау 

себебінен (мысалға, квант жойылуы салдарынан) файл атауын орнықтыруға 

үлгермеді. (например,  в  следствие  исчерпания  кванта).  Файлды  баспаға 

шығаруды көздеген S үрдсі де  құбылмалы NEXT мағынасымен танысып, өз 

файлының  атауын  төртінші  ұстанымға  орнықтырып,  құбылмалылықтың 

мағынасын бір бірлікке ұлғайтты. Басқару R үрдісіне ретті берілген жағдайда 

ол  өзінің  орындалуын  жалғастыра  отырып,  алдыңды  итерация  нәтижесінде 

алынан    бос  ұстаным  мағынасына  сәйкес S үрдісі  файлының  атауы  үстінен 

файл атауын 4 ұстанымға тіркейді.  

 

 



27

 

Сурет. 3. Синхрондау қажеттілігінің мысалы. 

 

Осылайша, S үрдісі өз файлын шығарылған күйін көруі екі талай. 

Синхрондаудың 

ахуалды 

күрделілігі – туындайтын 

жайтттардың 

реттіліксіздігі  салдарынан  болады.  Аталған  жағдайда  барлығы  үрдістердің 

жылдамдығы мен олардың арасындағы үзіліспен анықталады. Сондықтан да, 

өзара  қатынасатын  үрдістерді  тоқтату – күрделі  мінджеттіліктердің  бірі 

болып  табылады.  Екі  не  одан  да  көп  үрдістер  бөлісілген  деректерді  өңдеп, 

ақырғы  нәтиже  жарыс  деп  аталынатын  үрдістердің  жылдамдық 

қатынастарына тәуелді келеді.  

Үрдістерді  синхрондаудағы  маңызды  түсінік – бағдарламаның 

критикалық  секциясы.  Критикалық  секция – бұл  бөлісілген  деректерге  қол 

жеткізу  орындалатын  бағдарламаның  дербес  бөлігі.  Қандай  да  бір 

ресурстарғақарасты 

жарыс 


эффектісін 

болдырмау 

мақсатында 

бағдарламаның  әрбір  критикалық  секциясында  аталған  ресурспен 

байланысты  бір  үрдістің  болуынқамтамасыз  ету  қажет.  Бұл  тәсіл  өзара 

жойылым деп аталады.  

Өзара жойылымды қамтамасыздандырудың ең қарапайым дерлік тәсілі 

–  критикалық  секцияда  орныққан  үрдіске  барлық  үзілімдерді  болдыртпауға 

бұйрық  ету.  Дегенмен  аталған  тәсіл  қолайсыз,  себебі  жүйені  басқару 

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

ұзақ уақыт бойына қамтып алуы ықтимал, ал критикалық секцияда үрдістің 

құлдырауы  барысында  үзілістерге  рұқсат  етілмеу  себебінен  бүтін  жүйе 

құлдарауы мүмкін.  

Екінші  тәсіл – блоктаушы  құбылмалыларды  қолдану  тәсілі.Әрбір 

бөлісілген  ресурспен 1 мағынасын  иемденетін  екілік  құбылмалылық 

байланысады,  егер  де  ресурс  бос    болса  (еге  де  бір  үрдіс  аталған  үрдіспен 

байланысты  критикалық  секцияда  орнықса),  егер  ресурс  қызметте  болса 0 

мағынасы белгіленеді.   

 

28


Жоғарыда  келтірілген  мысал  синхрондаудың  тағы  да  бір  ахуалы - 

дедлок (deadlocks), клинчи (clinch) немесе тығырықтар деп аталынатын өзара 

блоктарды  айғаруға  ықпал  етеді.  Жайттардың  саралануы  салдарынан  екі 

үрдіс  бір-бірін  өзара  блоктауы  мүмкін.  Үрдіс  жылдамдықтарының 

қатынасына  сәйкес    олар  бір-брінен  тәуелсіз  бөлісілген  ресурстарды 

қолданыла  алады  (г),  немесе  бөлісілген  ресурстарға  қарасты  реттілік 

қалыптасыра алады (в), я болмаса бірін-бірі өзара блоктауға қабілетті келеді. 

екеуі де ресурстарды ортақ пайдалану салдарынан туындаса да, Тығырықты 

жағдайларды  қарапайым  реттіліктерден  ажырата  білуіміз  қажет:  үрдіс 

кідіріп,  ресурстың  босауын  күтеді.  Дегенмен  реттілік  те – қалыпты  үрдіс 

ретінде  танылады.  Ол,  ресурс  аталған  жағдайда  қол  жетекізу  аясынан  тыс 

болғанда  тауындап,  кейіннен  қайтара  іскеқосылады.Тығырық,  атауынан 

байқағанымыздай, шешілімі жоқ есеп болып табылады.  

 

Сурет 4. (a) принтер мен дискіні бөлетін А және В 

бағдарламаларының кескіндері,  

(б) өзара блок (клинч); (в) бөлісілген дискіге қалыптасқан реттілік.  

(г) ресцурстардың тәуелсіз қолданылуы. 

Қарастырылған  мысалда  (сурет 4.) тығырық  екі  үрдіспен  қалыптасты, 

дегенмен бір-бірін өзара блоктауға үрдістердің біршама бөлігі қатыса алады.  

Тығырық ахуалдары өз қатарына келесі міндеттіліктерді қосады:  

 

Тығырықтарды қайтару  



 

Тығырықтарды анықтау  



 

Тығырықтан кейін жүйені қалпына келтіру  



Тығырықтар 

бағдарлама 

орындаудың 

алғашқы 


кезеңдерінде 

қайтарылуы  мүмкін,  яғни  бұл  дегеніміз  бағдарлама  қарапайымдылығымен 

ерекшеленіп,  қандай  да  бір  тығырықтардың  туындауын  болдырмауы  қажет. 

 

29



Осылайша,  алдыңғы  мысалда  А  және  В  үрдістері  ресурстарды  бірдей 

реттілікте  сұрастырса,  онда  тығырықтық  туындауы  да  ықтимал. 

Тығырықтарды  болдырмаудың  екінші  тәсілі – динакалық  деп  аталып, 

үрдістерге  ресурстарды  тағайындау  барысында  қандай  да  бір  ережелерге 

сүйемденуге  негізделеді,  яғни  ресурстар  барлық  үрдістерге  тән  белгілі 

реттілікте бөлінуі қажет.  

Ресурстарды  анықтау  сызбалары  мен  қызметтегі  ресурстарға  қол 

жтекізу  сызбаларына  негізделген  формальды,  бағдарлалы-орындаушылық 

тәсілдер  баршылық.  Аталған  сызбалардың  сараптамасы  өзара  блоктарды 

анықтауға мүмкіндік береді.  

Егер  де  тығырықты  жағдай  толасы,  туындай  жатса,  онда  барлық 

блоктағы үрдістерді орындалу тізбегінен ығыстыру міндет емес.Олардың тек 

жарты  бөлігін  ығыстыра  аламыз,  бұл  ретте  басқа  үрдістермен  күтілетін 

ресуртар  босаңсып,  кейіннен  кейбір  үрдстерді  свопинг  аймағына  қайтара 

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

ақырғы  нүктеде  үрдістерді  қайтаруымызға  болады.  Ақырғы  нүктелер 

нәтижесінде тығырықтар туындауы мүмкін жерлерде орнығады.  

Жолдар 

Үрдістер  жайында  сөз  қозғай  отырып,  операционды  жүйе  олардың 

жалпылығын  қолдайтынын  ескере  кеткеніміз  жөн:  әрбір  үрдістің  өзіндік 

виртуалды  мекен-жай  кеңістігі  болады,  әрбір  үрдіске  өзіндік  ресурстар – 

файлдар,  терезелер,  семаофралар  тағайындалады.  Мұндай  жалпылық  әрбір 

ресурс өзара бәсекелесуі кезінде бір үрдісті екіншсінен қорғау үшін қажетті. 

Көп  жағдайда  үрдістер  бір  компьютерді  бөлісетінбірнеше  тұтынушыға 

тиесілі,  және  же  ОЖ  үрдістерарасындағы  қарама-қайшылықтарын  шешуде 

арбитр рөлін атқарады.  

Мультибағдарламаландыру  барысында  жүйенің  өткізгіштік  қасиеті 

жоғарылайды,  дегенмен  үрдіс  бр  бағдарламалы  жүйеде  орындалғаннан 

жылдам  орындалуы  екі  талай.  Бір  үрдіс  шегінде  шешілетін  мәселе  оның 

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

есепті орындау барысында сыртқы құрылғыға қатынас орнатылады,бұл ретте 

үрдістің  орындалуын  толықтай  блоктамай,  үрдістіңөзге  де  тармағынан 

есептеу жүргізуді жалғастыруымызға болады.  

Аталған  мақсатта  қазіргі  заманғы  ОЖ  көпжолды  өңдеуді 

(multithreading) қолданылады. Бұл ретте жаңа жол ұғымы (thread) енгізіледі.  

Мультибағдарламаландыру  ендігіде  жолдар  деңгейінде  жүзеге  асады, 

ал үрдіс шегінде жолдардың бірнеше деңгейінде орындалатын есептер оның 

жеке  бөліктерінің  псевдопараллельді  орындалуымен  жылдамдатылады.Көп 

жолдылықты  бөлісілген  қосымшаларды  орындау  барысында  қолданысқа 

енгізуімізге болады.  

Бір  үрдіске  ғана  қарасты  жолдар  дәстүрлі  көп  міндетті  жүйе 

үрдістеріндей  бір-бірінен  тым  алшақ  емес,  олардың  арасында  тығыз 

байланыс орнату оңай.  

Жолдарды  кейде  жеңілдетілген  үрдістер  немесе  мини-үрдістер  деп 

атайды.Әрбір  жол  қатаң  реттілікпен  орындалып,  өзіндік  бағдарламалық 

 

30



есепшоты  мен  стегін  иемденеді.  Жолдар  үрдістер  іспеттес  жол-ұрпақтарын 

туындатып, бір жағдайдан екіншісінежеңіл ауыстырыла алады.Жолдар келесі 

жағдайлардың  бірінде  болуы  ықтимал:  орындалу,  кідіріс,  дайын  болу.  Бір 

жол  блокта  болса,  екіншісі  қызметін  жалғастыра  береді.  Жолдар 

жоспарлаудың  түрлі  нұсқаларына  сәйкес  процессорды  үрдістер  іспеттес 

бөлістіреді.  

Дегенмен  бір  үрдіс  шегіндегі  түрлі  жолдар  жекелеген  үрдітер  сияқты 

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

Бұл  дегеніміз,  оларды  бір  ғана  жаһандық  құбылмалылар  бөлістіреді.  Әрбір 

жол  әрбір  виртуалды  мекен-жайға  қол  жеткізе  алады,  бір  жол  екіншісінің 

стекін қолданысқа енгізе алады. Жолдар арасында толыққанды қораныс жоқ, 

сондықтан да біріншіден ол мүмкін емес, екіншіден қажетсіз де. Бір үрдістің 

барлық  жолдары  бір  тұтынушының  жалпы  есебін  шешеді,  ал  жолдар 

аппараты  есептеуді  паралельдендіру  арқылу  оның  орындалуын  жылдамдату 

мақсатында қолданылады. Одан өзге, мекен-жай кеңістігін бөлістіру кезінде 

барлық жолдар ашық файлдар, таймерлер, сигналдар жиынтығын бөлістіреді.  

Осылайша жолдардың өзіндік ... бар:  

 



Бағдарламалық  есепшот,  стек,  тіркелім,  жол-ұрпақтар,  

жағдай.  

Жолдар бөлістіреді:  

 



Мекен-жай  кеңістігін,  жаһандық  құбылмалыларды,  ашық 

файлдар, 

таймерлер, 

сигналдар, 

семафоралар, 

статистикалық 

ақпараттарды.  

Көп жолды өңдеу жүйенің қызмет нәтижелілігін көп міндетті өңдеумен 

салыстырғанда жоғарлатады. Мысалға, Windows көп міндетті ортасында бір 

уақытта  электронды  кесте  мен  мәтіндікредактормен  жұмыс  істеуімізге 

болады.  Дегенмен,  тұтынушы  жұмыс  парағының  есептелуін  сұрастырған 

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

көп  жолды  өңдеудің  мүмкіншіліктерін  ескерумін  жасалса,  мұндай 

ахуалдардың  туындауы  екі  талай  және  де  тұтынушы  аталған  электронды 

кестеге қол жеткізе алады.  

 

Ұсынылатын әдебиет 1,2,3,4,5,6,7,8,13 



 

 

СӨЖ арналған бақылау тапсырмалары  



1.

 

Синхрондау түсінігі 



2.

 

Үрдістерді синхрондау тәсілдері 



3.

 

Тығырықтар 



4.

 

Жолдар 



 

Тақырып 8. Оперативті жадыны басқару жүйесі.  

Дәріс жоспары 

1.

 

Жадыны басқару 



2.

 

Жадыны диск кеңістігінің қолданылуынсыз бөлістіру тәсілдері 



 

31


3.

 

Жадыны диск кеңістігінің қолданылуымен бөлістіру тәсілдері 



4.

 

Деректерді Кэширлеу 



 

Жады  - мультибағдарламалы операционды жүйе қатарынан түбегейлі 

басқаруды  талап  ететін  ең  маңызды  дерлік  ресурстардың  бірі  болып 

табылады.  Жадының  Бос  бөліктерінің  барлығы  бөлістіруге  төнеді.ОЖ 

жадыны  басқару  жөнінен  қызметтері:  бос  және  толған  жадыны  анықтау, 

жадыны  үрдістерге  бөлу  мен  олардың  тамамдалуы  кезінде  жадыны  босату, 

үрдістерді  оперативті  жадыдан  дискіге  ығыстыру,  оперативті  жадыда  орын 

босаған кезед оларды қайтара көшіру, сондай-ақ бағдарлама мекен-жайларын 

физикалық жадының нақты облысына саралау. 

 

Мекен-жайлар түрлері 

Құбылмалы  және  командалар  идентификациясы  үшін  символды 

атаулар, 

виртуалды 

мекен-жайлар 

мен 

физикалық 



мекен-жайлар 

қолданылады.  

Символды атауларды тұтынушы бағдарламаны алгорит тілінде немесе 

ассемблерде жазу барысында қолданылады.  

Виртуалды  мекен-жайларды  бағдарламаны  машина  тіліне  аударатын   

транслятор 

жасап 

шығарады. 



Осылайша, 

аударылым 

барысында 

бағдарламаның оперативті жадының қай бөлігіне барып орнығатыны белгісіз 

болғандықтан,  транслятор  бағдарламаларға  құбылмалы  және  командаларға 

виртуалды  мекен-жайларды  беріп,  бағдарлама  нөлдік  мекен-жайдан 

басталатынын  ескереді.  Үрдістің  виртуалды  мекен-жайларының  жиынтығы  

виртуалды мекен-жай кеңістігі деп аталады. Әрбір үрдіс өзіндік виртуалды 

мекен-жай  кеңістігіне  ие.  Виртуалды  мекен-жай  кеңістігінің  максималды 

көлемі  компьютердің  аталған  сәулетіне  тән  мекен-жай  разрядтылығымен 

шектеледі, сондай-ақ компьютердің физикалық жадымен сәйкес келмейді.  

Физикалық  мекен-жайлар  құбылмалылар  мен  командалар  орныққан 

оперативті  жадының  ұяшық  нөмірлеріне  сәйкес.  Виртуалды  мекен-жайдан 

физикалыққа  ауытқу  екі  тәсілмен  жүзеге  асады.  Алғашқыда,  алмастыруды 

арнайы  жүйелік  бағдарлама – алмастырушы  қосушы  орындайды.  Ол 

физикалық  жадының  бастапқы  мекен-жайы  жөніндегі  ақпаратқа  сүйемдене 

отырып, бағдарламаның қосылуын іске асырады. Екінші тәсілде, бағдарлама 

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

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

орнығуын  бағдарлайды.  Бағдарламаның  орындалуы  барысында  оперативті 

жадыға  төну  кезінде  виртуалды  мекен-жайдың  физикалыққа  түрленуі 

орындалады.  Екінші  тәсіл  барынша  тиімді  болып  табылады.  Ол 

бағдарламаныңорындалуы  кезінде  оның  деңіл  түрде  орын  алмастыруын 

қамтамасыз  етеді,  ал  алмастырушшы  қосушы  бағдарламаны  жады  бөлігіне 

мықтап  бекітіп  тұрады.  Сонымен  қатар  алмастырушы  қосушыны  қолдану 

шығындар санын кемітеді, себебі виртуалды мекен-жайдың түрленуі қосылу 

барысында  бір  рет  қана  болады,  ал  екінші  жағдайда  аталған  мекен  жайға 

төну кезінде қайтара орындалып отырады.  

 

32



Жадыны  басқарудың  барлық  тәсілдері  екі  классқа  жіктелуі  мүкін: 

оперативті  жады  мен  диск  арасында  үрдістердің  орны  алмастыруын 

қолданылатын  тәсілдер,  және  мұндай  әрекеттілікті  жасамайтын  тәсілдер 

(сурет 1). 

 

Жадыны диск кеңістігінің қолданылуынсыз бөлістіру тәсілдері 

 

 



Сурет.1. Жадыны бөлстру тәсілдеріні жіктелуі. 

Жадыны фиксирленген бөліктермен бөлістіру. 

Оперативті  жадыны  басқарудың  ең  қарапайым  тәсілі – оны 

фиксирленген  көлемді  бірнеще  бөліктере  бөлістіру  болып  табылады.  Бұл 

жүйе  бастамасы  немесе  оның  генерациясы  кезінде  оператормен  орындала 

алады.  Орындалуға  түскен  есеп  не  жалпы  реттілікке  (сурет 2.а),  не  бөлік 

реттілігіне орныға түседі (сурет 2.,б).  

 

Сурет. 2. Жадыны фиксирленген бөліктермен бөлістіру:  

а – жалпы реттілікпен; б – жекелеген реттіліктермен 

Жадыны басқару жүйесі бұл ретте келесі міндеттіліктерді орындайды:  

 

33


 

Орындалуға түскен бағдарлама көлемі мен бос өлшемдерді салыстыра 



отырып, қажетті бөлікті талғайды.  

 



Бағдарламаның  қосылуы  мен  мекен-жайлардың  сараптамасын 

жүргізеді.  

Басымдылықта-орындалу  жеңілділігінде-  аталған  тәсіл  маңызды 

кемішілікке  –қатқылдылыққа  ие.  Осылайша  бөлікте  жалғыз  бағдарлама 

орындала  алатындықтын,  мультибағдарламаландыру  деңгейі  бағдарлама 

көлеміне  тәуелсіз  бөлік  санымен  алдын-ала  шектеледі.  Егер  де  бағдарлама 

көлемі  кішігірім  болса  да,  ол  бүтін  дерлік  бөлікті  қамтып  алады.  Ал  бұл  өз 

кезегінде  жадының  нәтижесіз  қолданылуына  алып  келеді.  Егер  де 

машинаның оперативті жады көлемі қандай да бір бағдарламаны орындауға 

мүмкндік  берсе  де,  жадыны  бөліктерге  бөлістіру  мұндай  әрекеттілікке  жол 

бермейді.  

Ауыспалы көлемді бөліктермен жадыны бөлістіру 

Бұл жағдайда машина жады алдын-ала бөліктерге бөлінбейді. Алдымен 

бұкіл жады бос болады. Әрбір қайтара келіп түсетін есепке қажетті көлемде 

жады  бөлінеді.  Егер  де  қажетті  жады  көлемі  болмаса,  онда  бағдарлама 

орындалуға  кіріспей,  реттілік  құрады.  Есептің  орындалуы  тамамдалған  соң 

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

келген  сәтте  оперативті  жады  түрл  көлемді  бос  және  толған  учаскелердің 

жиынтығы  бейнесі  ретінде  көрінеді.  Жадыны  басқарудың  Аталған  тәсілін 

орындау барысындағы операционды жүйе міндеттілігі:  

 



Бастапқы  мекен-жайлар  мен  жады  учаскелерінің  көлемі  белгіленген 

бос және  толған облыс кестелерін жүргізу.  

 

Жаңа  есеп – сұраныс  сараптамасы  түскен  жағдайда  жоғарыда  аталып 



өткен кестені қаратырып, келген есепті орнықтыру  

 



Есепті  оған  бөлінген  бөлікке  енгізу  мен  бос  және  толған  облыстар 

кестесін нақтыландыру.  

 

Еесптің  аяқталуынан  кейін  бос  және  толған  облыстар  кестесін 



нақтыландыру.  

Бағдарламалық  код  орындалу  барысында  ауыстырылмаса,  яғни  бұл 

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

келтіруімізге болады.  

Қайтара келіп түскен есеп үшін бөлікті талғау түрлі ережелер бойынша 

орындалуы мүмкін, мысалы "қажетті көлемдегі назарға алғаш түске бөлік ", 

немесе "қажеттіден аз көлемі бар бөлік ", я болмаса  "қажеттіден көп көлемі 

бар бөлік " ережелері. Бұл ережелердің барлығы өзіндік басымдылықтар мен 

кемшіліктерге ие. 

Жадыны фиксирленген бөліктермен бөлістіру тәсілімен салыстырғанда 

аталған тәсіл өте қолайлы, дегенмен маңызды дерлік кемшілігі бар -  жады 

фрагменттенуі.  Фрагменттену,  яғни  бөлшектену – бұл  бос  жадының  өте 

кіші  мөлшерлі    ұқсас  келмейтін  учаскелерінің  көп  болуы.  Жады  көлемінің 

кішігінір  болары  соншалық,  тіпті  қайтара  келіп  түсетін  бағдарламалар 

фрагменттердің сомалық көлемі  талап етілетін жады көлемінен біршама көп 

 

34


болса да бірде-бір учаскеге толассымайды,   

Орын алмастырушы бөліктер 

Фрагменттелуге  қарасты  күрестің  бірде-бір  тәсілі – барлық  толған 

учаскелерді  бос  жады  бүтін  бос  облысты  қамтитындай  жас  не  байырғы 

мекен-жайлар  учаскелеріне  алмастыру  қажет  (сурет 3). Жадыны  орын 

алмастырушы  бөліктермен  бөлістіретін  ОЖ  негізгі  қызметтіліктеріне 

қосымша – аталған жағдайда ол бос және толған облыстар кестесін нақтылай 

отырып  бөлік  құрамын  бір  орнынан  екіншісіне  көшіріп  отыруы  міндет. 

Аталған  шара  "ығыстыру"  деп  аталынады.  Ығыстыру  тәсілі  не  есептің 

тамамдалуы кезінде, не келіп түскен есепке қажетті бос жады қалмаған кезде 

орындала  алады.  Алғашқы  жағдайда  кестелерді  нақтыландыру  барысында 

есептеу жұмыстарының аз көлемі талап етіледі, екінші жағдайда – ығыстыру 

шарасы  сирек  орындалады.  Осылайша  бағдарламалар  орындалу  барысында 

оперативті 

жады 


бойынан 

орын 


алмастырып, 

мекен-жайлардың 

виртуалдықтан  физикалыққа  түрленуі  динамикалық  түрде  орындалып 

отырады.  

 

Сурет. 3. Орын алмастырушы бөліктермен жадыны бөлістіру 

Ығыстыру  тәсілі    жадының  барынша  нәтижелі  қолданылуына  алып 

келсе  де,  ол  аталған  тәсілдің  басымдылықтарын  асып  өтетіндей  біршама 

уақыттың қолданылуын талап етеді.  



Диск кеңістігін қолданыла отырып жадыны бөлістіру тәсілдері 

Виртуалды жады түсінігі  

Тұтынушылар  бағдарлама  жады  қолданыстағы  бос  жады  көлемінен 

асып  түсетін  ахуалмен  кездесуі  таңданарлық  жайт  емес.  Шешім  ретінде 

бағдарламаны  оверлеялар  деп  аталынатын  бөліктерге  бөлістіру  тәсілі 

қарастырылды. 0-дік  оверлей  алғашқы  орындалуға  төнді.  Қызметін 

тамамдаған соң ол келесі ретте тұрған оверлейге орындалу ретін табыстайды. 

Барлық  оверлеялар  дискіде  сақталынып,  диск  пен  жады  арасынан 

операционды  жүйе  құралдарымен  орын  алмастырып  отырды.  Дегенмен 

бағдарламаны  бөліктерге  бөлу  мен  олардың  оперативті  жадыға  енуін 

программист орындауы қажет.  

Аталған  бағытта  есептеуіш  үрдісті  ұйымдастыру  тәсілдерін  дамыту 

 

35



виртуалды  жады  деп  аталынатын  жаңа  тәсілдің  пайда  болуына  түрткі 

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

жады  көлемінен  асып  түсетін  бағдарламаларды  жазуға  мүмкіндік  беретін 

бағдарлама-аппараттық 

құралдардың 

жиынтығы; 

аталған 

мақсатта 

виртуалды жады келесі міндеттіліктерді орындайды:  

 



Түрлі  есте  сақтау  құрылғыларына  деректерді  орнықтырады,  мысалға 

бағдарлама жартысы - оперативті жадыда, жартысы – дискіде.  

 

Қажетті  жағдайда  түрлі  есте  сақтау  құрылғылары  арасында 



деректердің  орнын  ауыстырады,  мысалға,  бағдарламаның  қажетті 

бөлігін дискіден оперативті жадыға орнықтырады.  

 

Виртуалды мекен-жайларды физикалыққа түрлендіреді.  



Аталған  әрекеттердің  барлығы  автоматты  түрде  орындалып, 

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

тұтынушыға қарасты мөлдір болады.  

Виртуалды  жадыны  қолданылудың  кеңінен  таралған  орындаулары – 

жадыны  парақтық,  сегменттік  және  парақтық-сегменттік  бөлістіру  мен 

свопинг болып табылады.  




1   2   3   4   5   6


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

войти | регистрация
    Басты бет


загрузить материал