«жаратылыстану» институты



бет50/99
Дата04.10.2022
өлшемі2.45 Mb.
#461924
1   ...   46   47   48   49   50   51   52   53   ...   99
ОЖ УМКДд

Логикалық жады. Ұяшықтың сызықтық жиыны түріндегі жадының аппаратты ұйымдастырылуы программистердің бағдарлама мен деректерді сақтауды ұйымдастыруымен сәйкес келмейді. Көпшілік бағдарламалар кеңістіктегі сызықтық адрестерді түзе отырып, бір-біріне тәуелсіз модуль жиынымен сипатталады. Бірақ модульдер әр аймақтағы жадыға әсер етеді және әртүрлі қолданылады.
Бұл көзқарасты қолдайтын жадыны басқару схемасы сегментация деп аталады. Сегмент – ішінде сызықтық мекенді қолдайтын арнайы тағайындалатын жады аймағы. Сегмент процедураға, массивке, стекке және скалярлы шамаға ие болады, бірақ аралас типтегі ақпарат жоқ.
Алғашында жады сегменті бағдарлама кодтары фрагменттері (мәтіндік редактор, тригонометриялық кітапхана) әр процес өзінің кеңістіктегі мекенжайына ақпараттың көшірмесін сақтау керек. Бұл бірнеше процестер жадыны көрсететін жүйеде ақпаратты сақтайды жадының жеке бөлігі сегмент деген атқа ие болады. Жады, осылайша, сызықтық болмайтын болды және екі өлшемдіге айналып кетеді. Мекенжай екі компоненттен тұрады; сегмент нөмірінен, сегмент ішінде араласудан тұрады.
Мекенжайды байланыстыру. Кеңістіктің логикалық және физикалық мекенжайы ұйымдастыру жағынан да, көлем жағынан да бір-біріне сәйкес келмейді. Кеңістіктің логикалық мекенжайының ең жоғарғы көлемі, өлшемі процесор разрядын анықтайды және қазіргі жүйеде кеңістіктің физикалық мекенжайының өлшемін көбейтеді. ЖБ және процесор негізгі жадыда сәйкесінше ағымдағы бағдарламаның орналасуы нақты физикалық мекендегі бағдарлама кодына сілтемені көрсететін қабілеті болу керек. Мекенжайдың мұндай түрі мекенжай трансляциясы немесе мекенжайды байланыстыру деп аталады. Физикалық бағдарлама операторы көмегімен жасалған логикалық мекенжайды байланыстыру оператордың орындалуына дейін немесе оның орындалып жатқан кезінде іске асырылуы керек. Осылайша, жадыға деректермен инструкция байланысы кем жағдайларда орындалады:
1) Компиляция кезеңі. (Compile time) Жадыда компиляция кезінде процестің орналасатын орны анық белгілі болса, онда физикалық мекенжай сәйкесінше сол орында өндіріледі. Бағдарламаның бастапқы мекенжайын өзгерту үшін оның кодын қайтадан компилирлеу керек. Мысал ретінде MS-DOS-та *.com бағдарламасын алуға болады, ол компиляция стадиясында оны физикалық мекенжаймен байланыстырады.
2) Жүктеу кезеңі. (Load time). Егер компиляция стадиясында бағдарламалардың орналасуы туралы ақпарат болмаса, онда компилятор араласқан кодты өндіреді. Бұл жағдайда байланыстыру жүктелген уақытқа дейін орындалмайды. Егер Бастапқы мекенжай ауыстырылса, онда өзгертілген шама есебінде кодты қайта жүктеу керек.
3) Орындалу кезеңі. (Execution time). Егер процес жадының бір жағынан екіншісіне өту кезінде ауыстырылған болса, онда байланыстыру стадиясына дейін орындалмайды. Мұнда арнайы құрылғының бар болғаны дұрыс, мысалы ауыстырушы регистрдің болғаны дұрыс. Қазіргі ЖБ-нің көбінде «орындалу» кезеңінде мекенжай трансляциясы іске асыру арнайы аппарат механизмі үшін қолданылады.
Жадыны қолдануда тиімді бақылаумен қамтамасыздандыру үшін ЖБ келесі функцияларды орындау керек:
- процестің кеңістіктегі мекенжайының физикалық жадының белгілі бір аймағына әсері;
- бір-бірімен бәсекелес (конкурент) процестер арасында жадының бөлінуі;
- процестің кеңістіктегі мекенжайына қатынас жасауын бақылау;
- оперативті жадыда орын болмаған кезде ішкі жадыдан процестердің түсуі (бүтіндей немесе біртіндеп);
- бос қалған және бос емес жадыны есепке алу.
Беттік жады (Страничная память). Ең қарапайым және ең көп тараған беттік жадыны ұйымдастыру, (paging) кеңістіктің логикалық мекенжайы сияқты, физикалық берілетін блок жиынынан немесе өлшемді бірдей беттерден тұрады. Сонымен қатар, логикалық бет (page) пайда болады, ал физикалық жадыдағы сәйкес бірліктер бет кадрлары (страничные кадры) (page frames) деп аталады. Беттер (және бет кадрлары) бекітілген ұзындыққа ие болады. Әрбір кадрда бір бет деректер болады. Мұндай ұйымдастырылуларда сыртқы (фрагментация) үзінділеу болмайды және процестің соңғы бетінің бөлігі шектелген.
Жад қорының менеджері орын механизмі және жады көлемінің құрылымдық механизміне байланысты сипатталады.
Құрылымдық базалық элемент жады блогы болып табылады. Онда жадты басқару блогы – басқарушы элементтерге бөлінеді.
Толығымен жады қоры жадтың бос блоктар ретімен түзілген динамикалық құрылыммен беріледі. Реттеу бір-бірімен өзара байланысқан жады блоктарының тізімімен жүргізіледі.
Барлық бос блоктар қорлық және функционалдық құраушылармен сипатталатын ретке біріктіріледі.
Қордың құрамында сандық сипаттамалар, функционалдықта - жадтың қорын бақылау бойынша жұмыс істеу функциялары беріледі.
Жадтың блоктарымен манипуляциялау жұмыс істеу функцияларымен анықталады:
1) ТБТ функциясы (тізімнен блокта таңдау), берілген аргумент ретінде талап етілген жады көлемі болады. Бұл жерде аргумент жады блогының орны болып табылады, ал дәлірек талап бойынша бөлінетін мәліметтердің блоктар орны.
2) Ажырату функциясы – тізімнен блокты алып тастайды.
3) Блокты қайтадан тізімге енгізу (БҚТЕ) функциясы – блокты тізімге қосу.
Жады қорын бірден-бір бақылаушы функция динамикалық қолдану жадының жүрісінде алынатын дефрегменттеу функциясы болып табылады.
Жадыны қолданудың екінші маңызды функциясы жадтағы бағдарламаларды реттеу болып табылады. Бұл функцияны жүктеу бағдарламасы іске асырады, ал жүктеу үрдісіне жадыдан таңдап алынған функцияны жүктелген бағдарламалық модульдің орнын анықтау үшін сұраныс беріледі. Алда жүктеуші жүктеу бағдарламасының салыстырмалы орнын түзету үшін – жад орнын қолданады.


Достарыңызбен бөлісу:
1   ...   46   47   48   49   50   51   52   53   ...   99




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

    Басты бет