Архив номеров
Форум
Контакты

Cтроим мосты: запуск WIN-программ в среде UNIX

ГЛАВНОЕ ПРЕПЯТСТВИЕ, ОСТАНАВЛИВАЮЩЕЕ МНОГИХ НА ПУТИ МИГРАЦИИ С WINDOWS НА UNIX, ЗАКЛЮЧАЕТСЯ В ОГРОМНОМ КОЛИЧЕСТВЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, СОЗДАННОГО ДЛЯ WINDOWS, НО ЕЩЕ НЕ ПЕРЕНЕСЕННОГО В UNIX. РАССМОТРИМ НЕСКОЛЬКО СПОСОБОВ, КОТОРЫЕ ПОМОГУТ ПРОЛОЖИТЬ УСТОЙЧИВЫЙ МОСТ НАД ЭТОЙ ПРОПАСТЬЮ.

Wine: воссоздание Win32 API

Wine — это проект, цель которого — полное воссоздание Win32 API поверх POSIX API и графической оконной системы X Window. Пакет wine моделирует в среде UNIX среду исполнения Windows, позволяя программам, написанным для Windows, без модификации исполняться в UNIX-подобной операционной системе (Linux, FreeBSD, Solaris). Так как wine ничего не эмулирует, а лишь создает Win32-обертки к стандартным функциям POSIX, программы, запущенные под его управлением, исполняются чрезвычайно быстро. В большинстве случаев скорость сопоставима со скоростью запуска программы под Windows, а иной раз превосходит ее. Эта особенность делает wine весьма привлекательным продуктом для тех, кто решил мигрировать на UNIX, но по каким-то причинам не может отказаться от windows-программ.

Картина омрачается только тем, что wine еще недостаточно стабилен в его текущей версии. Проекту уже около двенадцати лет, и он до сих пор находится в alpha-стадии. Разработчики проделали колоссальную работу по реконструкции громоздкого и запутанного API Windows, но некоторые вещи еще не реализованы. В частности, далека от совершенства текущая реализация DirectX, а также отсутствуют некоторые недокументированные API-вызовы. Но большинство программ успешно запускаются и многие ведут себя достаточно стабильно.

CrossОver: наследник wine

CrossOver — это специальная версия wine, включающая в себя дополнительные настройки и доработки, направленные на лучшую совместимость с наиболее популярным ПО для Windows (вроде Microsoft Office, Internet Explorer, PhotoShop, War Craft 3). В отличие от wine, который распространяется свободно и с открытыми исходными текстами, CrossОver является коммерческим продуктом и распространяется в бинарных пакетах за небольшую плату. Доступна также пробная версия, которую любой желающий может загрузить с сайта www.codeweavers.com.

Эмуляторы и виртуальные машины

На данный момент в мире UNIX среди эмуляторов и виртуальных машин можно выделить двух основных игроков. Во-первых, эмулятор qemu, построенный на основе классической технологии программной эмуляции ПК и всех его аппаратных устройств. Во-вторых, Xen, являющийся монитором виртуальных машин и устроенный более изощренно. Ниже рассмотрим оба варианта виртуализации.

Qemu: эмуляция

Qemu — это эмулятор ПК, разработанный французским программистом Фабрисом Беллардом (Fabrice Bellard). Qemu эмулирует не только процессор, но и все его периферийное оборудование (видео и звуковые карты, мышь, клавиатура), поэтому может с легкостью запустить практически любую ОС, поддерживающую персональные компьютеры, как отдельный процесс Linux. Qemu гораздо быстрее другого известного эмулятора Bochs и поэтому снискал большую популярность среди пользователей. Отличительная особенность qemu заключается в том, что он способен работать в двух режимах: имитации всего ПК вместе с периферией и эмуляции целевого процессора. Второй режим позволяет запускать программы Linux, предназначенные для исполнения на процессорах другой архитектуры (поддерживаются x86, ARM, SPARC и PowerPC). Некоторые пользователи применяют этот режим для запуска wine, который привязан к архитектуре x86, на своем PowerPC.

Преимущество qemu в простоте его установки и использования. Являясь всего лишь стандартной программой, исполняемой под контролем операционной системы, он позволяет в кратчайшие сроки развернуть виртуальный сервер или же просто запустить иную операционную систему с целью отладки или использования специальных приложений, недоступных в основной ОС.

Недостаток qemu также в его программной сущности. Программная виртуальная машина, исполняемая как пользовательское приложение, просто не в состоянии обеспечить приемлемый уровень скорости исполнения гостевой операционной системы. Полная эмуляция процессора существенно снижает скорость исполнения кода (надо быть готовым к десятикратному снижению скорости исполнения). К счастью, проблему можно если не решить окончательно, то хотя бы смягчить, используя специальный модуль ядра kqemu, распространяемый с сайта разработчика. Благодаря kqemu эмулятор получает возможность исполнять часть кода гостевой ОС на реальном процессоре, что приводит к заметному увеличению скорости исполнения. По словам разработчика, соотношение скорости исполнения ОС в эмулируемой среде и на реальной аппаратуре составляет от 1:5 до 1:1.

Xen: полная виртуализация

Сегодня лучшим решением среди мониторов виртуальных машин с открытым исходным кодом можно считать Xen, который может использовать как режим полной виртуализации (требует, чтобы процессор поддерживал технологию виртуализации VT от Intel или SVM от AMD), так и режим паравиртуализации (требует модификации ОС).

Достоинством первого режима является то, что с его помощью можно запустить любую ОС, без необходимости какой-либо доработки. Вы получаете возможность одновременно работать как с Windows, так и с Linux, переключаясь между ними при помощи простой комбинации клавиш. Недостаток — в необходимости покупки мощного процессора.

Режим паравиртуализации, напротив, не требует специального процессора, но может быть применен только в сочетании с операционными системами, прошедшими специальную доработку (Linux, Solaris, NetBSD). Кроме того, паравиртуализация обеспечивает более высокую, в сравнении с полной виртуализацией, скорость работы ОС.

Kvm: гипервизор в ядре Linux

Другой вариант полной виртуализации предложили разработчики модуля ядра для Linux, который не требует модификации ядра или отдельного гипервизора. После загрузки модуля kvm само ядро Linux превращается в гипервизор, позволяя гостевой ОС работать с приемлемой скоростью. Kvm использует модифицированную версию qemu для эмуляции устройств ввода-вывода и требует процессор, поддерживающий аппаратную технологию виртуализации.



Обсуждение статьи
Логин:
Пароль:
Регистрации на сервере не требуется. Если у вас есть форумный логин, вы можете использовать его.
Если нету, то вы можете зарегистрироваться на forum.itspecial.ru
Обсуждение этой статьи на forum.itspecial.ru
Для отправки сообщения введите код, указанный на картинке
Заголовок
Сообщение

Guest guest@gameland.ru Отправлено: 21.01.2009 14:31:29
RE: Cтроим мосты: запуск WIN-программ в среде UNIX
а где же решения от VmWare и SUN ?
Страницы: << 1 >>

Теги: Linux, Windows, программы, тема номера


Keywords: zPOSTz zMAIN_THEMEz z10012z
Для Авторов: edit Lock delete Lock

Автор: Евгений Зобнин
Дата: 04.12.2008 13:46:42©


Другие материалы номера
Unix desktop: бизнес-ниша систем *nix
Почему OpenBSD, почему Windows?
Корпоративный *nix: краткий обзор дистрибутивов
Open Source на корпоративном рынке: сравнение совокупной стоимости
Из Windows в Linux: некоторые аспекты переноса
Миграция в открытый стандарт: проблемы переноса
Армагедон XXI века: вред монополизма
Сеть своей головой: основные принципы планирования сети и обеспечения ее безопасности
Cколько стоит упасть и отжаться: вероятность тотального краха
Сетевая бюрократия: разработка пакета регламентирующих документов
Совершенно секретно: безопасность баз данных предприятия
Быстрый и меткий: Fastreport как средство корпоративной отчетности
Разделяй и властвуй: совместная разработка кода
Программирование в ACE: параллелизм
Проблематика сетевого анализа и аудита: оптимальные варианты для успешного решения сетевых проблем и превентивной проверки ЛВС
Эра дешевой, современной, ультразащищенной IP-телефонии: краткие рекомендации создателям новых монополий
Опрос: переход с Windows на Unix?
Живой офис: прорыв или крушение
На службе государства: СОРМ
Технологии и решения на рынке систем хранения данных
Физические аспекты информационной безопасности
Обзор коммутатора HP ProCurve Switch 1800-8G

В этом разделе
Борьба с утечками информации
Директор подразделения Technical Sales, CA EMEA East: безопасностью нельзя управлять бессистемно
Безопасность и удобство: золотая середина
Константин Гавриленко: как и в медицинской практике, болезнь легче вылечить на начальной стадии
Общая проверка безопасности при проведении внутренних аудитов
Внутренний vs внешний: аудит безопасности
Интервью с экспертом Softline
Сертификация: ИТ-безопасность
Сертификация: администратор БД
Сертификация: программист
Сертификация: системный администратор
Особенности национальной сертификации
Золотая рыбка GlassFish: сервер приложений от Sun с открытым исходным кодом
Сервер приложений и JavaBeans: современная альтернатива клиент-серверной технологии
Будьте бдительны: Java-мидлеты
Новое - хорошо забытое старое: уязвимость Java-приложений
Небезопасная безопасная Java
JavaOne 2007. Репортаж с конференции
Java vs .NET: почему .NET
Java для SMB: Удобство решения определенных задач
Круговорот документов: система автоматизации документооборота Docs Vision
Внедрение ERP на практике: описание примера внедрения системы Microsoft Dynamics AX
Корпоративные ­информационные системы
Борьба с утечкой информации через USB/Ethernet-порты
АнтиDoS: защита от DoS-атаки средствами маршрутизатора


Хакер | GameLand | Мобильные компьютеры | Купи Камеру | Total Football | All Hockey | Onboarg Magazine | Хулиган | Sync
Total DVD | DVDxpert | Maxi Tuning | (game)land company | GamePost | Свой Бизнес


Rambler's Top100