Разработка сайта для Вашего бизнеса. Веб дизайн. Дизайн логотипа, фирменного стиля, рекламная фотография . Комплексный рекламный креатив.

Ralex. We do the work.
На рынке с 1999го года. Средняя ценовая категория. Ориентация на эффективность решений.
Ознакомтесь с нашим портфолио
Узнайте больше о услугах
Свяжитесь с нами:
E-mail: [email protected]
Tel: (044) 587 - 84 - 78
Custom web design & дизайн и разработка сайта "под ключ"
Креативный, эффективный дизайн. Система управления сайтом (СУС).
Custom flexible разработка систем электронной коммерции
Система e-commerce разрабатывается под индивидуальные потребности. Гибкая функциональность.
Search Engine Optimzation & оптимизация под поисковые системы (SEO)
Постоянная оптимизация и мониторинг сайта в поисковых системах. Достигаем результата быстро и эффективно
Custom logo design & дизайн логотипа и фирменного стиля
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.
профессиональная рекламная фотография
креативно, смело, качественно
Custom logo design & рекламный креатив. дизайн рекламы
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.

Глава 1 Знайомство з технологією віртуальних машин / Віртуальні машини: кілька комп'ютерів в одному

  1. Примітки:

  • Навіщо потрібні віртуальні машини
  • Як працює віртуальна машина
  • Термінологія
  • Віртуальна машина зсередини
  • Види віртуальних машин
  • Віртуальні машини з емуляцією API гостьової ОС
  • Віртуальні машини з повною емуляцією гостьової ОС
  • Віртуальні машини з квазіемуляціей гостьовий ОС
  • Наша взаимовыгодная связь https://banwar.org/

    Знайомство з технологією віртуальних машин

    Поняття «віртуальна машина» з'явилося на світ кілька десятків років тому, ще в кінці 60-х років минулого століття. Ось тільки застосовувалися тоді віртуальні машини не на персональних комп'ютерах, а на «великих» ЕОМ типу IBM / 370 (або їх радянського аналога - ЄС ЕОМ), та й завдання у них були дещо інші: надати кожному з численних користувачів свій, незалежний «шматочок »ресурсів обчислювального монстра.

    Сьогодні віртуальні машини переживають друге народження. Один із «батьків» сучасного покоління віртуальних машин, професор Розенблюм [1] , Пояснює їх відродження двома основними причинами:

    ■ появою великої кількості різних операційних систем (ОС), що пред'являють специфічні вимоги до параметрів використовуваних апаратних компонентів комп'ютера;

    ■ великими витратами на адміністрування і складністю обслуговування комп'ютерів, на яких встановлено кілька різних операційних систем (в тому числі в плані забезпечення необхідної надійності і безпеки роботи).

    Сучасна віртуальна машина дозволяє приховати від встановленої на ній операційної системи деякі параметри фізичних пристроїв комп'ютера і тим самим забезпечити взаємну незалежність ОС і встановленого обладнання.

    Такий підхід надає користувачам (і / або адміністраторам обчислювальних систем) цілий ряд переваг. До них, зокрема, відносяться:

    ■ можливість установки на одному комп'ютері декількох ОС без необхідності відповідного конфігурації фізичних жорстких дисків;

    ■ робота з декількома ОС одночасно з можливістю динамічного перемикання між ними без перезавантаження системи (рис. 1.1);

    ■ скорочення часу зміни складу встановленими;

    ■ ізоляція реального обладнання від небажаного впливу програмного забезпечення, що працює в середовищі віртуальної машини;

    ■ можливість моделювання обчислювальної мережі на єдиному автономному комп'ютері.

    Мал. 1.1. Кілька віртуальних машин на одному робочому столі


    Завдяки цим перевагам істотно розширюється коло завдань, які користувач може вирішувати без перезавантаження системи і без побоювання завдати їй якоїсь шкоди або повністю вивести її з ладу. Ось тільки деякі приклади таких завдань:

    ■ освоєння нової ОС;

    ■ запуск додатків, призначених для роботи в середовищі конкретної ОС;

    ■ тестування однієї програми під управлінням різних ОС;

    ■ установка і видалення оціночних або демонстраційних версій програм;

    ■ тестування потенційно небезпечних програм, щодо яких є підозра на вірусне зараження;

    ■ управління правами доступу користувачів до даних і програм в межах віртуальної машини.

    Читач, мабуть, і сам без праці доповнить наведений перелік двома-трьома ситуаціями, коли наявність на комп'ютері віртуальної машини виявилося б вельми до речі.

    Яким користувачам бажано навчитися працювати з віртуальними машинами? Мабуть, всім, у кого на комп'ютері встановлено більше однієї ОС. А також тим, хто хоче освоїти нову операційну систему, але не наважується відразу відмовитися від попередньої. Дуже корисні віртуальні машини викладачам різних комп'ютерних курсів і дисциплін, а також розробникам багатоплатформених програмних продуктів. Особливий інтерес вони представляють для веб-дизайнерів: адже створені ними сторінки повинні виглядати однаково привабливо для користувачів, що працюють на самих різних системах і платформах. Маючи можливість за допомогою системи віртуальних машин швидко перемикатися з одного середовища і іншу, «правильний» веб-дизайнер навряд чи упустить шанс перевірити результат своєї роботи в різних веб-браузерах.

    Всі перераховані достоїнства віртуальних машин є загальними для багатьох з них. Крім цих загальних властивостей, конкретний програмний продукт має, як правило, індивідуальними особливостями, покликаними підвищити його привабливість в порівнянні з конкуруючими виробами.

    На веб-сайтах розробників віртуальних машин можна знайти численні приклади використання технології таких машин різними відомими компаніями. Так, віртуальні машини VMware використовуються компанією Symantec для тестування мережевих антивірусних пакетів; програмісти популярної пошукової системи Google застосовують віртуальні машини VMware для оцінки ефективності роботи Google з різними веб-браузерами і на різних платформах.

    Почнемо з уточнення термінів.

    З точки зору користувача, віртуальна машина (ВМ) - це конкретний екземпляр якоїсь віртуальної обчислювальної середовища ( «віртуального комп'ютера»), створений за допомогою спеціального програмного інструменту. Зазвичай такі інструменти дозволяють створювати і запускати довільне число віртуальних машин, обмежується лише фізичними ресурсами реального комп'ютера.

    Власне інструмент для створення ВМ (його іноді називають додатком віртуальних машин, або ПЗМ) - це звичайна програма, що встановлюється, як і будь-яка інша, на конкретну реальну операційну систему. Ця реальна ОС іменується «хазяйської», або хостовой, ОС (від англ. Терміна host - «головний», «базовий», «провідний»).

    Всі завдання з управління віртуальними машинами вирішує спеціальний модуль в складі додатка ВМ - монітор віртуальних машин (МВМ). Монітор грає роль посередника у всіх взаємодіях між віртуальними машинами і базовим обладнанням, підтримуючи виконання всіх створених ВМ на єдиній апаратній платформі і забезпечуючи їх надійну ізоляцію. Користувач не має безпосереднього доступу до МВМ. У більшості програмних продуктів йому надається лише графічний інтерфейс для створення і налаштування віртуальних машин (рис. 1.2). Цей інтерфейс зазвичай називають консоллю віртуальних машин.

    Мал. 1.2. Приклад консолі віртуальних машин


    «Усередині» віртуальної машини користувач встановлює, як і на реальному комп'ютері, потрібну йому операційну систему. Така ОС, що належить конкретній ВМ, називається гостьовий (guest OS). Перелік підтримуваних гостьових ОС є однією з найбільш важливих характеристик віртуальної машини. Найбільш потужні з сучасних віртуальних машин (представлені в даній книзі) забезпечують підтримку близько десятка популярних версій операційних систем з сімейств Windows, Linux і MacOS.

    Коли віртуальна машина створена і запущена, у користувача може виникнути повна ілюзія того, що він працює з автономним комп'ютером, що має власні процесор, оперативну пам'ять, відеосистему і (як правило) «стандартний» набір зовнішніх пристроїв, включаючи флоппі-дисковод і пристрій читання CD / DVD.

    Насправді віртуальна машина не має доступу до фізичних ресурсів реального комп'ютера. Робота з ними покладено на згадуваний раніше МВМ, а також на ще одну службову програму - драйвер віртуальних машин.

    У спрощеному вигляді архітектура системи, в якій використовуються віртуальні машини, виглядає наступним чином (рис. 1.3):

    ■ хостової ОС і монітор віртуальних машин поділяють між собою права на управління апаратними компонентами комп'ютера; при цьому хостової ОС займається розподілом ресурсів між власними додатками (включаючи і консоль ВМ);

    ■ монітор ВМ контролює розподіл ресурсів між запущеними віртуальними машинами, створюючи для них ілюзію безпосереднього доступу до апаратного рівня (цей механізм називають виртуализацией);

    ■ гостьові ОС в межах виділених їм ресурсів керують роботою «своїх» додатків.

    Мал. 1.3. Архітектура системи віртуальних машин


    Наведена архітектура є досить загальною. Однак представлені сьогодні на ринку системи віртуальних машин мають і суттєві відмінності. Обумовлені вони в першу чергу механізмом віртуалізації, який використаний в тій чи іншій системі.

    СВМ може бути побудована на базі різних платформ і за допомогою різних технологій. Використовувана схема віртуалізації залежить як від апаратної платформи, так і від особливостей «взаємин» хостовой ОС і підтримуваних гостьових ОС. Деякі архітектури забезпечують можливість віртуалізації на апаратному рівні, інші вимагають застосування додаткових програмних хитрувань.

    В даний час поширення набули три схеми віртуалізації:

    ■ емуляція API гостьової ОС;

    ■ повна емуляція гостьовий ОС;

    ■ квазіемуляція гостьовий ОС.

    Зазвичай програми працюють в ізольованому адресному просторі і взаємодіють з обладнанням за допомогою інтерфейсу API (Application Programming Interface - інтерфейс прикладного програмування), що надається операційною системою. Якщо дві операційні системи сумісні за своїми інтерфейсів API (наприклад, Windows 98 і Windows ME), то додатки, розроблені для однієї з них, будуть працювати і на інший. Якщо дві операційні системи несумісні за своїми інтерфейсів API (наприклад, Windows 2000 і Linux), то необхідно забезпечити перехоплення звернень додатків до API гостьової ОС і зімітувати її поведінку засобами хостовой ОС. При такому підході можна встановити одну операційну систему і працювати одночасно як з її додатками, так і з додатками іншої операційної системи.

    Оскільки весь код програми виконується без емуляції, а емулюються лише виклики API, така схема віртуалізації призводить до незначної втрати в продуктивності віртуальної машини. Однак через те, що багато програм використовують недокументовані функції API або звертаються до операційної системи в обхід API, навіть дуже хороші емулятори API мають проблеми сумісності і дозволяють запускати не більше 70% від загального числа додатків. Крім того, підтримувати емуляцію API бурхливо розвивається операційної системи (наприклад, такий як Windows) дуже нелегко, і більшість емуляторів API так і залишаються емуляторами якоїсь конкретної версії операційної системи. Так, в Windows NT / 2000 до сих пір вбудований емулятор для додатків OS / 2 версії 1.x. Але найбільший недолік ВМ з емуляцією API гостьової ОС - це її орієнтація на конкретну операційну систему.

    Приклади продуктів, виконаних але технології емуляції API гостьової ОС:

    ■ проект з відкритим кодом Wine (Wine Is Not an Emulator, «Wine - це не емулятор»), що дозволяє запускати DOS-, Win16- і Win32-додатки під управлінням операційної системи Linux і Unix;

    ■ продукт Win4Lin компанії Netraverse, що дозволяє запускати операційні системи сімейства Windows під управлінням операційної системи Linux;

    ■ проект з відкритим кодом DOSEMU, що дозволяє запускати DOS-додатки під управлінням операційної системи Linux;

    ■ проект з відкритим кодом User Mode Linux (UML), що дозволяє запускати кілька копій операційної системи Linux на одному комп'ютері (в даний час вбудований і ядро ​​Linux версії 2.6);

    ■ технологія Virtuozzo, розроблена російською компанією SWsoft і дозволяє запускати кілька копій операційної системи Linux на одному комп'ютері.

    Проекти, що підтримують технологію повної емуляції, працюють за принципом інтерпретації інструкцій з системи команд гостьової ОС. Оскільки при цьому повністю емулюється поведінку як процесора, так і всіх зовнішніх пристроїв, то існує можливість емулювати комп'ютер з архітектурою Intel х86 на комп'ютерах з абсолютно іншою архітектурою, наприклад на робочих станціях Mac або на серверах Sun з RISC-процесорами. Головний недолік повної емуляції полягає в істотній втраті продуктивності гостьової операційної системи (швидкість роботи «гостьових» додатків може впасти в 100-1000 разів). Тому до недавнього часу ВМ з повною емуляцією найчастіше використовувалися в якості низькорівневих отладчиков для дослідження і трасування операційних систем. Однак завдяки значному зростанню обчислювальних потужностей навіть «настільних» комп'ютерів ВМ з повною емуляцією стали сьогодні цілком конкурентоспроможними. Найбільш яскравий представник цього виду ВМ - продукт Virtual PC фірми Connectix (нині купленої Microsoft), який детально описаний в розділі 2 книги. Як інші приклади проектів, виконаних за технологією повної емуляції, можна назвати наступні:

    ■ проект з відкритим кодом Bochs, що дозволяє запускати різні операційні системи Intel х86 під Linux, Windows, BeOS та Mac OS;

    ■ продукт Simics компанії Virtutech, що дозволяє запускати і налагоджувати різні операційні системи Intel х86 під управлінням Windows та інших операційних систем;

    ■ проект Qemu - емулятор різних архітектур на PC,

    Технологія квазіемуляціі гостьовий ОС заснована на тому, що далеко не всі інструкції гостьової ОС потребують емуляції засобами хостовой операційної системи. Багато з інструкцій, необхідних для коректної роботи «гостьових» додатків, можуть бути безпосередньо адресовані хостовой ОС. Виняток становлять інструкції для керування такими пристроями, як відеокарта, IDE-контролер, таймер, і деякими іншими.

    Таким чином, в процесі роботи RM з квазіемуляціей відбувається вибіркова емуляція інструкцій гостьової ОС. Очевидно, що продуктивність такої ВМ повинна бути вище, ніж у ВМ з повною емуляцією. Проте, як було сказано, при досягнутих рівнях продуктивності персональних комп'ютерів різниця виявляється не настільки відчутною.

    Приклади проектів, виконаних за технологією квазіемуляціі:

    ■ технологія Virtual Platform, на базі якої компанія VMware пропонує чотири продукти: VMware Workstation для Windows NT / 2000 / XP, VMware Workstation для Linux, VMware GSX Server (group server) і VMware LSX Server (enterprise server);

    ■ віртуальна машина Serenity Virtual Station (SVISTA) (колишня twoOStwo), розроблена російською компанією Паралелі (Parallels) на замовлення німецької компанії NetSys GmbH [2] ;

    ■ проект з відкритим кодом Рlеx86, що дозволяє запускати різні операційні системи Intel х86 під управлінням Linux.

    ■ проект з відкритим кодом L4Ka, який використовує микроядро;

    ■ проект з відкритим кодом Xen, що дозволяє запускати модифіковані ОС Linux, FreeBSD, NetBSD і Windows ХР під управлінням Linux, FreeBSD, NetBSD і при дотриманні деяких умов забезпечує навіть приріст продуктивності.

    У наступних розділах книги розглянуті найбільш популярні на сьогоднішній день представники різних видів віртуальних машин: Virtual PC 2004 компанії Microsoft, VMware Workstation від компанії VMware і щодо «свіжий» продукт - Parallels Workstation, створений в компанії Parallels. Причому опис всіх конкуруючих програм побудовано за однією і тією ж схемою, щоб читачеві простіше було порівняти їх між собою і зробити обґрунтований вибір.

    Примітки:


    1

    Мендель Розенблюм (mendel @ cs .stanford.edu) - професор інформатики Стенфордського університету, один із засновників і головний науковий співробітник компанії VMware. Роботі з віртуальною машиною цієї компанії, VMware Workstation, присвячена глава 3 книги.


    2

    В даний час компанія Parallels розділилася на дві самостійні компанії. Перша з них, що зберегла колишню назву, просуває свій продукт під торговою маркою Parallels; друга, що отримала назву Serenity Systems International (http://www.serenityvirtual.com), навпаки, використовує колишнє найменування продукту - SVISTА - і його логотип; обидва варіанти віртуальних машин можуть працювати на ОС Windows NT / 2000 / XP і Linux.



    Яким користувачам бажано навчитися працювати з віртуальними машинами?
    Категории
  • Биология
  • Математика
  • Краеведению
  • Лечебная
  • Наука
  • Физике
  • Природоведение
  • Информатика
  • Новости

  • Новости
    https://banwar.org/
    Наша взаимовыгодная связь https://banwar.org/. Запустив новый сайт, "Пари Матч" обещает своим клиентам незабываемый опыт и возможность выиграть крупные суммы.


    Наши клиенты
    Клиенты

    Быстрая связь

    Тел.: (044) 587-84-78
    E-mail: [email protected]

    Имя:
    E-mail:
    Телефон:
    Вопрос\Комментарий: