OS/2 и NT глазами пользователя


Эта статья навеяна аналогичной статьей в "Мир ПК". Похоже, что автор очень плохо знаком как с OS/2, так и с Windows NT. Я, конечно, не претендую на некое абсолютное знание, но опыт работы с тем и с другим имеется.

Очень хотелось бы получить отзывы на этот бред и попробовать донести его в исправленном виде до широкой публики ;-) Итак,

Установка

Это, пожалуй, одно из немногих мест, где Windows NT однозначно выигрывает у OS/2. Тут все, как говорится, "в одном флаконе". Все понятно и доступно (или, по крайней мере, кажется таковым). Тут надо отметить, что инсталлятор OS/2 4.0 шагнул далеко вперед по сравнению с OS/2 3.0, но до совершенства ему еще далеко. Хотя, когда ставишь OS/2 несколько раз, то вырабатывается привычка. Привычность инсталлятора Windows NT обусловлена, видимо, невероятным количеством установок и переустановок Windows'95

Отдельная песня - это установка обновлений. Обновления Windows NT (service pack) рассылаются в виде одного exe-файла, который сам себя распаковывает, делает архивную копию, и устанавливает. Обновление же (fixpack) для OS/2 представляет собой набор образов дискет, которые надо распаковать, а затем установить с помощью специального инсталлятора (CSF - corrective service facility). О том, как поставить fixpack с винчестера, написаны даже целые статьи.

Тут, справедливости ради, стоит заметить, что если Windows NT с service pack младше 3 неработоспособна в принципе, а с service pack 3 "как-то работает", то в свежеустановленной OS/2 есть всего один серьезный ляп, да и тот связан с поддержкой DOS-приложений. При установленном fixpack 5 система не "просто работает", а работает значительно быстрее и надежнее. Впрочем, к этому вопросу мы еще вернемся.
Ну, и в заключение нельзя не упомянуть о такой возможности OS/2, как удаленная установка (установка по сети). Для этого в сети должна быть одна машина с OS/2, на которой запускается программа-сервер. Вторая машина грузится с трех дискет, и... начинается установка. Ничем не отличающаяся от установки с CD-ROM.

Настройка

Вот тут хотелось бы написать: "Windows NT настраивать проще". Да, действительно, на первый взгляд оно так и есть: привычные (опять же по Windows'95) окошки-менюшки, аккуратно собранные в одном месте под названием "Панель управления". Однако после того, как я настроил модем для работы в Windows NT, все эти иллюзии тут же развеялись.

Во-первых, как утверждает реклама, "что на что намазать - это дело вкуса". Все (или почти все) настройки OS/2 хранятся в текстовых файлах, а настройки Windows NT - в хитрой структуре под названием registry. Следовательно, если в первом случае мы можем посмотреть конфигурацию и попытаться понять, что же мы все-таки настроили, то во втором это чревато сумасшествием.

Во-вторых, в OS/2 тоже есть специальная папка, которая так и называется - "настройка системы". И если очень хочется добавить какую-то новую настройку, то достаточно drag-n-drop'ом поместить в эту папку соответствующую иконку. В Windows NT же для этого надо писать отдельную программу, отвечающую неким особым требованиям (control panel applet - cpl).

В-третьих, несмотря на пугающее количество настроек в OS/2, все, как правило, работает и без них. Но вот если вдруг встречается какой-нибудь извращенный случай - тут уж есть где развернуться.

Ну, и в-четвеертых, группировка различных настроек в OS/2, на мой взгляд, более логична, чем в Windows NT. Повторяю, это на мой взгляд, возможно, кто-то думает по-другому.

Но вот, наконец, настройка закончена, и мы убеждаемся, что система просто так работать не хочет (или хочет работать не так, как хотим мы). Мы начинаем ставить всевозможные обновления системы и понимаем, что такое

Поддержка

Для начала - цифры. Для Windows NT к настоящему моменту вышло 4 сервиспака. Для OS/2 - 10. Для Windows'95 вышло 2 сервиспака (тут я могу ошибаться), для OS/2 Warp 3.0 - 40. Обновления для Windows 3.11 мне неизвестны. Для OS/2 2.1 их вышло 96 (девяносто шесть). Так что на месте OS/2 впору сказать: "слухи о моей смерти сильно преувеличены".

Безусловно, такое количество обновлений говорит о большом количестве ошибок. Однако IBM признает эти ошибки и исправляет их, а Microsoft исправлять свои ошибки не торопится. Кроме того, fixpack от IBM может включать в себя не только исправления, но и дополнения, и то, что Microsoft обещает в Windows 2000, вполне может быть без лишнего шума включено в очередной fixpack.

Ну, а если в начале этого раздела мы совершили такой экскурс в историю, то самое время вспомнить о такой вещи, как

Совместимость

Почему-то, говоря о совместимости, часто подразумевают совместимость с Windows'95. Оставив правомерность такого подхода на совести его авторов, скажем, что OS/2 не выполняет приложений Windows'95. Но самое смешное то, что и Windows NT выполняет не все приложения Windows'95. Нередко вместо этого она выдает

Облом!

Это связано с общеизвестными различиями в реализации Win32 в двух системах от Microsoft. В то же время OS/2 4.0 прекрасно выполняет все приложения OS/2 3.0 и OS/2 2.x

16-битные приложения Windows выполняются и в той, и в другой ОС. Правда, OS/2 создает для каждого приложения свою виртуальную DOS-машину, так что крах одной задачи не затрагивает остальные. Windows NT тоже может запускать 16-битные приложения в отдельном адресном пространстве, но для этого надо записать ключик в registry... Лично мне приходилось по поводу работы 16-битных приложений в Windows NT слышать гораздо больше жалоб, чем по поводу работы тех же приложений в OS/2.

Приложения MS-DOS также поддерживаются обеими системами. С той лишь разницей, что в Windows NT закрыт прямой доступ DOS-приложений к портам. Следовательно, в играх мы не услышим звука и не увидим SVGA-режимов, да и коммуникационные программы работать не будут.

На мой взгляд, глупо говорить о "дыре в защите", т.к. никто не мешает вообще не устанавливать поддержку DOS на сервере под управлением OS/2. Можно говорить лишь о качестве программирования. Кстати, если уж речь зашла о поддержке старых программ, то самое время вспомнить про

Количество программного обеспечения

То, что количество программ под Win32 давно перевалило за все разумные пределы, уже очевидно. Зато по поводу OS/2 читатель может злорадно ухмыльнуться и сказать: "Под полуось софта нет". Давайте посмотрим.

Если под программным обеспечением понимать Microsoft Word и Delphi, то их под OS/2 действительно нет (если не считать Word 6.0 и Delphi 1.0, прекрасно работающие в WinOS2). Но если принять за аксиому, что на этих двух продуктах свет клином н сошелся, то оказывается, что все не так плохо.

Обзор программного обеспечения без привязки к конкретной предметной области - дело достаточно трудоемкое, неблагодарное и бесполезное. Поэтому тех, кто заинтересуется этим вопросом, я отсылаю к Окунькову или на RU/2. Здесь я лишь отвечу на несколько типичных нападок.

Но ведь Delphi-то действительно нет!
Есть WD Sibyl - визуальная среда разработки на Pascal. Кроме того, любителям визуальных сред можно порекомендовать Watcom VX-REXX или семейство IBM VisualAge (C++,Java,SmallTalk и даже PL/I)
Но Word стал уже стандартом для электронного документооборота!
Во-первых, только в России и только потому, что 98% копий - нелегальные. Во-вторых, под OS/2 существуют StarOffice и Lotus SmartSuite, которые импортируют (с некоторыми оговорками) документы Word. "Некоторые оговорки" - это проблемы Microsoft, т.к. даже разные версии Word не могут корректно читать документы друг друга. И, наконец, для тех, кто не мыслит без Word свою работу, Microsoft выпустила конвертер из Word'98 в Word 6.0
А как быть с такими гигантскими архивами freeware и shareware, как http://download.cnet.com/windows/, www.freesoft.ru и другие?
Ну, во-первых, добрым 2/3 программам, лежащим там, место вовсе не в Интернете, а в /dev/null. А во-вторых, на хоббесе, в курчатовском институте и Leo программ для OS/2 ничуть не меньше.
Но если все так хорошо, то почему же я об этом впервые слышу?
А на этот вопрос я попытаюсь ответить в разделе

Маркетинг

Большой маркетинг, как и большая политика, - дело темное и запутанное, и не нам о нем судить. Так что вопрос "почему, если OS/2 так хороша, она так мало распространена" равносилен вопросу "почему ты не богатый, если такой умный".

Адепты OS/2 утверждают, что эта система позиционируется как "серьезная ОС для серьезных людей", что "на компьютере домохозяйки ей не место" и что "IBM работает только с крупными клиентами". Это, конечно, так, но не надо забывать, что в "серьезный" бизнес люди приходят не сразу. И если человек привык работать с разными Windows, то было бы в высшей степени странно, что почувствовав серьезность бизнеса, он бы вдруг сказал: "А давайте-ка здесь попробуем OS/2".

Поэтому оставим маркетинговую политику IBM на совести IBM, тех, кто сомневается в надежности и "серьезности" OS/2, отошлем сюда (или сюда), а сами посмотрим

А что внутри

Как уже говорилось в предыдущей статье, "многозадачность в OS/2 и Windows NT устроена одинаково. Оно и неудивительно - как-никак, одна аппаратная платформа ;) Однако на этом, пожалуй, все сходства и заканчиваются. Поэтому по порядку.

Оболочка

Раз уж встречают по одежке, с нее и начнем. На первый взгляд, Explorer в Windows NT и Workplace Shell (WPS) в OS/2 выглядят похоже. Однако первое впечатление обманчиво.

Explorer является самым обыкновенным Win32-приложением, написанным по традиционной технологии. Со всеми вытекающими отсюда последствиями. WPS же построена на SOM - System Object Model. Не углубляясь в технические детали, это значит, что каждый "ярлык" на рабочем столе, каждая папка - это объект со всеми свойствами, присущими технологии ООП. Вы можете, например, заменить стандартный класс WPProgram (ярлык) на свой, унаследовав при этом все его свойства. Так сделано во многих программах, например, в RBSched - шедулере, который к закладкам свойств объекта-ярлыка добавляет расписание, по которому эта программа автоматически запускается. Кроме того, шрифты, фоновая картинка и т.п. являются не универсальными системными настройкми, а свойствами каждого объекта. Поэтому никто не мешает поставить, например, свою фоновую картинку для каждой папки. Более серьезные точки приложения этой технологии, к сожалению, с ходу на ум не приходят, но приведенного здесь вполне достаточно, чтобы судить о разнице в уровнях двух систем.

Если же по каким-то причинам стандартная оболочка Вам не нравится, то вы можете заменить ее на что-нибудь более простое - например, FileBar (напоминает Mac), или MDesk (очень похож на Explorer). Причем делается это заменой одной строчки в CONFIG.SYS

Справедливости ради, надо заметить, что заменить оболочку в Windows NT тоже можно. Но поработать, например, в LiteStep, мне не удалось. Слижком уж часто программа "выполняла недопустимые операции". Видно, не все так просто...

Ну, а уж про количество "свистулек", совершенствующих интерфейс OS/2, я не говорю. Nice, NPS WPS, Object Desktop... Под Windows NT чего-то аналогичного по функциональности и по качеству я не встречал.

Говоря об интерфейсе, нельзя не упомянуть командный процессор. И в OS/2 и в Windows NT он называется cmd.exe и очень напоминает старый (добрый?) command.com. Безусловным преимуществом командного процессора Windows NT является возможность запускать любые файлы. То есть, если мы, например, набираем в командной строке index.html, то запускается программа, ассоциированная с этим файлом, в данном случае - броузер. Путем небольших упражнений на REXX в OS/2 тоже можно сделать нечто подобное, однако работать оно будет лишь при наличии WPS. Правда, Windows NT без Explorer'а представить себе вообще трудно :)

Кроме простых сценариев командный процессор OS/2 может выполнять и скрипты REXX. Безусловно, это сильно повышает удобство работы - для того, чтобы выполнить какие-то несложные действия над большим количеством данных, можно не писать полноценную программу, а ограничиться скриптом на REXX. Однако и под Windows NT эта проблема решается - можно взять бесплатный интерпретатор Regina REXX. Он, правда, не дает всех тех возможностей, которые дает REXX в OS/2, но в большинстве случаев его вполне достаточно.

Если надо подключить какой-нибудь другой интерпретатор (например, Perl), то это можно сделать в обеих системах: в OS/2 - указав путь к интерпретатору в директиве extproc, в Windows NT - комбинацией команд ftype/assoc (которые записывают сведения об расширении файла и соответствующей ей программе в registry). Лично мне способ Windows NT больше по душе.

И еще один момент, связанный с переменными среды. В OS/2 пути для исполняемых модулей и для библиотек задаются по отдельности - это плюс. Зато в Windows NT можно "на лету", не перегружая систему, глобально (для всех вновь запускаемых процессов) поменять значение переменной.

Файловая система

OS/2 поддерживает две файловые системы - HPFS (High Performance File System) и FAT. У Windows NT файловых систем тоже две - NTFS (NT FileSystem) и FAT. Путем манипуляций с registry можно заставить ее понимать и HPFS ("рудимент" от Windows NT 3.51. В Windows NT 5.0 этот кусок кода уже убран).

Обе системы поддерживают FAT с некоторыми ограничениями - OS/2 не позволяет создавать на ней файлы с длинными именами, а Windows NT не может полноценно контролировать доступ к дисковым ресурсам, расположенным на FAT-разделе.

По скорости работы HPFS значительно превосходит FAT (в боевых условиях это можно заметить на файл-сервере, в домашних - на паковке ФИДОшной почты), а NTFS по скорости FAT'у уступает. О надежности NTFS ничего сказать не могу (вероятно, она достаточно высока), но о надежности HPFS просто ходят легенды.

На этом сравнение файловых систем можно было бы закончить, если бы не два "но", выводящих OS/2 далеко вперед.

Во-первых, это так называемые "расширенные атрибуты". Они представляют собой некий "файл в файле", который может хранить в себе любую информацию - иконку, позицию курсора в редакторе, токенизированный образ скрипта на REXX...

Во-вторых, это Installable File Systems (IFS), представляющие собой специальные драйвера для доступа к разделам, отформатированным под другую файловую систему. Сегодня реально существуют IFS для VFAT (FAT с поддержкой длинных имен), FAT32 (ФС Windows'95 OSR2), Ext2 (ФС Linux), NTFS (насколько мне известно, пока только для чтения). А еще есть FTP.IFS, позволяющая монтировать ftp-архивы как локальные диски...

И еще одна особенность работы OS/2 с дисками (есть ли такая возможность в Windows NT, я не знаю). Если вдруг Ваш диск начнет покрываться bad-блоками, то никакая информация на них не попадет. OS/2 создает так называемые hotfix'ы, т.е. просто помечает "плохое" пространство как занятое. На FAT это выглядит как большой системный файл, а в HPFS для этого есть собственные механизмы. Причем происходит все это "на лету", не требуя запуска Norton Disk Doctor или подобных утилит.

Многопользовательская поддержка

Что бы ни говорили адепты, но OS/2, в отличие от Windows NT, система однопользовательская. Один рабочий стол, общие права доступа для файлов. Однако сказать, что Windows NT - полноценная многопользовательская система - значит покривить душой. Я даже не буду перечислять все сообщения о найденных дырах в защите. Но когда, устанавливая программу (не серверное приложений какое-нибудь, а почтовый клиент PM Mail !!!), я должен иметь права администратора лишь потому, что инсталлятору, видите ли, потребовалось прописать ключик в registry (ох уж этот вездесущий registry...) - это, по-моему, чересчур.

Два слова об общем устройстве системы

OS/2 - система модульная, Windows NT - система закрытая. Настолько закрытая, что даже сама Microsoft не смогла отделить NT Workstation от NT Server. На сервере formet есть даже инструкция по переделке Workstation в Server. Что такое TCP/IP в Windows NT, вряд ли кто-то сможет ответить вразумительно (только не надо утверждать, что это winsock.dll - наверняка к нему прилагается не один десяток ключиков в registry и куча других библиотек, цепляющихся одна за другую). А уж внесение графического API в ядро - это никому, кроме Microsoft, и в голову не придет.

Компоненты OS/2 выполнены в виде отдельных продуктов, каждый из которых самомтоятельно устанавливается и обновляется. IBM LanServer, правда, ставит свой драйвер файловой системы HPFS, но этот драйвер может быть установлен и без LanServer. Presentation Manager, конечно, системный процесс с высоким приоритетом, но при желании его можно и не запускать и работать в textmode. Но...

Не все ладно в Датском королевстве

Про ошибки в Windows NT не пишет только ленивый. Поскольку получилось так, что в этой статье и так слишком много нападок на NT, я лучше вкратце расскажу о том, что мешает работать в OS/2.

Во-первых, модульность, о которой говорилось чуть выше, иногда доводится до абсурда. Даже исправление знаменитой ошибки "F0 07 C7 C8" вышло в виде отдельного драйвера. Но если это просто курьез, то вот самостоятельная обработка клавиатуры всеми подсистемами (VDM и PM) - это уже серьезный ляп.

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

И, наконец, третья серьезная ошибка - это отсутствие нормального механизма снятия "плохих" задач. Сколько бы ни выпускали "окончательных релизов, убивающих _*/все/*_", найдется одна-две программы, которые могут повиснуть и не убиваться. В частности, ошибка в драйвере файловой системы VFAT приводит к тому, что диск становится недоступным до перезагрузки. Не знаю, насколько глубоко сидит API-убийца в Windows NT, но пока мне не встречались программы, не убиваемые Task Manager'ом.

Еще раз повторю: ошибки в Windows NT я не стал перечислять исключительно для экономии места, а ошибки в OS/2 перечислил только те, которые мешают работать мне.

Ну, и в заключение - то, без чего не может обходиться ни одна современная ОС. Я имею в виду

Поддержку сетей

Обе системы включают в себя клиенты для работы с разными протоколами - TCP/IP, IPX/SPX, NetBIOS. Как водится, в OS/2 - это служба MPTS (multi-protocol transport service) - собственно ядро, TCP/IP - набор утилит для работы с одноименным протоколом, Peer - службы NetBIOS и Netware Requester - клиент сетей Netware, в Windows NT - просто часть огромной системы. Нелишним будет напомнить, что IBM время от времени выпускает исправления ко всем вышеуказанным продуктам, Microsoft все исправления включает в сервиспаки.

Броузеры, поставляемые с операционными системами (IBM WebExplorer и Microsoft IE 2.0) оба одинаково древние, но наличие Netscape Communicator'а делает эту проблему несущественной. Интернет-демоны (telnetd, ftpd и т.п.) входят в поставку OS/2 и не входят в поставку Windows NT, хотя это тоже, на мой взгляд, несущественно.

Правда, работают все эти службы немного по-разному: Smolia как-то рассказывал, что выиграл на спор ящик пива, заставив LanServer выдать скорость передачи по сети почти мегабайт в секунду там, где Windows NT давала порядка 400K/с.

Обе системы могут служить сервером входящих ppp-соединений, причем в OS/2 для этого требуются дополнительные программы, а в Windows NT - нет. Правда, Windows NT обеспечивает авторизацию только по MS-chap, а OS/2 - даже в терминальном режиме. Считать ли это дырой в защите - судить не берусь, но удобство во втором случае несомненно.

В общем, как всегда - Windows NT проще заставить работать, но уж если заставить работать OS/2, то она будет работать лучше. К слову, никакие атаки типа winnuke или teardrop не заставляют OS/2 даже задуматься.

Ну, и разумеется, OS/2 поддерживает работу с сетью в VDM - тот же Duke Nukem (IPX, NetBIOS) или DOOM (IPX) прекрасно работают из-под OS/2, причем как с помощью штатных средств системы, так и с помощью запуска соответствующих резидентов прямо из VDM.

Заключение

Ну вот, пожалуй, и все. Еще раз обращаю внимание на то, что здесь изложены только мои впечатления от работы с той и с другой системами. Если получилось чересчур однобоко - значит, именно этим боком они ко мне и повернулись. Пинки и замечания принимаются :)
Владимир Комаров


Интересные ссылки: Портал развития и сопровождения вашего бизнеса.
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ