Жадыны басқару. Жады түрлері.
Жад-Бұл мультипрограммалық операциялық жүйенің Мұқият басқаруын қажет ететін маңызды ресурс. Жадтың ерекше рөлі процессор бағдарламаның нұсқауларын жадта болған жағдайда ғана орындай алатындығымен түсіндіріледі. Жад қолданбалы бағдарлама модульдері арасында да, операциялық жүйенің модульдері арасында да бөлінеді.
Мультипрограммалық жүйеде жадыны басқару ОЖ функциялары:
1. бос және бос жадты бақылау;
2. процестер аяқталғаннан кейін жадты процестерге бөлу және жадты босату;
3. негізгі жадтың өлшемдері оған барлық процестерді орналастыру үшін жеткіліксіз болған кезде кодтар мен процесс деректерін жедел жадтан дискіге (толық немесе ішінара) ауыстыру және бос орын болған кезде оларды жедел жадқа қайтару;
4. бағдарламаның мекен-жайларын физикалық жадтың белгілі бір аймағына орнату.
Оларды құру кезінде процестерге жадты бастапқы бөлуден басқа, ОЖ жадты динамикалық бөлумен де айналысуы керек, яғни жұмыс уақытында оларға қосымша жад бөлу үшін қолданба сұрауларын орындауы керек. Қолданба қосымша жадты қажет етпегеннен кейін, ол оны жүйеге қайтара алады. Жалпы жад пулынан кездейсоқ уақыт нүктелерінде кездейсоқ ұзындықтағы жадты бөлу фрагментацияға әкеледі және нәтижесінде оны тиімсіз пайдалануға әкеледі. Жадты дефрагментациялау да операциялық жүйенің функциясы болып табылады.
Жадты басқару қазіргі уақытта жүйеде бар барлық процестер арасында қолда бар физикалық жадты бөлуді, кодтар мен процестердің деректерін оларға бөлінген жад аймақтарына жүктеуді, процесс кодтарының мекен-жайға тәуелді бөліктерін бөлінген аймақтың физикалық мекен-жайларына конфигурациялауды, сондай-ақ әр процестің жад аймақтарын қорғауды қамтиды.
Жадты қорғау-бұл амалдық жүйенің тағы бір маңызды міндеті, ол орындалатын процестің басқа процеске тағайындалған жадтан деректерді жазуына немесе оқуына жол бермеу.
Айнымалылар мен командаларды анықтау үшін символдық атаулар (белгілер), виртуалды мекенжайлар және физикалық мекенжайлар қолданылады .
Бағдарламаны алгоритмдік тілде немесе Ассемблерде жазу кезінде таңба атауларын пайдаланушы тағайындайды.
Виртуалды мекен-жайларды бағдарламаны машина тіліне аударатын аудармашы жасайды. Трансляция кезінде, жалпы жағдайда, Бағдарламаның жедел жадының қай жеріне жүктелетіні белгісіз болғандықтан, аудармашы айнымалылар мен командаларға виртуалды (шартты) мекен-жайларды тағайындайды, әдетте әдепкі бойынша бағдарлама нөлдік мекен-жайдан бастап орналастырылады деп санайды. Процестің виртуалды адрестерінің жиынтығы виртуалды мекен-жай кеңістігі деп аталады. Әр процестің өзінің виртуалды мекен-жай кеңістігі бар. Виртуалды мекен-жай кеңістігінің максималды мөлшері Компьютердің осы архитектурасына тән мекен-жайдың бит деңгейімен шектеледі және, әдетте, компьютердегі физикалық жад көлеміне сәйкес келмейді.
Физикалық мекенжайлар шын мәнінде айнымалылар мен командалар орналасқан немесе орналасатын жедел жад ұяшықтарының нөмірлеріне сәйкес келеді. Виртуалды мекен-жайлардан физикалық мекен-жайларға көшу екі жолмен жүзеге асырылуы мүмкін. Бірінші жағдайда виртуалды мекен - жайларды физикалық мекен-жайлармен ауыстыруды арнайы жүйелік бағдарлама-жылжытушы жүктеуші жасайды. Жылжытушы жүктеуші бағдарламаны жүктеуге тура келетін физикалық жадтың бастапқы мекен-жайы туралы және бағдарламаның мекен-жайға тәуелді тұрақтылары туралы аудармашы ұсынған ақпарат негізінде бағдарламаны виртуалды мекен-жайларды физикалық мекен-жайлармен алмастырумен біріктіре отырып жүктейді.
Достарыңызбен бөлісу: |