Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Отдел рекламы
График выхода журнала
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

Windows для пользователей Unix

Эл Уилльямз

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

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

Честно говоря, я использую Windows XP постоянно, но только не по своему собственному выбору, а в связи с насущной необходимостью. Конечно, у меня на компьютере инсталлирована и ОС Linux, которую я запускаю, когда это нужно. Одно время я даже пытался вообще перейти на нее.

К своему великому сожалению, я обнаружил, что использовать на настольном компьютере одну лишь Linux весьма и весьма проблематично.

В процессе повседневной работы мне приходится (а точнее, даже хочется) использовать несколько “чистокровных” Windows-приложений. Из-за этого я чаще всего вынужден жертвовать элегантностью и вычислительной мощностью Unix, хотя некоторые мои машины позволяют также загружать и Linux.

Глядя на меня, мои старые друзья по Unix лишь с недоумением покачивают головой: они думают, что я переметнулся в лагерь Редмонда. Но это неправда! Просто я владею одним секретным оружием.

Полную версию данной статьи смотрите в 12-ом номере журнала за 2002 год.

Камни преткновения

Если вы работаете сами по себе, то Linux может верой и правдой служить вам в качестве ОС вашей настольной системы. Но если вам приходится обмениваться файлами с другими людьми, вас подстерегают вполне реальные проблемы. Конечно, офисный пакет StarOffice совместим с Microsoft Office — точнее сказать, в основном совместим. Дело в том, что имеется ряд, казалось бы незначительных, исключений, которые и сдерживают полную миграцию пользователей на Linux.

Например, опция “Выделить исправления”, которой я постоянно пользуюсь, поддерживается пакетом StarOffice 5.2 лишь отчасти. Добавляемый в Word 2002 текст благополучно появляется в StarOffice, но последний, однако, отказывается распознавать удаленный текст.

Было бы идеальным, если бы все авторы, издатели и журналы, с которыми я сотрудничаю, взяли на вооружение пакет StarOffice. Однако, как реалист, я почти уверен в том, что практически все они будут продолжать использовать MS Word. После нескольких неудачных попыток работы в StarOffice, когда отправляемые мной документы поступали к получателю с искаженными редакторскими пометами или оказывались по тем или иным причинам нечитабельными, я не нашел ничего лучшего, как снова вернуться к Windows и Microsoft Office.

Конечно, эта проблема гораздо шире и охватывает не только обработку документов в текстовых редакторах. Если вы собираетесь работать с корпоративными почтовыми серверами, ПО группового планирования и даже некоторыми типами принтеров, то вы должны работать в среде Windows. Хотя производители фирменного ПО (или оборудования, использующего фирменное ПО) могут разрабатывать собственные версии Unix, более чем вероятно, что свои продукты они будут ориентировать на Windows.

Проблемы с Windows

Постоянно пользуясь Windows 2000 или Windows XP, вы, возможно, удивляетесь, почему приверженцы Unix с таким упрямством подвергают себя испытаниям. Почему бы им просто не перейти на Windows? Сегодня существует море приложений Windows: выбирай — не хочу, и столько же опций поддержки. Вы могли бы даже поспорить, что современные операционные системы Microsoft практически не уступают по надежности системам Linux. (Правда, ветераны Unix поведают вам совсем другую историю.)

Давайте предположим в целях аргументации, что Microsoft прикладывает все усилия к тому, чтобы сделать ОС Windows более отказоустойчивой. Может быть, вы также не заинтересованы в обсуждении преимуществ ОС с открытым исходным кодом по сравнению с фирменными ОС. Однако реальной проблемой Windows остается лежащая в ее основе архитектура.

Используемый в Windows интерфейс типа “point-and-click” (укажи и щелкни) является идеальным для простых нерегулярных операций, но стоит вам потребовать от него что-либо более сложное, как он тут же терпит поражение. Попробуйте, например, удалить из трех директорий все файлы, два последних символа имен которых содержат любые цифры, кроме семерки, и вы сами в этом убедитесь.

Конечно, вы можете “выжать” из командного процессора Windows чуть больше, однако все это не идет ни в какое сравнение с возможностями, предоставляемыми любой оболочкой Unix. Комбинируя сценарии оболочки с многочисленными гибкими модульными инструментальными средствами, предоставляемыми Unix, вы можете с такой виртуозностью манипулировать своими файлами и их содержимым, о которой пользователи Windows могут только мечтать.

Хотя мне импонирует высокая совместимость приложений Windows, все-таки я предпочел бы иметь реальный командный процессор для управления файлами. Кроме того, я не хочу расставаться с системой контроля версий CVS, сценариями Perl и остальными инструментальными средствами Unix, которые хорошо знаю и люблю. Остается вопрос, как это все получить в виде единого целого?

Windows бок о бок с Linux

Конечно, об этом мечтаю не только я. Попытки сделать Linux Windows-подобной операционной системой предпринимались с тем или иным успехом неоднократно. Например, некоторые дистрибутивы Linux с программами-менеджерами X Window практически воспроизводят дизайн и функции рабочего стола Windows.

Другие дистрибутивы, подобные WinLinux (www.winlinux.net), идут по пути сосуществования Linux и Windows на одном компьютере. Обычно они инсталлируют файлы с двоичными кодами Linux в файловую систему FAT и предоставляют простой способ загрузки одной из двух операционных систем. Эта возможность является уникальной, если только вы ничего не имеете против того, чтобы всякий раз, когда вам нужно сменить операционную среду, перезагружать свою настольную систему заново. Однако рано или поздно непрерывные перезагрузки компьютера начнут вас раздражать, не говоря уже о таких проблемах, как поддержка двух входящих почтовых ящиков (если только вас не устроит работа с почтой в какой-нибудь одной ОС), которые неизбежно у вас возникнут.

С другой стороны, вы можете попытаться использовать программу Wine (www.winehq.com), позволяющую запускать программы Windows под Linux. Этот подход может вам отчасти подойти, но, как вы, наверное, догадываетесь, он не вполне надежен. Компания Lindows (www.lindows.com) интегрирует Wine и другие инструментальные средства в единый пакет, образующий еще одну версию Linux, позволяющую легко запускать приложения Windows без какой бы то ни было дополнительной настройки. И хотя система Lindows сегодня уже достаточно распространена, я никогда не поверю в то, что Wine когда-либо сможет полностью выполнять любые программы Windows.

Возможно, оптимальным решением является одновременный запуск обеих операционных систем. Оборудование обойдется вам недорого, а виртуальная сетевая система (VNC, см.: www.uk.research.att.com/vnc) позволит вам сидеть за одним компьютером и управлять другим. Есть и другой способ имитации двух компьютеров, основанный на использовании такого продукта виртуализации, как VMWare (www.vmware.com). Я знаю многих людей, с успехом использующих подобную инфраструктуру для одновременного запуска Windows и Linux на одной и той же машине. Однако каждый из рассмотренных подходов сопряжен с дополнительными сложностями, и ни один из них не решает всех проблем, связанных с двухвариантной загрузкой ОС.

Оборотная сторона

Другой путь, к которому я все больше и больше склоняюсь в последнее время, состоит в том, чтобы сделать ОС Windows более похожей на Linux. Многие производители продают Unix-подобные инструментальные средства, значительная часть которых пригодна и для Windows. Комбинируя эти инструменты с Windows NT, Windows 2000 и Windows XP с ее поддержкой реальной виртуальной памяти и реальной многозадачностью, вы можете в полной мере использовать многие преимущества ОС Unix, продолжая работать в среде Windows.

Если вы знакомы с операционными системами Microsoft на уровне их программных кодов, то такой подход может показаться вам вполне логичным, ведь не зря же Windows NT и ее “отпрыски” содержат подсистему POSIX (интерфейс переносимых операционных систем). Однако отсутствие официальной поддержки со стороны Microsoft и незначительное число имеющихся в продаже инструментальных средств разработки программ, позволяющих реализовать этот подход, делают очевидным факт, что создание иерархического уровня POSIX было всего лишь маркетинговым трюком, а не серьезной попыткой предоставить пользователям Windows еще одну альтернативу.

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

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

Как бы это ни казалось неправдоподобным, но уже сегодня существуют проекты, направленные на реализацию именно этого подхода. В качестве примера приведу утилиту U/Win (www.research.att.com/sw/tools/uwin/), написанную Дэвидом Корном, суперпрограммистом из AT&T, и технологию, которую компания Microsoft совсем недавно купила по лицензии у фирмы Interix и воплотила в собственном продукте Services for Unix 3.0 (www.microsoft.com/windows/sfu/).

И все-таки моим любимым решением является Cygwin (sources.redhat.com/cygwin/) — проект с открытым исходным кодом компании Red Hat, состоящий из двух отдельных частей. Первая его часть содержит библиотеку DLL, позволяющую Windows-программам делать вызовы Linux-подобного интерфейса API (или, другими словами, вызовы, которые используются в POSIX/Unix). Этот продукт предоставляет все обычные функции Unix: ветвление процессов, разделение памяти, сигнализацию. Работа разработчика в такой среде, по существу, ничем не отличается от работы в среде Linux.

Для Cygwin можно перекомпилировать практически любое ПО Linux и работать со второй частью названного пакета. Cygwin изначально поставляется с изрядным набором уже откомпилированных инструментальных средств. Инсталлировав пакет, вы сразу же без проблем запустите такие приложения, как gcc, bash, Perl, Apache и даже X Windows. Число готовых к использованию программ просто ошеломляет — это практически весь дистрибутив Linux!

Конечно, вы можете купить Windows-версии многих из этих приложений. Однако, компилируя исходные тексты программ Unix для Cygwin, вы будете запускать на своих настольных системах Windows те же самые программы, что и на своем сервере Unix.

Такой нелегкий выбор

Делиться на лагеря свойственно людям от природы. Однако в данном случае мы можем перешагнуть границу между лагерями с большой выгодой для себя. С одной стороны, Linux позволяет построить великолепный сервер, ведь не случайно же приверженцы этой ОС находятся сегодня даже среди разработчиков встроенных систем и карманных персональных компьютеров. С другой — ОС Windows (несмотря на все изъяны с надежностью и безопасностью) является для корпоративных настольных систем стандартом де-факто. Так почему бы не объединить эти две операционные среды в единую рабочую среду?

Следует отдать должное таким проектам, как Lindows. Их создатели пытаются сделать дистрибутивы Linux более интероперабельными с Windows. Однако Lindows еще не достигла своей окончательной зрелости, а в отношении целесообразности применения таких продуктов, как Windows XP и Cygwin, все еще остаются вопросы, требующие тщательного рассмотрения.

Как это ни парадоксально, но высокая доступность ПО с открытым исходным кодом, возможно, является в данном случае самым большим аргументом против перехода на ОС Linux. Поскольку исходный код большинства Linux-программ можно получить свободно, то его легко перекомпилировать для Cygwin (лишь слегка откорректировав при необходимости). Такое решение куда практичнее альтернативного подхода, основанного на использовании для запуска Windows-программ с закрытым исходным кодом имитатора, подобного Wine.

Наличие в продаже таких решений, как Cygwin, позволяет проектировать ПО для любой из двух платформ, используя необходимый набор инструментальных средств. С помощью Cygwin-версии gcc вы даже сможете создавать графические интерфейсы Windows (если, конечно, они вам нужны).





  
12 '2002
СОДЕРЖАНИЕ

бизнес

• Если мерить в "Супердомах"...

• Парад "великих магистров"

• Консалтинговый договор: полезные советы

локальные сети

• Серверы нового поколения

• Сервер Dell побеждает

• Данные на ладони

• Охлаждение оборудования в монтажных шкафах

• Медиаконвертеры расширяют границы сетей

корпоративные сети

• Windows для пользователей Unix

• Держим оборону против спама и спамеров

• Компьютер на службе правосудия

услуги сетей связи

• Новая волна VoIP

• Реорганизация телефонной службы поддержки клиентов

• Тестирование телекоммуникационных протоколов: проблемы и подходы

• Тестирование системы сигнализации: от кабеля до ОКС7

защита данных

• Электропитание: думай о миллисекундах

• Руководство по компьютерной безопасности для начинающих

• Прикрывайте Web-тылы!

новые продукты

• Новые серверы Primepower; Интеллектуальные сети связи Tellin; Novell выпускает четвертую версию ZENworks for Desktops; Серверы ProLiant стали мощнее; ИБП Green-Point с переключаемой фазностью


• Калейдоскоп



 Copyright © 1997-2007 ООО "Сети и Системы Связи". Тел. (495) 234-53-21. Факс (495) 974-7110. вверх