В Windows предлагаются многие прекрасные возможности Unix

Пакет SFU включает в себя компиляторы, файлы дескрипторов и библиотеки, которые могут понадобиться для компиляции довольно разнообразного программного обеспечения Unix
Производители операционных систем продолжают рассуждать об интероперабельности, но на самом деле их цель — убедить вас отказаться от программного обеспечения конкурентов и склонить к своему. Раз так, то прозрачная интероперабельность не относится к основным приоритетам таких компаний, как Microsoft, Sun Microsystems и IBM. Но это важный приоритет для таких компаний, которые постоянно борются за улучшение связи между старыми ресурсами и новыми и стремятся объединить решения различных поставщиков.

Учитывая вышесказанное, Microsoft SFU (Services for Unix) 3.0 — приятный сюрприз. Прежде всего, это поразительно дешевое решение: 99 долл. на машину, будь то клиент или сервер. SFU устанавливает POSIX — Portable Operating System Interface (своего рода Unix в стандарте IEEE) — подсистему, инструментальные средства и утилиты в Windows, не превращая ее полностью в Unix, но делая настолько близкой к этой ОС, насколько это вообще возможно для Windows. Пакет SFU включает в себя компиляторы, файлы дескрипторов и библиотеки, которые вам могут понадобиться для компиляции довольно разнообразного программного обеспечения Unix, в том числе (представьте себе!) и свободно распространяемых программ.

Unix на Windows

SFU 3.0 довольно мало добавляет к продуктам, которые входили в состав в Services for Unix и Interix. Унифицированная процедура установки позволяет быстро реализовать программный слой POSIX и инструментарий. Слой POSIX, прикладной программный интерфейс, который взаимодействует с ядром Windows, располагается на том же уровне, что и Win32. Подсистема POSIX прозрачна для приложений, которые ее не применяют.

Разделение файлов Unix достигается за счет использования клиента NFS (Network File System), сервера и шлюзовых служб в SFU. Эти службы делают для Windows то же, что Samba для Linux и Unix. Функции разделения файлов NFS бесшовно интегрируются в Windows. Версия 3.0 поддерживает символьные ссылки Unix, усовершенствованную систему предоставления доступа к файлам, международные наборы символов и повышенную производительность.

Кроссплатформенная аутентификация — вот задача, которую пытались разрешить создатели SFU. Новая версия поддерживает двунаправленную синхронизацию паролей и в сетях Unix, и в сетях Windows. SFU может получать также доступ к именам пользователя и паролям, размещаемым в Unix NIS (Network Information System компании Sun) или PCNFS, предлагаемой Sun версии NFS для ПК. SFU проигрывает в том, что у него нет удаленного терминала защиты. Предлагаются только сервер и клиент telnet.

Преимущество User Name Mapping состоит том, что пользователям не нужно определять соответствие имени регистрации в Windows и Unix. Они даже могут не знать, что их регистрационные данные в Windows имеют связанные с ними имена и пароли NIS.

Выразительный код

Инструментальные средства разработки включают в себя компиляторы для GNU Си, C++ и Fortran 77. Весь инструментарий и библиотеки с точки зрения стандартов Linux можно назвать старыми. Например, в состав SFU входит версия компилятора GNU C 2.7.2, в то время как сейчас уже выпущена версия 3.0.4. Включенные в POSIX библиотеки охватывают все, от ANSI C до X Window System GUI. К сожалению, SFU 3.0 не вошла в состав сервера X Window, в силу чего невозможно запускать удаленный графический клиент Unix на настольной системе Windows. Компиляция приложений с помощью инструментальных средств SFU порождает естественный исполняемый файл Windows или разделяемую библиотеку. Приложения SFU не могут чередовать системные вызовы Unix и Windows. Можно создать COM (Component Object Model) в качестве оболочки программы SFU или представить приложение SFU как Web-службу .Net. Но из соображений производительности и переносимости большая часть кода SFU должна быть полностью написана для Unix.

Сотни утилит командной строки на компакт-диске SFU обрабатывают все, что можно себе представить, — от обычной оболочки Си до оболочки Korn и сценариев Perl. Эмуляция среды Unix сделана более чем убедительно. Фрагментированная файловая система Windows, с ее весьма неудобными буквенными названиями томов, выглядит унифицированно при обращении из оболочки или приложения Unix. Версия SFU команды ps (состояние процесса) перечисляет Windows-процессы, не поддерживаемые POSIX, в силу чего для их завершения можно использовать команду kill из SFU. Эмуляция среды Unix эксперта не обманет, но большинство разработчиков и администраторов Unix будут чувствовать себя в привычной обстановке.

Подвох

Трудно сказать что-то плохое о SFU 3.0; его цена и возможности весьма впечатляют. Однако основными конкурентами SFU являются Linux и BSD, которые можно получить бесплатно. Эти среды не могут сравниться с той зрелостью и прозрачностью, с которой SFU позволяет выполнять перекомпилированные приложения Unix в среде Windows.

Но Windows-машина с SFU и близко не может сравниться с возможностями Unix, предлагаемыми сервером или рабочей станцией с Solaris, AIX, BSD или Linux. К примеру, библиотеки SFU поддерживают только самые основные интерфейсы X Window. Клиенты, которые используют графические библиотеки KDE или GNOME, перенести будет практически невозможно, для этого потребуются гигантские усилия.

С выпуском SFU представители Microsoft могут утверждать, что практически каждый сервер или клиент Unix/Linux/BSD в здании требует лицензии Windows CAL (лицензии на клиентский доступ). Даже если вы используете всего лишь сервер telnet в SFU для поддержки сессии Windows-терминала на рабочей станции Solaris, вы при этом обращаетесь к Web-службам, тем самым для данной машины вам требуется CAL. Невозможно себе представить, насколько сложным и придирчивым должен быть контроль лицензий, если используется SFU. Существует множество вариантов поддержки интероперабельности, предлагаемых иными, нежели Microsoft, компаниями, которые не требуют лицензий производителя на каждое рабочее место.

Раздражение в связи с SFU вызывает тот факт, что это ее создание — попытка Microsoft не допустить потери части прибыли от CAL из-за применения свободно распространяемого программного обеспечения. Может быть, это и верный ход, но он ставит под сомнение ценность SFU как интероперабельного решения. Компания, которая покупает CAL в большом количестве и имеет достаточно средств, без труда выделит некоторые из них для машин с Unix.


Microsoft Services for Unix 3.0

Решение для поддержки интероперабельности укрепляет связь между хостами Windows и хостами Unix, Linux и BSD. Подсистема POSIX размещается непосредственно на ядре Windows, поэтому производительность перенесенных приложений Unix достаточно высока. Богатый набор оболочек и утилит создает вполне достоверную среду Unix, хотя и ограничивается командной строкой.

Достоинства: позволяет за один шаг установить клиент, сервер и программное обеспечение разработки; отличается богатым ассортиментом команд и утилит; превосходит по производительности Win32 API; стоит поразительно дешево
Недостатки: базируется на довольно старой версии Unix и несколько потерявших актуальность библиотеках; затруднено использование вызовов Windows и Unix в одном приложении; система Unix может потребовать клиентских лицензий для Windows
Цена: 99 долл. за один сервер или клиент
Платформы: Windows 2000 и Windows XP
Производитель: Microsoft