OS/2 — операционная система фирмы IBM.

История системы

Параллельно с разработкой Windows корпорация Microsoft совместно с IBM вела активную работу по созданию системы OS/2.

1 августа 1984 года IBM объявила о выпуске нового поколения персональных компьютеров — IBM PC AT. Совместно с Microsoft IBM приступает к разработке новой операционной системы для компьютеров IBM PC AT. Новая ОС должна преодолеть ограничение DOS на 640Kb памяти для прикладных программ и реализовать поддержку режима многозадачности.

В начале девяностых годов пути двух гигантов IT-индустрии разошлись. Microsoft независимо от IBM начинает разработку Windows 3.0. IBM независимо от Microsoft разворачивает работу над облегчённой версией OS/2, которая требовала бы меньше ресурсов, чем OS/2 1.2.

Было полностью переписано ядро и драйверы, добавлены TCP/IP и USB‐стек.

Версии

OS/2 v0.99 — бета-версия.

Была предназначена для отладочных целей, поставлялась почти без драйверов. Целью создания была конкуренция на рынке многозадачных оболочек для DOS, основным конкурентом считалась DESQView. Включала поддержку кооперативной многозадачности и некоторых функций DESQView API.

OS/2 v1.0 — первая официальная версия. Выпущена в декабре 1987 года.

Первая ОС с режимом многозадачности, использовавшим аппаратные средства процессоров 80286 и 80386 (защищённый режим). Имела текстовый интерфейс. С пользователем могла осуществлять взаимодействие только одна из запущенных программ, остальные выполнялись на заднем плане. Максимально поддерживаемый объём дисков — 32 Мб. Не было также поддержки мыши. Все версии OS/2 1.х разработаны для процессора i80286, но могли функционировать и на 386-х системах.

OS/2 v1.10SE (Standard Edition) выпущена в октябре 1988 года.

В этой версии произошёл дебют Presentation Manager (PM), реализующего функции графического интерфейса пользователя. Однако создание приложений с графическим интерфейсом требовало очень высокой квалификации программиста.

Поддерживались диски с файловой системой FAT16 объёмом до двух гигабайт.

OS/2 v1.10EE (Extended Edition) выпущена в начале 1989 года.

По сравнению со стандартной версией была дополнена программами Database Manager (администратор баз данных) и Communications Manager (администратор связи с мэйнфреймами IBM).

OS/2 v1.20 выпущена в ноябре 1989 года.

Включала улучшения Presentation Manager, а версия EE — также новую файловую систему HPFS (High Performance File System), более эффективную, быструю и надёжную, чем FAT. Также был добавлен интерпретатор языка программирования REXX.

В 1989 году было начато создание сразу двух новых версий OS/2:
OS/2 v2.00
OS/2 v3, которой было предписано стать операционной системой для серверов сетей и которая должна была строится по принципу микроядра и быть переносимой между компьютерами с различными архитектурами. Позже разработка этой ОС была продолжена в Microsoft под названием Windows NT.

OS/2 v1.30 выпущена в 1991 году. Увеличена скорость работы и надёжность по сравнению с предшествующими версиями. В комплекте поставлялось много новых драйверов устройств (однако их было меньше, чем в Windows). Интерпретатор REXX появился и в версии SE, добавлено кэширование записи на HPFS, поддержка видеорежима 1024х768, поддержка шрифтов Adobe Type I.

OS/2 v2.00 выпущена весной 1992 года.

Эта версия являлась 32-разрядной (за исключением видеоподсистемы), продвигалась IBM под слоганом "лучшая DOS, чем DOS, и лучшая Windows, чем Windows". Использование виртуальных DOS-машин (VDM), позволяло запускать сразу несколько DOS-задач (или Windows-задач). Для запуска программ Windows использовалась Win-OS/2, основанная на лицензированной IBM Windows 3.1. Использование виртуальных машин позволило изолировать Windows и DOS-задачи, в результате чего сбои не препятствовали продолжению выполнения других программ. Был реализованы также такие механизмы межпрограммного взаимодействия, как динамический обмен данных (Dynamic Data Exchange) и буфер обмена.

Минимально необходимым для работы этой версии системы процессор i80386, ядром системы используется его защищённый режим, DOS-приложения используют режим Virtual 8086. Для работы требовался объём оперативной памяти 8 мегабайт.

Также в эту версию была включена оболочка рабочего стола Workplace Shell, предоставлявшая функции объектно-ориентированного графического интерфейса пользователя.

OS/2 v2.10 — выпущена в мае 1993 года.

Ускорена загрузка, добавлена поддержка шрифтов TrueType в Win-OS/2, а также функции поддержки мультимедиа (Multimedia Presentation Manager, MMPM/2). Графическая подсистема стала 32-битной. Поддерживаются системы PCMCIA и APM BIOS, необходимые для портативных компьютеров; однако качество реализации драйверов было невысоким. В конце 1993 года была также выпущена более дешёвая версия OS/2 2.11, устанавливающаяся поверх Windows 3.1.

Интересно отметить, что в OS/2 того периода отсутствовала поддержка ноутбуков, выпускавшихся самой же IBM[уточнить!], что способствовало снижению репутации и падению популярности OS/2.

Warp 3 выпущена в октябре 1994 года, а её бета-версия OS/2 v2.99 — в начале 1994 года.

Первоначально эта версия вышла под названием «OS/2 Warp for Windows», и устанавливалась также, как и OS/2 2.11, поверх Windows 3.1. Позже была выпущена версия, включающая Win-OS/2. Минимальные требования включали процессор 80386 и 4 мегабайта оперативной памяти. В комплект поставки были включены дополнительные драйвера устройств. Улучшена поддержка печати, мультимедиа и PCMCIA, Workplace Shell. Появился новый элемент интерфейса — LaunchPad (панель для быстрого запуска программ).

Были также доступны сервисы Internet и TCP/IP. Warp 3 включала комплект доступа в Internet (Internet Access Kit, IAK), в состав которого входил, помимо системного ПО, браузер Web Explorer. Тем не менее, большинство пользователей использовали NetScape. Доступна была также поддержка FTP и электронной почты (хотя предназначенная для этого программа Ultimail Lite была неудобной и работала с малой скоростью).

В комплект поставки входил компакт-диск BonusPak, на котором был представлен офисный пакет IBM Works, включавший электронные таблицы, текстовый процессор, СУБД, генератор отчётов и программу построения диаграмм. Также в Bonus Pak была включена программа для приёма/отправки факсов и некоторое другое ПО.

В этом же году IBM было принято стратегическое решение о концентрации усилий по разработке не на x86-совместимых компьютерах, а на PowerPC, в число разработчиков которого входила сама IBM. Была создана концепция «Рабочего места OS», а также версия OS/2 для PowerPC.

Warp Connect выпущена в 1995 году.

Включала в себя сетевой инструментарий Warp Connect Peer для взаимодействия с LAN Server 4.0, позволявший разделять между компьютерами, входящими в сеть, файлы, принтеры и модемы. В начале 1996 года был выпущен Warp Server, объединявший OS/2 Warp, LAN Server 4.0 (с добавлениями и исправлениями) и SystemView for OS/2. Этот комплект был предназначен для создания файл-серверов и серверов печати. Предоставлялись также службы удалённого доступа и резервного копирования. Warp Server поддерживал симметричную мультипроцессорность (SMP).

Warp 4 (Мерлин) выпущена в сентябре 1996 года.

Переработан интерфейс Workplace Shell, добавлена поддержка выполнения программ на языке программирования Java, функции голосовой навигации и голосового ввода информации VoiceType Navigation and Dictation. Сетевые средства Warp 4 позволяли ей работать с большим количеством сетей: LAN Server, Windows, Novell Netware, PCLAN, IPX-SPX, LANtastic и т.д. Поддерживались протоколы TCP/IP, SNA, NetBIOS.

Также в состав этой версии ОС включались служба удалённого доступа LAN Distance, служба управления системой TME10 Netfinity, включавшая поддержку Desktop Management Interface, сервис для мобильных пользователей Mobile Office Services.

Недостатками OS/2 в этот период являлось малое количество программ сторонних разработчиков, особенно ориентированных на домашнего пользователя, в том числе игр. Причиной этого была политика IBM, не предпринимавшей особых усилий для того, чтобы побудить таких разработчиков создавать программы для OS/2.

Аврора — полуофициальное название серверной ветви OS/2, выпущенной следом Warp 4 (Мерлин). Первоначально имела название OS/2 Warp Server for e-Business и была выпущена в апреле 1999 года (версия Warp 4.5). Иногда её неправильно называют Warp 5. Добавлена поддержка журналируемой файловой системы JFS, поддерживается до 64 процессоров, обновлены практически все компоненты системы. Были выпущены также два пакета обновлений Aurora Convenience Pack: ACP1 (версия Warp 4.51) и ACP2 (версия Warp 4.52).

eComStation

Соревнование с Windows

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

21 мая 1990 года вышла Windows 3.0. За первый месяц её копий было продано больше, чем копий OS/2 за целых три года. Microsoft занимает доминирующее положение на рынке офисного ПО для Windows.

В 1991 году Microsoft прекратила участие в разработке OS/2, разрабатывыющаяся аппаратно-независимая ОС переименована из "OS/2, Version 3" в "Windows NT".

Версию OS/2 Warp 3 всерьёз рассматривали как достойного конкурента Windows, но версия 4 уже не претендовала на это из‑за рекламной деятельности Microsoft. 26 октября 1996 года вышла следующая версия — OS/2 Warp 4.0 (Мерлин). В 1999 появляется OS/2 Warp Server for e-business (кодовое название «Аврора», версия системы — 4.5).

Интересен также тот факт, что в процессе совместной работы специалисты Microsoft создавали для Windows существенно более удобный конечному пользователю код, относительно такового для OS/2 v1.10SE и OS/2 v1.20. Таков, в частности, весь код ядра и интерфейсов, относящийся к драйверам устройств.

Пример процедуры установки принтера в ранних версиях OS/2:
установить драйверы устройства;
установить очередь принтера;
создать объект принтера;
сопоставить драйвер устройства с объектом принтера;
сопоставить очередь печати с объектом принтера;
настроить COM-порт для принтера, подключаемого к оному порту;
при помощи команды SPOOL переназначить принтер на желаемый порт;
определить опциональные параметры настройки принтера.

Microsoft, официально отказавшись от поддержки OS/2, продолжала внимательно следить за развитием этой операционной системы. Многие детали интерфейса OS/2 IBM и Microsoft перешли в новую ОС Microsoft — Windows 95.

Завершение истории

OS/2 существует до сих пор и приобрела некоторую популярность в среде корпоративных клиентов и сетевиков. И сегодня многие крупнейшие корпорации в Европе доверяют OS/2 управление своими компьютерными сетями, однако в России OS/2 не получила широкого распространения.

Особой популярностью в качестве домашней операционной системы OS/2 никогда не пользовалась, оставаясь в тени Windows, и, позже Windows NT. Тем не менее усилия как самой IBM, так и множества корпоративных и независимых разработчиков программного обеспечения не прошли даром — OS/2 является стабильной системой с предсказуемым поведением и хорошим набором системных и прикладных программ. При этом OS/2 представляет собой самостоятельную линию развития операционных систем, отличаясь от Windows NT существенно меньшими требованиями к аппаратным средствам, а от GNU/Linux — лучшей поддержкой программ для DOS и win16.

Поддержка пользователей осуществлялась до 31 декабря 2006 года. После этого срока поддержка осуществляется только для тех пользователей, которые заключили дополнительный договор на обслуживание.

Области использования OS/2

Загрузка OS/2 4

OS/2 традиционно используется в банковской сфере; иногда — в банкоматах, в файрволах для OS/390. На постсоветском пространстве основные области использования OS/2 сводятся к следующему:

Сервер
«Aurora» (OS/2 WSeB 4.5x) популярна в качестве файлового сервера из‑за производительности, надёжности и набора возможностей. Используется, например, в качестве сервера приложений и контроллера домена, а также позволяет использовать разнообразные интернет‐сервисы вроде серверов HTTP, FTP, SMTP/POP3, FireWall, прокси-сервера, сервера точного времени и т. п.

Рабочее место в лаборатории
OS/2 встречается в институтских лабораториях — там, где много управляющих программ для «экзотических» платформ типа Windows 2.x или GeoWorks, где от системы требуется хорошая многозадачность.

Типичный диалог с вкладками в Warp 4

Обработка больших (для своего времени) объёмов данных
OS/2 обрабатывает многомегабайтные потоки информации (хорошей иллюстрацией является статья Феликса Гербека об использовании OS/2 для обработки данных с метеоспутников). Это было одной из причин популярности OS/2 в Фидонете, где крупные узлы ежедневно обрабатывают десятки (а то и сотни) мегабайтов почты — как правило, в автопилотном режиме.

Разработка ПО
OS/2 была популярна для разработки программ на Java, учитывая уважительное отношение IBM к этому языку и самую быструю из существующих для x86 Java‐машину. Также разрабатывалась серия продуктов IBM VisualAge (С++, Java и SmallTalk).

ОС для слабой машины
На старой i80486 с 4—8 мегабайтами памяти вполне можно работать в OS/2 Warp 3 — этого достаточно для запуска клиента сети и нескольких старых досовских программ, написанных ещё на Clipper или FoxPro. Именно такие машины с таким набором ПО часто встречаются в бухгалтериях.

Некоторые свойства системы

Рабочий стол OS/2

Файловая система
В OS/2 реализован механизм монтируемых файловых систем (IFS — Installable File System). Это означает, что для работы с той или иной файловой системой нужно просто загрузить соответствующий драйвер. Штатная «высокопроизводительная файловая система» (HPFS — High Performance File System) поддерживает разделы диска до 64 гибибайт (это ограничение драйвера, сама файловая система поддерживает до двух терабайт) и позволяет использовать имена файлов длиной до 255 символов. HPFS экономно расходует дисковое пространство (размер сектора составляет 512 байт), крайне мало подвержена фрагментации и отличается стабильностью. В последних версиях OS/2 имеется менеджер логических дисков (LVM), позволяющий объединять несколько физических разделов (в том числе находящихся на разных дисках) в единый том, и включена поддержка более быстрой журналируемой файловой системы JFS, поддерживающей тома больших объёмов (до 2‑х тебибайт).
Помимо входящих в поставку IFS для FAT, HPFS, JFS, ISO9660 (CDFS) и UDF существуют также монтируемые файловые системы сторонных производителей для VFAT, FAT32, EXT2, NTFS, HFS, AEFS и др.

OS/2 Window List displays

Графический интерфейс пользователя GUI
В OS/2 в качестве штатного интерфейса используется Workplace Shell (WPS).
В отличие от Microsoft Windows, где графические и текстовые программы используют две разные кодировки («кодировка DOS» и «кодировка Windows»), в OS/2 везде используется кодировка DOS (для русской локализации — CP866). Исключение составляют приложения Windows, запускаемые под OS/2.
Поддержка Юникода, однако, в «родных» приложениях OS/2 практически отсутствует — в частности, в именах файлов, хотя файловая система JFS хранит их в Unicode (ср. FAT32 в Windows).

Командная строка
В отличие от Microsoft Windows, GUI в OS/2 можно не загружать, получая при этом во многом работоспособную систему в командной строке. Штатный шелл может быть заменён на более продвинутый аналог 4os2 или портированные из юниксов sh, bash и т. п. Это позволяет загружать вполне работоспособную систему с одной‐двух дискет, однако некоторые важные функции, не требующие, казалось бы, GUI реализованы лишь в Presentation Manager.

REXX
REXX — язык для написания скриптов. Это язык с весьма несложным синтаксисом, разработанный в IBM. Версия REXX для OS/2 позволяет писать как консольные, так и графические приложения, выполнять команды OS/2, а также обращаться к OS/2 API. Помимо этого, многие программы имеют REXX API, позволяющее создавать скрипты для управления работой этих программ (ср. Visual Basic for Applications в Windows и Bash и т. п. в GNU/Linux).

TCP/IP
OS/2 имеет юниксоподобный стек TCP/IP (последние версии являются полностью BSD4.4‐совместимыми), с привычными для пользователей юниксов утилитами и демонами типа arp, ifconfig, netstat, ppp, telnetd, sendmail etc. Стек TCP/IP в OS/2 содержит клиента SOCKS и портированный из AIX файрвол.

Вид папок в окне OS/2

Приложения DOS, win16 и win32
OS/2 поддерживает приложения DOS и Win16. К примеру, OS/2 позволяет загружать с дискеты или её образа на диске произвольную версию DOS или передавать в пользование программе 736kb conventional memory. Для особо капризных программ существует различные параметры настройки, контролирующие практически все аспекты работы сессии DOS.
Приложения Windows могут быть запущены как в полноэкранной сессии win-os2 (ничем не отличается от Windows 3.1), так и поверх рабочего стола OS/2. В win-os2 можно работать с программами, требующими для работы win32s extender (Photoshop 3.0x, MS Internet Explorer/win16).
В последнее время активно развивается проект Odin (домашная страница), позволяющий запускать приложения современных версий Windows, либо конвертировать их в родные OS/2-приложения.

Исправление ошибок
Выходят пакеты исправлений (fixpaks) — так, к маю 1999 года вышло уже 108 пакетов исправлений для OS/2 2.x, 40 для OS/2 Warp 3 и 17 для OS/2 Warp 4. Пакеты исправлений кумулятивны, то есть каждый последующий включает в себя все исправления из предыдущего. Кроме того, пакеты исправлений служат не только для исправления ошибок, но и для добавления новых функций, отсутствующих в системе на момент её выпуска.

Java
По тестам VolanoMark 2.1.2 IBM JDK 1.1.7 for OS/2 является самой быстрой Java-машиной среди всех Intel-based платформ. Java-машина для OS/2 бесплатна и поставляется вместе с системой. Последнюю версию можно взять с IBM Software Choice.

Программы UNIX
Для облегчения портирования Unix/Linux программ, а также разработки нативных приложений в unix-like стиле, используется набор библиотек emx, распространяемый в соответствии с GNU GPL. Если юниксная программа не завязана на конкретные особенности реализации ядра (часто бывает с приложениями для Linux), то в большинстве случаев её можно скомпилировать под OS/2. Однако если программа рассчитана на POSIX-совместимость, её компиляция под OS/2 может оказаться проблематичной.
Существуют также несколько реализаций X Window для OS/2, наиболее распространённой из которых является XFree86OS/2.

Работа в сети
В комплект поставки OS/2 Warp Connect и OS/2 Warp 4 (Merlin) входят клиенты сетей Novell NetWare, Microsoft Network и NFS.

OpenGL
В OS/2 Warp 4.0 и выше реализована программная поддержка OpenGL. Универсальный видеодрайвер Scitechsoft SNAP реализует «software optimized» поддержку OpenGL.

Драйверы
Драйверы к самой разнообразной аппаратуре ныне отсутствуют на официальном сайте IBM,

Исходные коды

1 ноября 2005 года сообщество энтузиастов OS/2 направило в IBM петицию с просьбой открыть исходные коды этой операционной системы. Несмотря на то, что петицию подписали 11613 человек, IBM её проигнорировала. В ноябре 2007 года сообщество направило повторную петицию, которую подписали 3744 человека. IBM ответила отказом 16 января 2008, мотивируя своё решение техническими, юридическими и бизнес-причинами.

IBM до сих пор получает отчисления с продаж OS/2, распространяемой как eComStation.