Дәрiске әдiстемелiк нұсқау
Дәрiсте берiлген материалды игеру үшiн көпдеңгейліамалдық жүйеде берiлген анықтамаларына көңiл бөлу, оларды ажырата бiлу керек. Дәрiсте берiлген негiзгi мәселелер мен сұрақтарға мән берiңiз. Берiлген терминдерге анықтама берiңiз. Көпдеңгейліамалдық жүйенің атқаратын қызметтерiне талдау жасаңыз.
4.2 Виртуалды машина
Мақсаты:
Виртуалды машинаның жұмыс істеу принциптерімен таныстыру.
Дәріс жоспары:
Виртуалды машинаның мүмкіншілігі мен қолдануы;
Ескі бағдарламалық қамтаманы жаңа компьютерде жүргізу проблемасы.
Тақырып бойынша негізгі түсінік:
Орталық процессор поцесстерді орындаған кезде бір процесстен басқа процеске көшіп отырады, сондықтан әрбір процестің виртуалды орталық процессоры бар деп алған процестердің қасиеттерін және жағдайларын түсінуге жеңілдік жасайды.
Алғашқы OS/360 тек дестелік өңдеуді қолдайтын ғана амалдық жүйесі болған. Бірақ көптеген пайдаланушылар онымен уақытты бөлу режімінде жұмыс істегісі келді. Сондықтан оған уақытты бөлу режімін қолдайтыг қосымша бағдарлама жасалып қосылды. Осыны ескеріп IBM компаниясы TSS/360 атты уақытты бөле амалдық жүйесін жасап шығарды. Бірақ ол өте үлкен және баяу жұмыс істегендіктен оған көп пайдаланушылар өтпей қойды. Кейін IBM компаниясының Массачусетс штатында орналасқан Кембридждегі ғылыми орталығының тобы TSS/360-дан түбегейлі айырмашылығы бар уақытты бөлудің мүлде жаңа CP/CMS деп аталған амалдық жүйені жасап шығарды. Кейін оның атауын VM/370 деп өзгертті. Бұл әлі күнге шейін қалған майнфреймдерде жұмыс істеуде.
VM/370 амалдық жүйесін жасау кезінде уақытты бөлу жүйесі көпесептілікті және нақты құрылғыларды беретін машиналарға қарағанда ыңғайлы интерфейсі бар кеңейтілген машинаны қамтитындығы ескерілді. Сондықтан VM/370 амалдық жүйесінде осы екі функция бір-бірінен толық ажыратылады.
Жүйенің түйіні виртуалды машина мониторы деп аталады, ол жоғарғы деңгейге бір емес бірнеше виртуалды машина беріп жабдықтармен жұмыс істейді және көпесептілікті қаматамасыз етеді. Оның басқа амалдық жүйелерден айырмашылығы, осы виртуалды машиналар кеңейтілген машиналар емес. Олар файлдарды және басқа ыңғайлықтарды қолдамайды және жалаң аппаратураның, ядро режімінің, деректерді енгізу-шығарудың, үзілімдердердің және нақты компьютерде бар басқалардың дәл көшірмесі болады. Әрбір виртуалды машина нақты жабдықтармен бірдей болғандықтан, олардың әрқайсысында аппаратурада тура жіберілетін кез келген амалдық жүйелер жұмыс істей алады. Әртүрлі виртуалды машиналарда әртүрлі амалдық жүйелер жұмыс істей алады. Мысалы, олардың бірінде дестелік өңдеуді ғана қолдайтын көп пайдаланушылық OS/360 жұмыс істесе, ал басқасында уақытты интерактивті бөлетін бір пайдаланушылық CMS (Conversational Monitor System – диалогтық өңдеу жүйесі) жұмыс істейтін болады.
CMS амалдық жүйесінің бағдарламасы жүйелік шақыруды орындағанда амалдық жүйе өзінің жеке виртуалды компьютерінде үзілім жасайды, VM/370 жүйесінде виртуалды машинада емес нақты машинада болған жағдай сияқты болады. Сонан кейін CMS осы жүйелік шақыруға қажет болатын өзінің виртуалды дискісінен оқитын енгізу-шығару командасын немесе басқа команданы береді. Бұл команда VM/370 жүйесімен қабылданып, нақты жабдықтарды моделдеу аясында орындалады. Көпесептілік және кеңетілген машина функцияларын толық ажыратқанда әрбір бөлік едәуір қарапайым және ыңғайлы болады.
Виртуалды машина идеясы кейін өзгертілген күде басқа амалдық жүйелерде жүзеге асырылды. Мысалы, Pentium компьютерінде немесе басқа 32-разрядты Intell процессоры компьютерледе MS-DOS амалдық жүйесінде жасалған ескі бағдарламалармен жұмыс жасау үшін виртуалды машиналар қолданылады. Ол үшін Pentium процессорында виртуалды 8086 процессор режімі жасалды. Бұл режімде машина 8086 сияқты жұмыс істейді, бірақ оның бағдарламалық қамтамасы 8088-бен бірдей және ол көлемі 1 Мбайт болатын 16-разрядты адрестеуі бар жадты да қолдайды. Мұндай режімдер MS-DOS бағдарламаларын жіберу үшін Windows және басқа амалдық жүйелерінде де қолданылады. Бағдарламалар 8086 виртуалды режімінде жіберіледі. Бағдарламалар әдеттегі командаларды орындағанда, олар құрылғылармен тікелей жұмыс істейді. Бірақ бағдарламалар жүйелік шақыруларды жасау үшін амалдық жүйенің үзіліміне қатынас жасаса немесе деректерді тікелей енгізу-шығару жасағысы келсе, онда виртуалды машина мониторына көшетін үзілім болады.
Виртуалды машинаны орнатудың екі әдісі бар:
MS-DOS амалдық жүйесінің өзі 8086 виртуалды машинаның адрестік кеңістігіне орналасады. Мұнда виртуалды машинаның мониторы нақты 8086 машинасында болатындай етіп үзілімді MS-DOS амалдық жүйесіне кері қайтарады. Сонан кейін MS-DOS өздігінен енгізу-шығаруды орындағысы келсе, виртуалды машина мониторы оны тартып алып өзі орындайды.
Виртуалды машина мониторы бірінші үзілімді алып қояды да, енгізу-шығаруды өзі орындайды. Себебі ол MS-DOS-тың барлық жүйелік шақыруларын және әр үзілім не істей алатынын біледі. Бұл біріншіге қарағанда жылдам жұмыс істейді, себебі, енгізу-шығару үшін MS-DOS-ты жүктемейді. Бірақ, олл біріншіге қарағанда мүмкіншілігі аз, себебі, ол тек MS-DOS-ты дұрыс моделдейді, бірақ басқа амалдық жүйелерге байланысты ешнәрсе жасай алмайды.
Виртуалды машиналар Java бағдарламасын орындау үшін де қолданылады. Sun Microsystem корпорациясы Java тілін жасағанда, оған сәйкес виртуалды машинаның архитектурасында ойлап шығарды.Ол JVM (Java Virtual Machine) деп аталды. Java тілінің компиляторы JVM-де орындалатын код шығарады. Бұл кодты Интернет арқылы JVM бар кез- келген компьютерге жіберіп орындауға болады.
Негізі түсінік бойынша нақты амалдық жүйемен жұмыс істеудің практикалық дағдыларын меңгермейінше, онымен жұмыс істеу мүмкін емес; жалпы принциптерін білмейінше, жүйенің тиімді қолдануды үйрене алмайсыз және қазіргі дербес компьютердің кез-келген қолданушысында ертеме, кешпе пайда болатын проблемаларды шеше алмайсыз.
Достарыңызбен бөлісу: |