Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Duisembiev-Parallel-esep.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.86 Mб
Скачать

5 Сурет. Вм консолынің мысалы

Пайдаланушы, виртуалды машинаның «ішіне» нақты компьютердегі сияқты өзіне керекті операциялық жүйені орнатады. Осындай, нақты ВМ-ға тиісті операциялық жүйе қонақтық деп аталады (guest OS). Қолданылатын қонақтық ОЖ тізімі - виртуалды машиналардың ең маңызды сипаттамаларының бірі болып табылады. Бүгінгі күнгі заманауи виртуалды машиналар Windows, Linux және MacOS операциялық жүйелері ұрпақтарының бірнеше ондаған нұсқаларын қолдауды қамтамасыз етеді.

Виртуалды машинаның ішкі көрінісі

Виртуалды машина жасалып, іске қосылғаннан кейін, пайдаланушыға өзінің жеке процессоры, жедел жадысы, видеожүйесі және ішіне флоппи–дисковод, CD/DVD оқу құрылғылары кіретін «стандартты» сыртқы құрылғылыры жиынтығы бар автономды компьютермен жұмыс істеп отырғандай болып көрінуі мүмкін (сондай иллюзия туындауы мүмкін).

Бірақ шын мәнінде, виртуалды машина нақты компьютердің физикалық ресурстарына қатынай алмайды (не имеет доступа). Бұл жұмыс біз жоғарыда атап өткен ВММ–на және тағы да бір қызмет көрсетуші бағдарлама – виртуалды машиналар драйверіне жүктеледі.

Виртуалды машиналар пайдаланылатын қарапайым ықшамдалған түрдегі жүйе архитектурасы төмендегідей көрініске ие болады.

  • хосттық ОЖ және виртуалды машиналар мониторы компьютердің аппараттық компоненттерін басқаруды өзара бөлісіп алады; бұнда хосттық ОЖ ресурстарды өз қосымшалары арасында таратумен (ВМ консолін қоса есептегенде) айналысады;

  • ВМ мониторы ресурстардың іске қосылған виртуалды машиналар арасында таратылуын қадағалайды, және олар үшін аппараттық деңгейге нақты ену иллюзиясын жасайды (бұл механизмді виртуалдану деп атайды);

  • өзіне бөлінген ресурстар шегінде қонақтық ОЖ «өзінің» қосымшаларының жұмысын басқарады (6 сурет).

6 Сурет. Виртуалды машиналар жүйесінің архитектурасы

Келтірілген құрылым жалпыға тән болып есептеледі. Сонымен бірге қазіргі таңдағы нарықта ұсынылып жатқан виртуалды машиналар жүйелерінің біршама ерекшеліктері де бар. Бұның басты себебі – әрбір жүйедегі виртуалдандыру механизмінің қандай түрін пайдалануда болып тұр.

§1.1.2 Виртуалды машиналардың түрлері

Виртуалды машиналар жүйесі әр түрлі платформалар базасында және әр түрлі технологиялар көмегімен жасалуы мүмкін. Виртуалдандыруды пайдаланатын схема аппараттық платформаға және хосттық ОЖ мен қолдау көрсетілетін қонақтық ОЖ-лердің «қарым-қатынастарының» ерекшеліктеріне де байланысты болады. Кейбір архитектуралар виртуалдандыру мүмкіндігін аппараттық деңгейде қамтамасыз етеді, басқалары қосымша бағдарламалық көмектерді қолдануды қажет етеді.

Қазіргі кезде виртуалдандырудың үш схемасы кеңінен таралған:

  • қонақтың ОЖ АРІ эмуляциялау;

  • қонақтық ОЖ толық эмуляциялау;

  • қонақтық ОЖ квазиэмуляциялау.

Қонақтық ОЖ АРІ эмуляциялауымен виртуалды машиналар

Көбінесе қосымшалар оқшауланған адрестік кеңістікте жұмыс істейді және қондырғымен операциялық жүйе ұсынған АРІ (Apрlication Programming Interfase – қолданбалы бағдарламалау интерфейсі) интерфейсінің көмегімен қарым-қатынас жасайды. Егер, екі операциялық жүйе өздерінің АРІ интерфейстерімен сәйкес (совместимы) болса (мысалы Windows МЕ және Windows ХР), онда олардың біріне арналып жасалған қосымша екіншісінде де жұмыс істей алады. Ал егер екі операциялық жүйенің АРІ интерфейстері сәйкес болмаса (мысалы Windows 2000 және Linux), онда қонақтық ОЖ АРІ-не бағытталған қосымшалар қатынасын ұстап алуды (перехват) және оның әрекетін хосттық ОЖ құралдарымен имитация жасауды қамтамасыз ету керек. Бұндай кезде бір операциялық жүйені орнатып қойып бір мезгілде оның өзінің қосымшаларымен де және басқа операциялық жүйенің қосымшаларымен де жұмыс жүргізуге болады.

Тек АРІ - дің шақырулары ғана эмуляцияланып, қосымшаның тұтас коды эмуляциясыз орындалатын болғандықтан, виртуалдандырудың бұндай схемасы виртуалды машиналардың өнімділігінің шамалы ғана кемуіне алып келеді. Алайда, көптеген қосымшалар құжатталмаған АРІ функцияларын пайдаланатын болғандықтан, немесе АРІ–ді айналып өтіп тікелей операциялық жүйенің қызметіне жүгінетіндіктен, ең жақсы деген АРІ эмуляторының өзінде сәйкестік мәселелері туындайды, соның салдарынан мүмкін болған барлық қосымшалардың 70 % - ға жуығын ғана іске қосуға мүмкіндік береді. Сонымен бірге, өте тез дамып келе жатқан операциялық жүйелердің (мысалы, Windows сияқты) АРІ эмуляциясының жұмысын тұрақты қолдап тұру оңай емес, сондықтан да АРІ эмуляторының көпшілігі операциялық жүйенің қандай да бір нақты нұсқасының эмуляторы болып қалуда. Мысалы, Windows NТ/ 2000 ОЖ осы күнге дейін І.х. нұсқасының OS/2 қосымшасына арналған эмулятор орнатылған. Қонақтық ОЖ АРІ эмуляциялауымен ВМ–ның ең басты кемшілігі – оның нақты бір операциялық жүйеге бағытталғандығы.

Қонақтық ОЖ АРІ эмуляциялау технологиясы бойынша жасалған өнімдер мысалдары:

    • ашық кодты Wine жобасы (Wine Is Not an Emulator, «Wine» - эмулятор емес), ол Linux және Unix операциялық жүйелері басқаруымен Dos-, Win16- және Win32 қосымшаларын жүктеуге мүмкіндік береді;

    • Linux операциялық жүйесі басқаруымен Windows операциялық жүйесін қосуға мүмкіндік беретін Netraverse компаниясының Win4Lin өнімі;

    • Linux операциялық жүйе басқаруында Dоs–қосымшаларды іске қосуға мүмкіндік беретін ашық кодты DOSEMU жобасы;

    • бір компьютерде Linux операциялық жүйесінің бірнеше нұсқасын іске қосуға мүмкіндік беретін ашық кодты User Mode Linux (UML) жобасы. (қазіргі кезде Linux 2.6 ядросына ендірілген);

    • бір компьютерде Linux операциялық жүйесінің бірнеше нұсқасын іске қосуға мүмкіндік беретін ресейлік SWsoft компаниясы құрастырып шығарған Virtuozzo технологиясы.

Қонақтық ОЖ толық эмуляцияланған виртуалды машиналар

Толық эмуляция технологиясына қолдау көрсететін жобалар, қонақтық ОЖ бұйрықтар жүйесіндегі нұсқауларды интерпретациялау қағидасы (по принципу интерпретации) бойынша жұмыс атқарады. Бұл жағдайда процессордың, сонымен бірге барлық сыртқы құрылғылардың да іс–әрекеті толық эмуляцияланатындықтан, Intel x86 архитектуралы компьютерлерді басқа архитектуралы компьютерлерде эмуляциялау мүмкіндігі туады, мысалы, Мас жұмыс станцияларында немесе RISC–процессорларымен Sun серверлерінде.

Толық эмуляциялаудың басты кемшілігі – бұл қонақтық операциялық жүйенің өнімділігінің айтарлықтай төмендеуінде («қонақтық» қосымшалардың жұмыс жылдамдығы 100 – 1000 есеге төмендеуі мүмкін). Сондықтан да, толық эмуляцияланған ВМ соңғы кезге дейін операциялық жүйелерді зерттеу және белгілеуге арналған төменгі деңгейлі жөндеушілер есебінде пайдаланылды. Бірақ, бүгінгі күні есептеу машиналарының есептеу қуатының жылдам көбеюінің арқасында, толық эмуляцияланған ВМ бәсекеге қабілетті бола бастады. Осындай ВМ ең бір жарқын мысалы Connectix фирмасының Virtual РС өнімі (қазіргі кезде оны Microsoft сатып алған).

Толық эмуляциялау технологиясы бойынша жасалған басқа жобалардың мысалы ретінде төмендегілерді келтіруге болады:

  • Linux негізінде жасалған Intel x86, Windows, BeOS, Mac OS сияқты түрлі операциялық жүйелерді іске қосуға мүмкіндік беретін ашық кодты Bochs жобасы;

  • Windows және басқа да операциялық жүйелер басқаруындағы түрлі Intel x86 операциялық жүйелерді іске қосуға мүмкіндік беретін Virtutech компаниясының Simics өнімі;

  • Qemu жобасы – РС әртүрлі архитектуралар эмуляторы.

Қонақтық ОЖ квазиэмуляцияланған виртуалды машиналар

Қонақтық ОЖ квазиэмуляциялау технологиясы, қонақтық ОЖ нұсқауларының барлығы бірдей хосттық операциялық жүйе құралдары арқылы эмуляциялауды талап етпейтіндігіне негізделген. «Қонақтық» қосымшалардың дұрыс жұмыс істеуіне қажетті нұсқаулардың көпшілігі, хосттық ОЖ тікелей нақты адрестелген болуы мүмкін. Олардың ішінен басқаруға арналған келесі құралдарды шығарып тастауға болады: видеокарта, ІDE-бақылаушы (контроллер) таймер және тағы басқалар.

Сонымен, квазиэмуляцияланған ВМ жұмыс істеу процесінде қонақтық ОЖ нұсқауларын таңдап эмуляциялау іске асады. Сондықтан да, осындай ВМ өнімділігі толық эмуляцияланған ВМ қарағанда анағұрлым артық болатыны анық. Соған қарамастан, жоғарыда айтылғандай, дербес компьютерлердің деңгейінің өсу барысында бұл айырмашылық онша көп болмайды.

Квазиэмуляциялау технологиясы бойынша жасалған жобалардың мысалдары:

  • Virtual Platform технологиясы, оның негізінде VMware компаниясы төрт түрлі өнімді ұсынады: Windows NT/2000/XP үшін VMware Workstation, Linux үшін VMware Workstation, VMware GSX Server (group server) және VMware ESX Server (enterprise server);

  • Германиялық NetSys CmbH компаниясының тапсырысы бойынша Ресейдің Параллели (Parallels) компаниясы құрастырған Serenity Virtual Station (SVISTA, бұрынғы twoOStwo) виртуалды машинасы;

  • Linux басқаруындағы әртүрлі Intel x86 операциялық жүйелерді іске қосуға мүмкіндік беретін ашық кодты Plex86 жобасы;

  • Микроядроны пайдаланатын ашық кодты L4Ka жобасы;

  • Белгілі бір шарттарды сақтаған кезде өнімділікті де арттыра алатын Linux, FreeBSD, NetBSD басқаруындағы жетілдірілген Linux ОЖ, FreeBSD, NetBSD, WindowsXP операциялық жүйелерін іске қосуға мүмкіндік беретін ашық кодты Хеn жобасы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]