OS/2 Aurora — как птица Феникс...

16 июнь, 1999 - 13:04Андрей Зубинский

Продолжая публикацию архивных материалов предлагаем вашему вниманию статью из №23 (192) «Компьютерного Обозрения» от 16 июня 1999 г. Статья про одну из самых недооцененных операционных систем. Двадцать лет назад была предпринята последняя попытка выпуска релиза OS/2.

ИСТОРИЯ

Начинается она в 1981 г. Именно тогда IBM анонсировала свой первый серийный ПК на процессоре Intel 8088 (16-битовый с 8-битовой внешней шиной). Интересно вспомнить характеристики и стоимость персонального «чуда техники» начала восьмидесятых: тактовая частота 4,77 MHz, объем ОЗУ — 96 КВ, монохромный дисплей и матричный принтер со скоростью печати 80 CPS. Стоило это «удовольствие» совсем немало по тем временам — порядка 5 тыс. долл. Для сравнения: компания Оnух в 1980 г. анонсировала первый микросервер Unix ценой 20 тыс. долл., построенный на процессоре Z8000 (16-битовый последователь сверхпопулярного Z80 компании Zilog), оснащенный 256 КВ ОЗУ, ленточным накопителем, жестким диском и последовательными портами для подключения восьми пользовательских терминалов. Несмотря на высокую стоимость, коммерческий успех первых IBM PC можно назвать феноменальным: всего за год с августа 1981-го было продано, по разным данным, от 200 тыс. до 800тыс. IBM PC (эта разница в цифрах очень интересна сама по себе — первая оценка сделана журналом «Byte» в 1983 г., вторая — «Windows Magazine» в 1995 г.). Подобными показателями «рыночной производительности» могла похвастаться разве что молодая и маленькая Sinclair, продавшая за тот же период 500 тыс. своих восьмибитовых машинок ZX81, правда, стоимостью всего $200.

OS/2 Aurora — как птица Феникс...

Еще более невероятным фактом сегодня кажется то, что у покупателей даже первых IBM PC была возможность выбора одной из трех операционных систем: СР/М (Digital Research), MS-DOS 1 (Microsoft) и UCSB P-System (совершенно забытая уникальная кросс-платформен-ная система, идеологически не отличающаяся от Java, разработка Университета Беркли). Почему выбор пал именно на эти ОС? В апреле 1981 г. на внутреннем совещании IBM был определен «корпоративный взгляд» на персональные компьютеры: ПК предназначены, в основном, для малого бизнеса, поэтому должны обладать «сокращенной функциональностью». Фактически под этим понималась обязательная однозадачность, чтобы не создать внутреннюю конкуренцию между собственными подразделениями, производящими мэйнфреймы — основной источник прибыли IBM в те времена.

К 1984 г. всем стало понятно, что производительности нового процессора 80286 и ПК семейства PC АТ достаточно для реализации затребованной рынком мультизадачности. IBM заключает контракт с Microsoft на разработку новой ОС, способной полноценно использовать все возможности современной аппаратной платформы. Кодовое название ОС было... OS/2 1.00.

У новой системы проблемы начались задолго до появления на свет. Б. Гейтс встретил в штыки сроки реализации OS/2 и целевую платформу — i80286 (публично названную им brainless или «безмозглой»), настаивая на необходимости подготовки к встрече 386-го процессора, разрабатываемого Intel. Ситуация осложнялась и тем, что Microsoft начала создание собственной новой ОС — Windows 1.0 (для того самого «безмозглого» 80286), что также затягивало сроки проектирования. И разгорелся первый конфликт в последующей цепочке судебных разбирательств между двумя гигантами компьютерной индустрии. Дело в том, что продолжительная история IBM, сформировавшая знаменитую на весь мир корпоративную культуру, требовала от компании определенной манеры поведения. Малоизвестный внутренний документ, называемый Корпоративной Директивой (Corporate Directive) № 2, 1956 г. (I), требовал от IBM выполнения всех обещаний пользователям вовремя, «...несмотря на стоимость». Действуя в соответствии со своими правилами, IBM стала вынуждать Microsoft закончить работу над проектом OS/2. Но не забывая при этом о рыночных законах, она начала одновременно проектировать мультизадачную надстройку над MS-DOS, называвшуюся TopView (призванную заполнить «мультизадачный вакуум» до выхода OS/2 на рынок).

В 1987 г. первая OS/2 «вышла в свет». Сказать, что она была чем-то удивительным, достаточно трудно. Но отсутствие графики, ограниченные возможности выполнения DOS-программ и поддерживаемая максимальная емкость накопителей HDD 32 МВ компенсировались полноценной многозадачностью, основанной на аппаратных особенностях процессоров 80286 (что позволяло успешно работать и на более современных 386-х).

1988 г. явил миру OS/2 1.10 SE (Standard Edition), уже поддерживающую достаточно большой размер файловой системы FAT (2 GB) и оснащенную графическим пользовательским интерфейсом -подсистемой PM (Presentation Manager). Сейчас очень трудно пытаться объяснить неудачу РМ, оперируя такими понятиями, как удобство или красота пользовательского интерфейса, — все остальные ОС того времени для процессоров х86 особой «эстетикой» не отличались. Зато сложность программных интерфейсов РМ, несомненно, сыграла в странной судьбе OS/2 свою роль...

В 1989 г. OS/2 1.10 в расширенной редакции (ЕЕ) обрела новые программные пакеты — Database Manager (мощную и удобную многозадачную СУБД), эмуляторы алфавитно-цифровых терминалов 3270/5250 (основных, принятых в мэйнфрейм-мире) и... новые неприятности — никакой критики не выдерживал модуль управления асинхронной связью RS232. Недостатки не остались незамеченными, и в конце 1989 г. альянс IBM-Microsoft выпускает в свет революционный релиз 1.20, предопределивший дальнейшие развитие и облик системы. В OS/2 1.20 появилась новая файловая система HPFS (куда более совершенная, чем по сей день влачащая существование FAT), встроенный интерпретатор могучего языка программирования REXX и улучшенный РМ. До выхода на рынок «убогенькой» Microsoft Windows 3.0 остается почти шесть месяцев, и, казалось, новая OS/2 просто обречена на успех... Но успеха не последовало, скорее — наоборот, вышедшая в мае 1990 г. «третья» Windows начинает приносить столь значительные прибыли, что Microsoft фактически идет на расторжение соглашений по проектированию OS/2 с IBM — отвлечение разработчиков от основного проекта (Windows) становится невыгодным.

В результате этого конфликта IBM приняла обязанности по полному сопровождению версий 1.x и разработке версии 2.0, Microsoft продолжила совершенствование Windows и начала проект OS/2 3.00, впоследствии переименованный в... Windows NT.

Как ни странно, практически окончательный разлад отношений IBM-Microsoft стал первым «просветом» в истории OS/2 — начиная с версии 1.30 разработчики IBM делают всю работу сами, заодно устраняя недостатки детища «коалиционного» программирования. А их оказалось немало, например -в пользовательских интерфейсах механизмов установки и конфигурирования устройств. До сих пор остается загадкой, как программисты Microsoft, реализовавшие установку принтера в Windows 3.0 двумя «кликами» мышки, умудрились в OS/2 превратить эту процедуру в нечто сложное и невразумительное, тем более что проектирование OS/2 и Windows 3.0 происходило фактически в один и тот же период времени.

Первая «самостоятельная» версия 1.30 еще содержала код «от Microsoft», но стараниями разработчиков IBM избавилась от многих «врожденных» недостатков. Графическая подсистема начала поддерживать шрифты типа Adobe Туре 1 (в Microsoft только приступали к разработке подсистем рендеринга TrueType-шрифтов), файловая система подверглась усовершенствованиям, повышающим производительность, кардинально изменились алгоритмы управления виртуальной памятью, пользователи получили возможность наслаждаться очень высоким для 1991 г. экранным разрешением 1024×768.

К 1992 г. в IBM смогли полностью избавиться от «багажа» коалиционного кода, и на рынок вышла версия 2.0. Характеристики этой системы были таковы, что она неизбежно должна была стать СОБЫТИЕМ! Судите сами — полностью 32-битовая ОС, позволяющая запускать множество DOS и Windows-сессий одновременно со своими приложениями. По сравнению с Windows 3.0, которая была просто DOS-приложением, подобные возможности были революционными и оставались недостижимыми для других массовых ОС на протяжении трех лет. Добавим к этому перечню достоинств объектно-ориентированную графическую оболочку Workplace Shell (WPS), способствовавшую упрощению процессов разработки приложений, обновленную к 1993 г. и расширенную мультимедийными возможностями, и можно сделать вывод, что OS/2 2.0 просто обязана была стать лидером. Но не стала...

Несмотря на отсутствие рыночных успехов, IBM продолжает совершенствовать ОС, и в 1984 г. выдает на рынок OS/2 Warp. Слово «warp» в английском языке имеет несколько значений, но самым приемлемым переводом в случае с третьей версией OS/2 представляется «деформация»: Warp дебютирует как «надстройка» над Windows 3.1. В кратчайшее время от этого «искривления» система избавляется, но название закрепляется прочно. Пользователям Warp приносит средства полноценного доступа к Internet, включая броузер Web-Explorer, ничем не уступающий Netscape, графический ftp-клиент, подсистему электронной почты (правда, далекую от совершенства).

В борьбе за массовый десктоп IBM начинает поставлять в комплекте с Warp дополнительный CD-ROM с рядом приложений, в том числе — с интегрированным офисным пакетом IBM Works (текстовый процессор, электронная таблица, база данных, генератор отчетов и диаграмм).

1995 г. в истории OS/2 ознаменовался появлением Warp Connect, расширяющей возможности применения ОС в самых популярных локальных сетях. К 1996 г. продолжительное «лечение» системы закончилось, и она созрела для серверных приложений. Warp Server вышла на рынок и быстро завоевала заслуженную репутацию надежной, удобной и эффективной платформы. Мощность встроенного командного языка REXX, столь необходимая системным администраторам, возможности удаленного доступа к системе, удобная и «дружественная» по отношению к различным клиентским ОС подсистема сетевой печати (допускающая, например, печать postscript-файлов на обычных принтерах) — это далеко не полный перечень достоинств OS/2 Warp Server.

В предпоследнем релизе, также выпущенном в 1996 г. с кодовым названием Merlin (непростое слово, имеющее два значения: «волшебник, маг» и «сокол»), разработчики IBM сосредоточили усилия над совершенствованием «десктопных» возможностей ОС. Merlin приобрела абсолютно уникальные встроенные механизмы голосового управления и реализованную на уровне ядра ОС виртуальную машину Java. Но все эти пользовательские «красивости» просто меркнут по сравнению с сетевыми возможностями: Merlin, установленная с дистрибутивного диска, может выступать клиентом практически любой существующей сетевой ОС.

И именно после 1996 г. стала видна как на ладони более чем странная судьба OS/2 — одна из лучших операционных систем для самых массовых ПК, продвигаемая на рынок одной из мощнейших корпораций в информационной индустрии, так и не выбилась в лидеры. Больше того, судьбу OS/2 можно считать даже симптомом общей трагедии компьютерного мира (а, возможно, и не только компьютерного...), истоки которой раскрываются незабвенным И. Ильфом в «Золотом теленке» (просто перечитайте пару первых абзацев главы IX «Снова кризис жанра»).

ЗАЛП «АВРОРЫ»

Последнее событие этой короткой хронологии свершилось совсем недавно ~ в Международный женский день (о существовании которого наверняка в IBM и не подозревают) 1999 г. появился так называемый гамма-релиз обновленной Warp Server под названием Aurora. В очередной раз программисты IBM порадовали приверженцев своей ОС как рядом косметических доработок и без того несложных процедур администрирования (например, добавлена графическая оболочка, позволяющая быстро редактировать системные текстовые файлы), так и значительными усовершенствованиями.

В первую очередь к ним следует отнести новую файловую систему JFS (Journaled File System, журнальная файловая система). Как и все обладающие «журнальной» особенностью файловые системы, JFS обеспечивает очень высокую надежность — каждая операция записи на диск регистрируется в так называемом «журнале» (специальном файле или на выделенной дорожке диска). В случаях сбоев электропитания или аппаратных неисправностей, журнальный механизм позволяет при перезапуске системы очень быстро «проиграть» всю последовательность действий перед нарушением работы системы, что гарантирует надежное восстановление работоспособного состояния как ОС, так и всех приложений. «Журнальный» механизм — не новинка в мире операционных систем и реализован не только в «серверных» ОС (лучший пример этому — BeOS). С недавних пор появилась высокая степень вероятности очень быстрого оснащения им бесплатных Linux и Free/Open/ NetBSD, разработчики которых могут достаточно легко портировать «освобождаемую» Silicon Graphics журнальную файловую систему XFS.

В такой ситуации введение JFS, скорее всего, вызвано не столько желанием сделать OS/2 более привлекательной для новых заказчиков, сколько той самой Корпоративной Директивой 1956 г., требующей заботы о пользователях «любой ценой». Передовая для своего времени HPFS уже устарела, существенно ограничивая области применения серверов OS/2, что вынуждает пользователей искать подходящую современным требованиям замену ОС. Однако подобную процедуру трудно назвать безболезненной, и уж тем более — выгодной, поскольку полный переход на новую серверную операционную систему неизбежно повлечет и замену прикладного ПО и, возможно, — конвертирование данных в новые форматы.

Кроме усовершенствований файловой подсистемы, есть еще ряд малозаметных с пользовательской точки зрения модернизаций. Вероятнее всего, серьезной ревизии подверглось ядро ОС — улучшились показатели механизмов виртуальной памяти, стека ТСР/IP и симметричной мультипроцессорности (SMP). Если попытаться сравнить основные показатели популярных сегодня серверных операционных систем, то Aurora выглядит более чем конкурентоспособно.

Анализируя достоинства OS/2 Aurora, не вспомнить о еще одной «печальной повести» просто невозможно. Естественно, речь идет о Java. Совсем недавно многообещающая, революционная и какая хотите еще, вызвавшая бурю публикаций и массовое одобрение как программистов, так и менеджеров ИТ, Java сегодня превратилась в некоторое подобие OS/2. О ней уже почти не вспоминают, открытие исходных текстов ни на йоту не продвинуло разработки системы (что само по себе свидетельствует о значительном спаде интереса). Возможно поэтому рекордные показатели OS/2 в качестве Java-платформы никого не интересуют, как и интенсивное использование Java в Internet-подсистемах ОС. Сервер приложений WebSphere, интегрированный с Lotus Domino Go Webserver, дает в руки разработчика мощный инструмент проектирования intranet-систем на основе технологии тонких клиентов, а приверженность IBM к открытым стандартам гарантирует безболезненность процессов внедрения решений на основе Aurora в уже существующие информационные системы.

Особо следует остановиться на защищенности серверов Aurora. К сожалению, ограниченный лимит времени не позволил «прощупать» Aurora на предмет стойкости ко «взлому», но проведенный тщательный анализ конференций, посвященных OS/2, убедительно доказывает — серверы на основе этой ОС являются одними из самых «крепких орешков» для крекеров и хакеров.

Прибереженное «напоследок» достоинство Aurora касается программистов (хотя, если честно, надо было с него начинать: обилие и мощь программистского инструментария — это определяющие факторы успеха той или иной ОС). И здесь OS/2 ни в чем не уступает, а во многом и превосходит почти всех коммерческих соперников -среда разработки IBM VisualAge,tyiB C++ по праву считается одной из лучших IDE на рынке инструментального ПО.

ПОЧЕМУ?

Что же предопределило такую очевидно неудачную рыночную судьбу OS/2? Ведь система явно хороша, существует и международное сообщество поклонников-поль-зователей OS/2, поддерживающее в «лихую годину» свою «любимицу», сформирован и небольшой, но все же рынок достаточно высококачественного ПО, есть замечательные freeware-разработки, значительно расширяющие возможности системы (чего только стоит, например, портированный в OS/2 X-Window XFree86). Возможных вариантов ответов может быть очень много, но попытки свалить вину за неудачу OS/2 на слабую маркетинговую политику IBM кажутся маловразумительными. Это IBM, продавшая в 1991-1992 гг. почти полмиллиона компьютеров (сверхдорогих и еще неуспевших «обрасти» ПО), не умеет продвигать свою продукцию? Или, может, IBM не имеет влияния в индустрии? Тоже смешно...

А, может быть, неудачи OS/2 симптоматичны и свойственны не только этой ОС? Строгое соблюдение требований международных стандартов, воплощенное в OS/2, сыграло злую шутку. Аналогичный эффект отлично просматривается в судьбе Unix — соблюдение стандартов стало «рыночным тормозом»: пользователя абсолютно не интересуют ни технология, ни проблемы других пользователей, он хочет, чтобы ему «сделали красиво».

А в «делании» этого самого «красиво» с рыночно-финансовой точки зрения хороши все средства, кроме стандартных...

Еще одно возможное слагаемое неудачи OS/2 таится в ее «добротности». Это русское слово достаточно точно характеризует очень многое «от IBM» — качественно, надежно, долговечно, даже, можно сказать, безукоризненно, но... — без «изюминки» (корпоративный заказчик этого не любит). А ведь именно благодаря «изюминке», изначально заложенной в концепциях Unix, мы сегодня становимся свидетелями реинкарнации одной из старейших операционных систем.

РЕВОЛЮЦИЯ СВЕРШИЛАСЬ?

Теперь пора поговорить о вещах невеселых, а точнее — о том, как может сложиться судьба OS/2 в будущем? Сегодняшняя Aurora по многим параметрам превосходит Windows NT и представляет собой отличную альтернативу Unix для организаций, не способных (или не желающих) содержать дорогостоящих специалистов — администраторов. Вся беда в том, что ситуация повторяется: OS/2 2.0 была несоизмеримо лучше Windows 3.0, Warp 4 также ничем не уступала Windows 95... Вероятнее всего, что и Aurora повторит судьбу своих предшественниц. А жаль.

Но не следует сбрасывать со счетов один потенциально возможный неожиданный поворот истории. И пусть приверженцы «закрытой» корпоративной модели развития ПО называют подобные меры всяческими нехорошими словами (популизмом, борьбой за выживание), но... Бурное развитие программных систем с открытыми исходными текстами и фактическая бесприбыльность для IBM (если не убыточность) дальнейшего совершенствования ОС наводят на мысль о возможной реализации «открытой» версии OS/2, скорее всего — клиентской, разработка которой прекращена. Не исключено, что единственным фактором, тормозящим этот неизбежный процесс, являются лицензионные сложности, оставленные «в наследство» коалицией IBM_Microsoft.

В случае, если все-таки «освобождение» OS/2 произойдет, интересной представляется вероятность ее «объединения» с Unix-подобной ОС.