16+
ComputerPrice
НА ГЛАВНУЮ СТАТЬИ НОВОСТИ О НАС




Яндекс цитирования


Версия для печати

Модуль поиска не установлен.

Война Миров

02.01.2006

Статья посвящена вопросам совместимости Linux с другими операционными системами в общем и с Windows в частности

За Linux закрепилась репутация системы, которая не может предоставить пользователю комфортные условия для работы. Такое мнение действительно может сложиться при отсутствии информации об обратном. Это утверждение принадлежит к так называемым мифам. Все, что требуется пользователю для решения повседневных задач, можно найти и в Linux. По большей части совместимость требуется с самой известной и распостраненной на сегодняшний день операционной системой - Windows. Linux приходится выкручиваться путем попыток "совместиться" с другими операционками на уровне форматов файлов данных и переноса программ, хотя, по моему мнению, он достаточно богат различными приложениями, которые могут понадобиться пользователю. Надо лишь найти то, что нужно.

Совместимость на уровне форматов файлов

Юникс (а значит отчасти и Linux как ОС - клон) имеет длинную историю развития, и как следствие, свои, уникальные инструментальные средства для выполнения различных пользовательских задач (верстка текстовых файлов, работа с базами данных и т.п.). Уникальность в данном случае подразумевает абсолютную несовместимость с аналогичным инструментарием других операционных систем и оболочек, а очень часто и громадную разницу в "идеологии".

В настольных издательских системах Linux могла бы стать лидером (я надеюсь, что это произойдет в ближайшем будущем, несмотря на огромное количество сложностей и недоработок, присутствующих в настоящее время), если бы больше полагалась на любимый всеми пользователями принцип: WYSIWYG ("что вижу - то и получаю"). Увы! Традиционная верстка текстов в Linux представляет собой скорее написание скрипта для интерпретатора, чем работу в привычном всем Page Maker'е. Однако в последнее время появился ряд пакетов, которые могут решить проблему совместимости форматов файлов раз и навсегда. Прежде всего, это версии хорошо известных офисных пакетов для Linux. Не могу не отметить деятельность корпорации Corel и Sun. Corel Word Perfect и пакет приложений StarOffice от Sun помогают заполнить пробел в офисных приложениях для Linux и Unix.

Вот, например, сижу я сейчас и пишу эту статью в настроенном путем не очень длительных, но немного утомительных манипуляций Word Perfect'e для Linux. Так что, с такого рода задачами Linux довольно успешно справляется. Электронные таблицы или базы данных? Тоже без проблем. По крайней мере, научить воспринимать файлы электронных таблиц в формате Excel мне удалось даже стандартный редактор таблиц пакета GNOME. С настольной типографией, как я уже говорил, дела в Linux (да и в коммерческих юниксах) обстоят сложнее, так как продукта, аналогичного Page Maker и совместимого с ним (хотя бы через какой-нибудь третий формат), мне найти не удалось. Однако это совсем не значит, что его совсем нет.

В Linux есть наследованная из Юникса модель верстки и печати документов. Нельзя, конечно, не отметить тот факт, что формат PostScript является для этой системы "родным", но, пожалуй, совместимость внутренней системы печати Linux систем с внешним миром заканчивается.

Совместимость с использованием эмуляторов на уровне исполняемых файлов и библиотек

Даже не знаю почему, но людям всегда не хватает именно тех приложений, которые работают в другой операционной системе или даже на другом виде компьютеров. Идея создания такой операционки, которая сможет выполнять любые программы для любой системы, не покидает и светлые головы и господ линуксоидов. На мой взгляд, совершенно бесполезное занятие, так как операционная система - это прежде всего идеология, выраженная в инструментальных средствах и привязанная к ним по той же причине.

DosEMU (http://www.dosemu.org/)

DosEMU позволяет эмулировать MS-DOS путем создания виртуальной машины и запуска на ней копии ДОС (либо из файла, содержащего "имидж" раздела ДОС (FreeDos), или с раздела ms-dos). Однако, мне кажется, что эмуляция ДОС по большому счету никому не нужна. По крайней мере, мне лично эмулятор MS-DOS помог лишь тем, что позволил запускать Turbo C++ и несколько простеньких игр. Конечно, с помощью DosEMU можно инсталлировать Windows 3.11 для рабочих групп, но не думаю, чтобы это очень помогло человеку, привыкшему к Windows 95/98, нуждающемся в 32 приложениях.

Wine (http://www.winehq.com/)

Wine не создает виртуальной машины, а "всего лишь" эмулирует библиотеки Windows, что позволяет использовать приложения для Windows 95/98/NT, Windows 3.11 и DOS без модификаций.

Кроме того, этот пакет предоставляет библиотеки для разработки программного обеспечения для Win32/Win16/DOS. Wine работает на наиболее известных операционных системах Unix для платформы Intel (Linux, FreeBSD и Solaris).

Vmware (http://www.vmware.com/)

Пакет Vmware основывается не на эмуляции библиотек, а на создании виртуальной машины. Это позволяет запускать различные операционные системы без перезагрузки или переделки разделов жесткого диска. Используя этот метод, Вы можете запустить практически любую операционную систему на машине, которая работает под Linux, Windows NT или Windows 2000. Именно для этих операционных систем на сегодняшний день существует Vmware. К недостаткам виртуальной машины можно отнести заметную потерю в скорости. Мне, конечно, удалось проинсталлировать и запустить Windows 98 на своем домашнем компьютере (Intel Pentium MMX 166), но скорость работы была крайне мала. Такая виртуальная машина рекомендована к применению на компьютерах с процессором Intel Pentium II 266 и выше. Также рекомендуется иметь не меньше 96 мегабайт оперативной памяти.

Началась разработка бесплатной версии эмулятора, аналогичного vmware. Пока проект находится в самой начальной стадии, но есть надежда на то, что бесплатная версия будет даже менее требовательна к ресурсам, чем ее коммерческий собрат. Пока же можно скачать vmware 1.0 с сайта компании, но только не забудьте также взять оттуда бесплатную лицензию на один месяц.

По секрету и только Вам скажу, что на сайте www.linux.org.ru можно узнать как "взломать" vmware. Для этого нужно воспользоваться поиском по сайту с ключевым словом "vmware".

Перенос приложений с одной платформы на другую

Портирование, то есть перенос приложений из одной операционной системы (или даже платформы) в другую, нельзя назвать новой идеей. Сейчас многие приложения (по большей части бесплатные) распространяются в виде исходных текстов. Причем в архив зачастую входят исходники сразу для нескольких операционных систем. Прибавьте к этому набор исходного кода для условной компиляции (то есть компиляция происходит по-разному в зависимости от операционной системы), и сборка программы для нескольких платформ не составит большого труда. Обычно портирование программ происходит сразу для следующих платформ: Win32, OS/2, Linux, FreeBSD и некоторых коммерческих Юниксов. Все это называется cross platform development (многоплатформенная разработка приложений), и задача разработчика сводится к написанию общего каркаса приложения и набора системозависимых частей для каждой платформы.

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

Продукт компании Bristol (http://www.bristol.com) - Wind/U for Linux, поставки которого начались в конце ноября этого года, позволяет разработчикам переводить исходный код Microsoft Win32 API и Microsoft Foundation Class непосредственно на Linux и создавать "родные" настольные и серверные Linux-приложения. В состав пакета входят Linux-версии компонентов RogueWave Stingray Visual C++, которые можно использовать с Wind/U. В Wind/U полностью реализованы библиотеки Win32 и MFC, включая следующие элементы:

  • Все аспекты ActiveX, включая COM, OLE, визуальное редактирование, автоматизация, drag-and-drop, и элементы управления ActiveX.
  • WinInet и WinSock
  • Стандартные диалоги и элементы управления
  • Компилятор ресурсов
  • Потоки и файлы памяти
  • Регистр Windows и regedita;
  • Печать PostScript и PCL
  • Буфер обмена
  • GDI и MDI

Wind/U for Linux поддерживает дистрибутивы Red Hat Linux 6.1 и Corel Linux. Bristol помогает компаниям определить объем работ по переносу их приложений на Linux и проводит обучение программистов через свою службу Linux Porting Center. (по данным ZDNET - http://www.zdnet.com). Однако у меня есть некоторые сомнения о том, что продукт компании Bristol сможет служить инструментальным пакетом для нового API (Applied Programming Interface - интерфейс прикладного программирования). Сомнения мои основываются на том, что Bristol не смогла прийти к соглашению с корпорацией Майкрософт о лицензировании исходного кода Windows 2000.

Компания MainSoft в противоположность Bristol владеет лицензией на исходный код Windows 2000. Осенью этого года MainSoft (которая, кстати является давним партнером Microsoft) объявила о том, что она работает над Linux-версией своего продукта MainWin, который появится в продаже в начале 2000 года. Демо-версия пакета доступна для скачивания уже сейчас на сайте MainSoft (http://www.mainsoft.com). Данный пакет служит для переноса интерфейсов прикладных программ Microsoft Win32 на платформу Unix. Это позволит выполнять приложения NT на различных версиях Unix, и прежде всего под Linux. Официальные лица MainSoft заявляют, что программы для Windows, написанные на языках С или С++, работают под Unix точно так же, как и под Windows NT. При помощи MainWin на Unix уже перенесены такие программы, как Microsoft Internet Explorer и Microsoft Outlook, а также Unicenter от Computer Associates.

Остается надеяться, что тенденции на взаимозаменяемость Windows- и Unix-приложений воплотятся в жизнь в полной мере, так как уже известны прецеденты покупки корпорацией Майкрософт компаний, занимающихся исследованием возможности использования приложений Windows под управлением Unix/Linux. Примером может служить покупка Майкрософтом компании Softway Systems, деятельность которой так и осталось неизвестной широкой общественности.

Как видно из вышесказанного, Linux не так уж далека от конечного пользователя в плане совместимости с другими системами. Компьютеры класса Pentium II, на которых виртуальная машина Vmware идет достаточно быстро, перестали быть редкостью, а объемы памяти увеличились на порядок. Офисные пакеты от Sun и Corel стремятся предоставить пользователю максимум удобств в работе и не отягощать его заботами о совместимости с офисами от Майкрософт.

В следующей статье я постараюсь как можно подробнее рассказать об офисных приложениях для Linux, а также немного коснусь "родной" системы форматирования и печати текстов в Linux.

Искренне Ваш
Петр Курышев

Linux News by Peter A. Kurishev

  • FSMLabs выпустила версию 2.0 RealTile Linux - модификации ядра Линукс для систем реального времени. С этой версии в RTLinux появилась поддержка многопроцессорных SMP-систем и некоторые другие возможности. Пока RTLinux рассчитана только на архитектуру Intel. Авторы планируют добавить поддержку PowerPC в следующую версию.
  • По соглашению ID Software и Loki, последняя представит коробочную версию Quake III Arena для Linux одновременно с Windows и Mac-версией от ID.
  • По информации из последнего выпуска Netcraft Survey (http://www.netcraft.com/survey/) число веб-серверов в Интернете, работающих на Apache, выросло более чем на 1% и составило 54.81%.
  • По сообщению Yahoo Finance, RedHat Software строит планы по покупке компании Corel Corp. Может быть, когда-нибудь у RedHat хватит денег для того, чтобы купить Майкрософт? :)
  • Наконец-то вышел интегрированный пакет для разработки приложений под линукс - Kdevelop 1.0. Этот пакет как раз для тех разработчиков, которые привыкли к комфортным условиям Microsoft Visual C++ или Borland C++ Builder. Подробности можно найти по адресу: http://www.kdevelop.org.
  • Китайцам нравится Линукс! Китайское правительство решило сделать официальной операционной системой своей страны. Конечно, китайцам не мог не понравится дух свободнораспространяемого программного обеспечения. Так что у Линукс есть шанс выбиться на первое место по числу пользователей благодаря населению Китая, которое как мы знаем, составляет более четверти всего населения земного шара.
  • Восьмого декабря появилось сообщение о том, что фирма HP работает над портированием Linux на платформу IA-64 (первый процессор из этой серии - Itanium от Intel). 


статьи
статьи
 / 
новости
новости
 / 
контакты
контакты