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


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



бет36/99
Дата04.10.2022
өлшемі2.45 Mb.
#461924
1   ...   32   33   34   35   36   37   38   39   ...   99
ОЖ УМКДд

1.3.сурет. Виртуалды мекен-жай кеңістігінің түрлері:
жалпақтау (а), сегменттік (б)
Виртуалдық мекен-жайдың физикалық түрленуіге 2 ерекшелігі бар:

  • Бірінші жағдайда жадыға бағдарламаны бастапқы тейіптеу кезінде виртуалдық мекен-жайды физикалыққа ауыстыру әрбір процессте бірақ рет орындалады. Арнайы жүйелік бағдарлама – орын ауыстыру тиіпеуіші – бағдарламаны тейіптеу барысында жадының бастапқы физикалық мекен-жайы туралы шығатын мәлімет негізделеді, сонымен қатар мекен-жайды тәуелді программа туралы транслятормен берілген ақпарат бағдарламаны тейіптеп, виртуалдық мекен-жайды физикалықпен ауыстырады;

  • Екінші тәсіл мынамен шектеледі, бағдарлама жадыға виртуалды мекен-жайға өзгермеген түрінде тиіптеледі, нақты айтқанда операнды инструкциясы мен мекен-жайдың ауысуы траслятор өңдеген мағынасымен көрсетіледі. Тейіптеу кезінде виртуалдық мекен-жайға бағдарлама кодының орындалуын операциялық жүйеде белгілейді. Бағдарламаның орындалуы кезінде әрбір операциялық жадыға өтуінде виртуалдық мекен-жайдың физикалыққа жаңартылуы орындалады. Бұның жаңарту кестесі 5.4. суретте көрсетілген

мысалға операциялық жүйе сызықтық-құрылымды виртуалдық мекен-жаймен қолданылсын және осы операциялық жүйе басқаратын кейбір бағдарламалар физикалық жадыға физикалық мекен-жайдан бастап тейіптелген. Бастапқы S ығысу мағынасын операциялық жүйе сақтайды және бағдарлама орындалу уақытында оны арнайы процессор регистрына орналастырады. Берілген бағдарламаның виртуалдық мекен-жайлары жадыға
кірген уақытта физикалық жолмен немесе оларға S ығысуының қосылуы түрлендіріледі. Мысалға: V мекен-жайы бойынша орналасқан MOV мәліметтер ауысу инструкциясының
орындалуында VA+S
физикалық мекен-жай V мекен-жайы бойынша орналасады.
1.4. суретте динамикалық мекен-жайларды жаңарту кестесі
Соңғы тәсіл ыңғайлау болып табылады. Тейіптеуіш бағдарламаны бастапқы жадының бөлігіне қатты байланыстырғанда, виртуалдық мекен-жайдың динамикалық түрлендіруі процесстің бағдарламалық кодын орындау кезінде оны ауыстыруға мүмкіндік береді. Бірақ ауыстыру тейіптеуішін қолдану өте үнемді, өйткені бұл жағдайда әрбір виртуалды мекен-жайдың түрлендіруі тейіптеу кезінде бірақ рет болады, ал динамикалық жаңартуда - әрбір мекен-жайдың мәліметтерін қолданған сайын. Виртуалды мекен-жайлы процесстің максималды мүмкіндігі мен виртуалды мекен-жайдың көрсетілуін ажырата білу қажет. Бірінші жағдайда операциялық жүйе жұмыс істейтін компьютердің архитертурасымен анықталатын виртуалдық мекен-жайдың максималды мөлшері, әсіресе оның адресация кестесі топталуы жөнінде айтылған. Мысалы, 32-топтық Intel Pentium процессорларымен жұмыс істеген уақытта операциялық жүйе әрбір процесске 4 Гбайтқа деінгі виртуалды мекен-жай береді. Бірақ бұл мағына виртуалдық мекен-жайдың практикада сирек қажет болатын сәйкестік мөлшері болып табылады. Процесс виртуалдық мекен-жайдың шектелген бөлігін қолданады.
Б
елгіленген виртуалдық мекен-жай жұмыс процессіне нақты керек жинағы болып табылады. Кодтық сегмент – сонымен бірге сегмент немесе мәліметтер сегментін құрғанда осы мекен-жайларды бастапқы бағдарламаның мәтініне негіздеп, бағдарламаға тронслятор негіздейді. Содан кейін поцессті құру кезінде операциялық жүйе виртуалды мекен-жайды өзінің жүйелігінде белгілейді. Процесс өзінің орындалу барысында мекен-жайын операциялық жұйеден қосымша сегменттің құрылуын немесе бар мөлшерін көбейтуін сұрап бастапқы белгіленген виртуалдық мекен-жайдың мөлшерін көбейте алады. Кез келген жағдайда операциялық жүйе әдетте виртуалдық мекен-жай процессінің сәйкестігін қолдануын бақылайды – оған белгіленген сегменттің шетіне шыққан виртуалды мекен-жайымен процесске операция жүргізілмейді. Виртуалды мекен-жайдың максималды мөлшері компьютердің берілген архитектурасымен сәйкес мекен-жайдың топталуымен шектеледі, әдетте ол компьютердегі физикалық жады көлемімен келіспейді. Бүгінгі күнгі универсалдық машина үшін виртуалдық мекен-жайдың көлемі оперативтік жады көлемінен асады. Қолданбалы кодтан операциялық жүйе кодына беру басқаруын шектеу үшін және операциялық жүйе модульдерін жеңіл қоланбалы мәліметтерге кіру үшін рұқсат. Мысалы, оларды сыртқы құрылғыға шығару үшін көбінесе операциялық жүйе олардың сегменттерін белсенді процесстің виртуалды мекен-жаймен қолданбалы бөледі. Нақты айтқанда операциялық жүйе сегменттері мен белсенді процесс сегменттері біргелкі виртуалды мекен-жайды құрайды.
Әдетте процесстің виртуалдық мекен-жайы екі үздіксіз бөлікке бөлінеді: жүйелік және қолданбалық. Кейбір операциялық жүйелерде (мысалға: Windows) бұл бөлшектер біркелкі мөлшер – 2Гбайттан болады. Мысалы: 1Гбайт операциялық жүйе үшін, және 2Гбайт қолданбалы бағдарлама үшін әрбір процесстің виртуалды мекен-жай бөлігі операциялық жүйе сегментіне арналған барлық процесске сәйкес болады. Сондықтан белсенді процесс ауысуында, индивидуалды сегментті бар виртуалды мекен-жайдың екінші бөлігіне ауыстырылады. Әдетте – кодтармен және қолданбалы бағдарламаның мәліметтері (5.5.сурет). жаңашыл процессордың архитектурасы виртуалдық мекен-жайдың құрылымының ерекшелігін көрсетеді. Мысалы: Intel мұндай жағдайда операциялық жадыға симайтын мәліметтер сақтайтын жүйе сыртқы жаңашыл компьютерлерді қатқыл дискісі бар жадысын пайдаланады. Осы принципте виртуалды жады негізделген. Жадыны басқару үшін операциялық жүйеде қолданылатын жаңашыл тетік.
Виртуалдық мекен-жай және виртуалдық жады әртурлі тетік және олар бір уақытта міндетті түрде шындалмайды. Процесс үшін виртуалдық мекен-жай қолдайтын оперативтік жүйені өзімізге ұсынуымызға болады, бірақ виртуалдық жадының тетігі болмайды.
Виртуалдық мекен-жайға белгіленген анықтама, нақтырақ айтқанда команда коды шығушы және мәлімет аралығы, сонымен қатар есептің нәтижнесі процесстің барысын көрсетеді.
Процесстің жұмыс уақытында операциялық жүйенің функциялық жүйе ретінде қолданбалы кодтан немесе қолданбалы кодтың сәйкес емес тәртібінен пайда болған шектелген жағдай немесе сыртқы жағдайға реакция ретінде шақырылған ауысуы орындалады. Pentium процессорында жүйелік кестенің 2 түрі бар: біреуі жалпы процесстерге арналған сегменттерді бейнелеу, ал басқасы берілген процесстің индивидуалдық сегментін бейнелеу үшін. Процесс ауысу кезінде бірніші кесте өзгермейді, ал екіншісі жаңа болып өзгереді.





Достарыңызбен бөлісу:
1   ...   32   33   34   35   36   37   38   39   ...   99




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

    Басты бет