Новость из категории: Информация

Linux Unified Kernel — симбиоз Linux и Windows: производительность и перспективы

Содержание:
1. Производительность Windows-программ (Вы читаете данный раздел);
2. Перспективы проекта.
Так как Longene работает только с правами администратора, можно добавить своего пользователя (в моем случае - syjgin) в группу root с помощью команды:
# gpasswd -a syjgin root

Альтернативой является запуск X-сервера с правами root. Для этого необходимо остановить запущенный при старте системы сервис gdm:
# /etc/init.d/gdm stop

Затем войти пользователем root в консоль и запустить сессию X11 по умолчанию (например, Xfce) командой startx. Как показала практика, для Longene нет разницы между этими двумя методами.

Linux Unified Kernel — симбиоз Linux и Windows: производительность и перспективы
Запущенный редактор AkelPad

Для начала необходимо убедиться в том, что ядро справляется с возложенной на него задачей - запускать программы, написанные для ОС Windows, без вызова wineserver (т.е. без вызова команды wine). Для этого можно, например, скачать и попытаться установить файловый менеджер Total Commander. К сожалению, ни данная программа, ни установщик браузера Firefox для Windows запускаться не пожелали - каждый выдавал свою ошибку. А вот с текстовым редактором AkelPad повезло больше (см. рис. выше).

В чем же причина такого поведения Wine, который в своём обычном варианте нормально запускает все вышеперечисленные приложения? Ответ на этот вопрос появился после выполнения команды:
# wine –version

Linux Unified Kernel — симбиоз Linux и Windows: производительность и перспективы
Взаимодействие Windows-приложения со средой Wine

Оказывается, в LUK используется Wine версии 1.0, что вышла в 2008 году. На англоязычной части форума разработчикам был задан вопрос, когда планируется поддержка Wine версии 1.2 (на тот момент - нестабильной), на что был получен ответ: «когда данная версия стабилизируется». На текущий момент изме-нений нет - видимо, ещё идёт портирование... Так что придётся использовать ту версию программы, которая поддерживается: чтобы узнать, что гарантированно запустится, можно взглянуть на базу приложений Wine и отобрать из них все имеющие статус Platinum для Wine версии 1.0 (см. рис. выше).

Для проверки быстродействия я выбрал следующие приложения:
- Quake II - демонстрационная версия игры;
- WinZip - наиболее распространённый архиватор формата zip для Windows;
- AIMP - аудиоплеер, полностью поддерживаемый нужной нам версией Wine.

Linux Unified Kernel — симбиоз Linux и Windows: производительность и перспективы
AIMP2 на ядре LUK

Первое из упомянутых приложений не запустилось по причине отсутствия поддержки самораспаковывающихся архивов WinZip. Сам менеджер архивов так и не запустился, однако отдельный инсталлятор для самораспаковывающихся архивов сделал возможной установку Quake. Правда, после распаковки программа все-таки выдала ошибку. Единственной относительно работоспособной программой в условиях отсутствующего сервера Wine оказалась программа AIMP версии 2.61 (см. рис. выше). При попытке остановить воспроизведение ядро выдало ошибку (см. рис. ниже), а средство отправки отчетов Debian предложило отправить сообщение об этом на kerneloops.org.

Linux Unified Kernel — симбиоз Linux и Windows: производительность и перспективы
Ошибка ядра при остановке воспроизведения в AIMP2

Приведу таблицу ошибок, которые возникали при попытке установки, а также при работе того или иного приложения (см. таблицу ниже).

Linux Unified Kernel — симбиоз Linux и Windows: производительность и перспективы
Табл. Ошибки, которые возникали при попытке установки, а также при работе приложений

В общем, практически ни одно приложение не удалось запустить. Возможно, это происходит потому, что Unified Kernel тестируется на совместимость в основном с популярными китайскими приложениями вроде KingSoft Office.

Для улучшения совместимости можно попробовать использовать библиотеки Windows вместо тех, которые поставляются с Wine, хотя это, конечно, выходит за рамки того способа использования, на который рассчитана модифицированная версия Wine. Для этого понадобится работающая система Windows, из которой необходимо взять каталог %SYSTEMROOT%system32 и скопировать её в соответствующее место диска С в Wine: $HOME/. wine/drive_c/windows. При этом многие системные библиотеки, например, уже упоминавшиеся user32.dll, gdi32.dll и ntdll.dll, будут заменены прямыми аналогами.

После подобной замены, однако, в поведении вышеприведенных программ не изменилось ровным счетом ничего. Чуть позже стала ясна причина: используемая в системе версия Wine не поддерживает wine-server, запущенный в пользовательском пространстве. Все его функции вынесены в модуль Longene к ядру, поэтому скопированные системные файлы, которые использует wine-server, а не конечные приложения Windows, никак не повлияли на их работу: для этого необходимо изменить модуль.



Разработали модификацию Linux Unified Kernel для мобильных устройств? В таком случае, прежде чем выпускать свой продукт на рынок, Вам следует обратиться к специалистам сайта http://qawebmart.ru (http://qawebmart.ru). Они быстро и максимально качественно протестирую вашу разработку на наличие уязвимостей и ошибок, которые могут легко поставить жирный крест на вашем проекте.

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх