Жадыны басқарудың барлық тәсілдері екі классқа жіктелуі мүкін:
оперативті жады мен диск арасында үрдістердің орны алмастыруын
қолданылатын тәсілдер, және мұндай әрекеттілікті жасамайтын тәсілдер
(сурет 1).
Жадыны диск кеңістігінің қолданылуынсыз бөлістіру тәсілдері
Сурет.1. Жадыны бөлстру тәсілдеріні жіктелуі.
Жадыны фиксирленген бөліктермен бөлістіру.
Оперативті жадыны басқарудың ең қарапайым тәсілі – оны
фиксирленген көлемді бірнеще бөліктере бөлістіру болып табылады. Бұл
жүйе бастамасы немесе оның генерациясы кезінде оператормен орындала
алады. Орындалуға түскен есеп не жалпы реттілікке (сурет 2.а), не бөлік
реттілігіне орныға түседі (сурет 2.,б).
Сурет. 2. Жадыны фиксирленген бөліктермен бөлістіру:
а – жалпы реттілікпен; б – жекелеген реттіліктермен
Жадыны басқару жүйесі бұл ретте келесі міндеттіліктерді орындайды:
33
• Орындалуға түскен бағдарлама көлемі мен бос өлшемдерді салыстыра
отырып, қажетті бөлікті талғайды.
• Бағдарламаның қосылуы мен мекен-жайлардың сараптамасын
жүргізеді.
Басымдылықта-орындалу жеңілділігінде- аталған тәсіл маңызды
кемішілікке –қатқылдылыққа ие. Осылайша бөлікте жалғыз бағдарлама
орындала алатындықтын, мультибағдарламаландыру деңгейі бағдарлама
көлеміне тәуелсіз бөлік санымен алдын-ала шектеледі. Егер де бағдарлама
көлемі кішігірім болса да, ол бүтін дерлік бөлікті қамтып алады. Ал бұл өз
кезегінде жадының нәтижесіз қолданылуына алып келеді. Егер де
машинаның оперативті жады көлемі қандай да бір бағдарламаны орындауға
мүмкндік берсе де, жадыны бөліктерге бөлістіру мұндай әрекеттілікке жол
бермейді.
Ауыспалы көлемді бөліктермен жадыны бөлістіру
Бұл жағдайда машина жады алдын-ала бөліктерге бөлінбейді. Алдымен
бұкіл жады бос болады. Әрбір қайтара келіп түсетін есепке қажетті көлемде
жады бөлінеді. Егер де қажетті жады көлемі болмаса, онда бағдарлама
орындалуға кіріспей, реттілік құрады. Есептің орындалуы тамамдалған соң
жады босап, оның орнына басқа да есеп енгізілуі ықтимал. Осылайша кез-
келген сәтте оперативті жады түрл көлемді бос және толған учаскелердің
жиынтығы бейнесі ретінде көрінеді. Жадыны басқарудың Аталған тәсілін
орындау барысындағы операционды жүйе міндеттілігі:
• Бастапқы мекен-жайлар мен жады учаскелерінің көлемі белгіленген
бос және толған облыс кестелерін жүргізу.
• Жаңа есеп – сұраныс сараптамасы түскен жағдайда жоғарыда аталып
өткен кестені қаратырып, келген есепті орнықтыру
• Есепті оған бөлінген бөлікке енгізу мен бос және толған облыстар
кестесін нақтыландыру.
• Еесптің аяқталуынан кейін бос және толған облыстар кестесін
нақтыландыру.
Бағдарламалық код орындалу барысында ауыстырылмаса, яғни бұл
ретте ауыстырушы қосушы арқылы мекен-жайларды бір мезетте жөнге
келтіруімізге болады.
Қайтара келіп түскен есеп үшін бөлікті талғау түрлі ережелер бойынша
орындалуы мүмкін, мысалы "қажетті көлемдегі назарға алғаш түске бөлік ",
немесе "қажеттіден аз көлемі бар бөлік ", я болмаса "қажеттіден көп көлемі
бар бөлік " ережелері. Бұл ережелердің барлығы өзіндік басымдылықтар мен
кемшіліктерге ие.
Жадыны фиксирленген бөліктермен бөлістіру тәсілімен салыстырғанда
аталған тәсіл өте қолайлы, дегенмен маңызды дерлік кемшілігі бар - жады
фрагменттенуі. Фрагменттену, яғни бөлшектену – бұл бос жадының өте
кіші мөлшерлі ұқсас келмейтін учаскелерінің көп болуы. Жады көлемінің
кішігінір болары соншалық, тіпті қайтара келіп түсетін бағдарламалар
фрагменттердің сомалық көлемі талап етілетін жады көлемінен біршама көп
34
болса да бірде-бір учаскеге толассымайды,
Орын алмастырушы бөліктер
Фрагменттелуге қарасты күрестің бірде-бір тәсілі – барлық толған
учаскелерді бос жады бүтін бос облысты қамтитындай жас не байырғы
мекен-жайлар учаскелеріне алмастыру қажет (сурет 3). Жадыны орын
алмастырушы бөліктермен бөлістіретін ОЖ негізгі қызметтіліктеріне
қосымша – аталған жағдайда ол бос және толған облыстар кестесін нақтылай
отырып бөлік құрамын бір орнынан екіншісіне көшіріп отыруы міндет.
Аталған шара "ығыстыру" деп аталынады. Ығыстыру тәсілі не есептің
тамамдалуы кезінде, не келіп түскен есепке қажетті бос жады қалмаған кезде
орындала алады. Алғашқы жағдайда кестелерді нақтыландыру барысында
есептеу жұмыстарының аз көлемі талап етіледі, екінші жағдайда – ығыстыру
шарасы сирек орындалады. Осылайша бағдарламалар орындалу барысында
оперативті
жады
бойынан
орын
алмастырып,
мекен-жайлардың
виртуалдықтан физикалыққа түрленуі динамикалық түрде орындалып
отырады.
Сурет. 3. Орын алмастырушы бөліктермен жадыны бөлістіру
Ығыстыру тәсілі жадының барынша нәтижелі қолданылуына алып
келсе де, ол аталған тәсілдің басымдылықтарын асып өтетіндей біршама
уақыттың қолданылуын талап етеді.
Диск кеңістігін қолданыла отырып жадыны бөлістіру тәсілдері
Виртуалды жады түсінігі
Тұтынушылар бағдарлама жады қолданыстағы бос жады көлемінен
асып түсетін ахуалмен кездесуі таңданарлық жайт емес. Шешім ретінде
бағдарламаны оверлеялар деп аталынатын бөліктерге бөлістіру тәсілі
қарастырылды. 0-дік оверлей алғашқы орындалуға төнді. Қызметін
тамамдаған соң ол келесі ретте тұрған оверлейге орындалу ретін табыстайды.
Барлық оверлеялар дискіде сақталынып, диск пен жады арасынан
операционды жүйе құралдарымен орын алмастырып отырды. Дегенмен
бағдарламаны бөліктерге бөлу мен олардың оперативті жадыға енуін
программист орындауы қажет.
Аталған бағытта есептеуіш үрдісті ұйымдастыру тәсілдерін дамыту
35