OS/2

OS/2 — операционная система фирмы IBM, в определённый период времени разрабатывавшаяся с участием Microsoft.

История системы 
1 августа 1984 года IBM объявила о выпуске нового поколения персональных компьютеров — IBM PC/AT — и приступила к разработке новой операционной системы для этих машин. Новая ОС должна была преодолеть ограничение DOS на 640 Кб памяти для прикладных программ и реализовать поддержку режима многозадачности. Параллельно с разработкой Windows корпорация Microsoft вместе с IBM включилась в активную работу по созданию системы, получившей наименование OS/2. Однако в начале 1990-х годов пути двух гигантов IT-индустрии разошлись. Microsoft независимо от IBM начинает разработку Windows 3.0. IBM, независимо от Microsoft, разворачивает работу над облегчённой версией OS/2, которая требовала бы меньше ресурсов, чем OS/2 1.2.

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

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

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

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

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, чем MS-DOS, и лучшая Windows, чем Windows». Использование виртуальных DOS-машин (VDM) позволяет запускать сразу несколько DOS- и Windows-задач. Для запуска программ Windows используется Win-OS/2, основанная на лицензированной IBM Windows 3.1. Использование виртуальных машин позволило изолировать Windows и DOS-задачи, в результате чего сбои в программах не препятствовали продолжению выполнения других программ. Реализованы также такие механизмы межпрограммного взаимодействия, как динамический обмен данных (Dynamic Data Exchange) и буфер обмена.

Минимально необходимым для работы этой версии системы является процессор 80386, ядром системы используется его защищённый режим. DOS-приложения используют режим виртуального 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.

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 (панель для быстрого запуска программ).

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

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

В том же году в IBM принято стратегическое решение о концентрации усилий по разработке не на x86-совместимых компьютерах, а на PowerPC, в число разработчиков которого входила сама IBM. Была создана концепция «Workplace 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.

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

eComStation

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

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

В 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 никогда не пользовалась, оставаясь в тени Windows, и, позднее, Windows NT. Тем не менее усилия как самой IBM, так и множества корпоративных и независимых разработчиков программного обеспечения не прошли даром — OS/2 являлась стабильной системой с предсказуемым поведением и хорошим набором системных и прикладных программ. При этом OS/2 представляла собой самостоятельную линию развития операционных систем, в своё время отличаясь от Windows NT существенно меньшими требованиями к аппаратным средствам, а от Linux — лучшей поддержкой программ для DOS и Win16.

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

Области применения OS/2 
 ОС для компьютеров ранних моделей/банкоматов На компьютере с процессором 80486 с 4—8 мегабайтами памяти можно работать в OS/2 Warp 3, что достаточно для запуска клиента сети и нескольких программ под DOS. OS/2 традиционно используется в банковской сфере; иногда — в банкоматах, в файрволах для OS/390.

На постсоветском пространстве основные области использования OS/2 сводятся к следующему:

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

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

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

 Разработка ПО OS/2 была популярна в конце 1990-х годов для разработки программ на Java. Также разрабатывалась серия продуктов IBM VisualAge (C++, Java и SmallTalk).

Некоторые особенности системы

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

Помимо входящих в поставку IFS для FAT, HPFS, JFS, ISO9660 (CDFS) и UDF существуют также монтируемые файловые системы сторонних производителей для VFAT, FAT32, EXT2, NTFS, HFS, AEFS и др.

Графический интерфейс пользователя 

В OS/2 в качестве штатного интерфейса используется Workplace Shell (WPS).

В отличие от Microsoft Windows, где графические и текстовые программы используют две разные кодировки («кодировка DOS» и «кодировка Windows»), в OS/2 везде используется кодировка DOS (для русской локализации — CP866). Исключение составляют приложения Windows, запускаемые под OS/2.

Поддержка Юникода, однако, в «родных» приложениях OS/2 практически отсутствует — в частности, в именах файлов, хотя файловая система JFS хранит их в Unicode (ср.: FAT32 в Windows).

Командная строка 
GUI в OS/2 можно не загружать, получая при этом работоспособную систему в режиме командной строки. Штатная оболочка может быть заменена на более продвинутый аналог (4os2 или портированные из юниксов sh, bash и т. п.). Это позволяет получить работоспособную систему на одной-двух дискетах.

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

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

Приложения DOS, Win16 и Win32 
OS/2 способна выполнять приложения DOS и Win16. К примеру, OS/2 позволяет загружать с дискеты или её образа на диске произвольную версию DOS или передавать в использование программе 736 Кб основной памяти. Для особо «капризных» программ существуют различные параметры настройки, контролирующие практически все аспекты работы сессии DOS.

Приложения Windows могут быть запущены как в полноэкранной сессии Win-OS/2 (ничем не отличается от Windows 3.1), так и поверх рабочего стола OS/2. В Win-OS/2 можно работать с программами, требующими для работы Win32s extender (Photoshop 3.0x, MS Internet Explorer/Win16).

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

Java 
По тестам VolanoMark 2.1.2, IBM JDK 1.1.7 for OS/2 в своё время являлась наиболее продуктивной Java-машиной на платформе x86. Java-машина для OS/2 бесплатна и поставляется вместе с системой.

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

Существуют также несколько реализаций X Window System для OS/2, наиболее распространённой из которых является XFree86-OS/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 петицию с просьбой открыть исходные коды этой операционной системы. Несмотря на то, что петицию подписали 11 613 человек, IBM её проигнорировала. В ноябре 2007 года сообщество направило повторную петицию, которую подписали 3744 человека. 16 января 2008 года IBM ответила отказом, мотивируя своё решение техническими, юридическими, а также бизнес-причинами. IBM до сих пор получает отчисления с продаж OS/2, распространяемой как eComStation.

В рамках проекта Core/2 существуют два действующих направления по развитию OS/2:
 OS/4 — создание современного ядра методом реверс-инжиниринга и полного переписывания кода на основе существующих ядер.
 osFree — создание всей операционной системы «с нуля» на основе современных микроядерных технологий и активного использования наработок открытого ПО.

В ноябре 2015 года компанией Arca Noae было заключено лицензионное соглашение с IBM на выпуск и продажу нового дистрибутива для современного аппаратного обеспечения на кодовой базе OS/2, получившее кодовое имя Blue Lion. Позднее этот проект вышел на коммерческий рынок под названием ArcaOS и рассматривается как полноценная замена старым версиям OS/2 4.5.

Примечания

Ссылки 

 Сайт разработчика последних версий OS/2 — eComStation 
 Сайт неофициальной поддержки eComStation
 Сайт разработчика русской версии eComStation
 OS/2 FAQ — сборник часто задаваемых вопросов и ответов на них
 Russian Underground/2 — сайт пользователей OS/2
 Hobbes — крупнейший файловый архив с софтом для OS/2

Литература 
 Шашков М. Забытая OS/2: Вехи пути // Comprice.ru