Presentation Manager
Presentation Manager — это графическая оболочка (оконная среда) для операционных систем OS/2 и AIX, разработанная компанией IBM. Представляет собой одну из первых коммерчески успешных реализаций графического интерфейса пользователя (GUI) на платформе IBM PC, основанную на парадигме рабочего стола с окнами, значками и меню. Presentation Manager (PM) является наследником технологии, заложенной в Windows 1.0 и OS/2 1.0, и в значительной степени повлиял на развитие последующих оконных систем, включая Windows 3.x и OS/2 Warp.
История
Предпосылки и разработка
В середине 1980-х годов корпорация Microsoft совместно с IBM разрабатывала операционную систему OS/2, которая должна была стать преемницей MS-DOS. Первоначально OS/2 1.0 (1987) имела только текстовый интерфейс. Однако уже в 1985 году Microsoft начала работу над графической оболочкой для OS/2, которая получила рабочее название «Windows for OS/2». В 1987 году, после разрыва партнёрства между Microsoft и IBM (из-за разногласий по поводу будущего OS/2 и Windows), IBM продолжила разработку собственной графической среды.
В 1988 году IBM представила OS/2 1.1 с графической оболочкой, которая и получила название Presentation Manager. Эта версия стала первой коммерческой реализацией PM. В отличие от Windows 2.x, которая была надстройкой над MS-DOS, Presentation Manager был встроен непосредственно в ядро OS/2, что обеспечивало более высокую стабильность и многозадачность.
Развитие и версии
- OS/2 1.1 (1988): Первая версия Presentation Manager. Включала базовый оконный менеджер, поддержку мыши, меню и диалоговых окон. Интерфейс был выполнен в монохромном стиле (черно-белый) с использованием векторной графики.
- OS/2 1.2 (1989): Внедрена поддержка цветной графики и улучшенная система шрифтов. Появилась возможность создавать иконки и использовать растровые изображения.
- OS/2 1.3 (1990): Оптимизация производительности и исправление ошибок. Presentation Manager оставался в целом неизменным.
- OS/2 2.0 (1992): Кардинальное обновление. Вместе с переходом на 32-битную архитектуру OS/2, Presentation Manager был переработан. Введена поддержка объектно-ориентированного рабочего стола (Workplace Shell, WPS), который стал надстройкой над PM. WPS позволял представлять файлы, папки, принтеры и другие ресурсы как объекты с контекстными меню и свойствами.
- OS/2 Warp 3.0 (1994): Дальнейшее развитие WPS. Presentation Manager оставался базовым слоем для отрисовки окон и обработки сообщений.
- OS/2 Warp 4.0 (1996): Последняя крупная версия. Presentation Manager и Workplace Shell были интегрированы в единую среду. В этой версии PM поддерживал до 16 миллионов цветов, TrueType-шрифты и улучшенную поддержку многозадачности.
- AIX: Presentation Manager также был портирован на UNIX-систему AIX от IBM, где использовался в качестве графической оболочки для рабочих станций RS/6000.
Конец эры
С середины 1990-х годов, на фоне доминирования Microsoft Windows 95 и Windows NT, а также из-за внутренних проблем IBM с маркетингом OS/2, развитие Presentation Manager замедлилось. Последняя версия OS/2, OS/2 Warp 4.52 (2001), всё ещё включала PM, но дальнейшие обновления прекратились. В 2005 году IBM официально прекратила продажи OS/2. Несмотря на это, Presentation Manager и Workplace Shell до сих пор используются в некоторых промышленных и банковских системах, работающих на устаревшем оборудовании.
Архитектура и устройство
Presentation Manager построен на основе модели оконного менеджера и диспетчера сообщений. В отличие от Windows, где графическая подсистема (GDI) была отдельной DLL, в OS/2 PM был тесно интегрирован с ядром.
Основные компоненты
- Window Manager (WinMgr): Отвечает за создание, уничтожение, перемещение и изменение размеров окон. Управляет очередью сообщений и передачей их приложениям.
- Graphics Engine (GRE): Подсистема рисования, отвечающая за вывод графики (линий, прямоугольников, текста) на экран. Поддерживает аппаратное ускорение через драйверы.
- Presentation Space (PS): Абстракция, представляющая область рисования для приложения. Каждое окно имеет свой PS, который может быть связан с экраном, принтером или памятью.
- Message Queue: Каждое приложение в OS/2 имеет свою очередь сообщений. PM использует асинхронную модель обработки сообщений (например, WM_PAINT, WM_COMMAND, WM_SIZE).
Рабочий стол (Workplace Shell)
Начиная с OS/2 2.0, Presentation Manager был дополнен объектно-ориентированной оболочкой — Workplace Shell (WPS). WPS не заменял PM, а работал поверх него, предоставляя пользователю графический интерфейс для управления файлами, программами и системными настройками.
- Объектная модель: Все элементы рабочего стола (файлы, папки, программы, принтеры) представлены как объекты с методами и свойствами. Пользователь мог создавать собственные объекты, наследуя их от стандартных.
- Контекстные меню: Каждый объект имел контекстное меню (правая кнопка мыши), которое позволяло выполнять операции (открыть, скопировать, удалить, изменить свойства).
- Шаблоны: WPS позволял создавать шаблоны для быстрого создания новых объектов (например, шаблон текстового документа).
- Drag-and-Drop: Полная поддержка перетаскивания объектов между окнами и на рабочий стол.
Классификация
Presentation Manager можно классифицировать как:
- По типу: Графическая оболочка (оконная среда) для операционной системы.
- По архитектуре: Интегрированная в ядро ОС (в отличие от надстроек, таких как Windows 3.x).
- По парадигме: Объектно-ориентированная (начиная с версии 2.0) с поддержкой рабочего стола.
- По платформе: Разработан для IBM PC-совместимых компьютеров с процессорами Intel 80386 и выше, а также для рабочих станций на базе RISC (AIX).
Функциональные возможности
- Многозадачность: Благодаря интеграции с ядром OS/2, PM обеспечивал вытесняющую многозадачность (preemptive multitasking). Несколько приложений могли работать одновременно, не блокируя друг друга.
- Графика: Поддержка растровой и векторной графики, TrueType-шрифтов, цветовых палитр до 16 миллионов цветов.
- Стандартный интерфейс: Единый набор элементов управления (кнопки, меню, полосы прокрутки, диалоговые окна), что обеспечивало единообразие пользовательского опыта.
- Поддержка мыши и клавиатуры: Полная поддержка всех стандартных манипуляций.
- Сетевые возможности: PM позволял запускать приложения на удалённых серверах через протоколы LAN Manager и TCP/IP.
Сравнение с Windows
Presentation Manager часто сравнивают с Microsoft Windows, особенно с версиями 3.x и 9x.
| Характеристика | Presentation Manager (OS/2) | Microsoft Windows 3.x/9x |
|---|---|---|
| Архитектура | Интегрирован в ядро ОС | Надстройка над MS-DOS |
| Многозадачность | Вытесняющая (preemptive) | Кооперативная (cooperative) |
| Объектная модель | Да (Workplace Shell) | Нет (файловый менеджер) |
| Стабильность | Высокая (защита памяти) | Низкая (зависимость от DOS) |
| Производительность | Высокая на мощном оборудовании | Средняя |
| Совместимость | Ограниченная (только OS/2) | Широкая (MS-DOS, Windows) |
Presentation Manager был более стабильным и мощным, но менее совместимым с существующим программным обеспечением, чем Windows.
Применение и значение
- Промышленность и банки: Благодаря высокой стабильности и многозадачности, OS/2 с Presentation Manager широко использовался в банкоматах, кассовых аппаратах и промышленных контроллерах. Некоторые системы работают на нём до сих пор.
- Разработка: PM предоставлял мощный API для разработчиков, включая поддержку объектно-ориентированного программирования (C++ и Object REXX). На его базе создавались такие приложения, как Lotus Notes, IBM Works и редакторы текста.
- Влияние: Presentation Manager оказал значительное влияние на развитие графических интерфейсов. Его объектно-ориентированная модель (Workplace Shell) предвосхитила многие идеи, реализованные позже в Windows 95 и macOS. Концепция «свойств объекта» и контекстных меню стала стандартом де-факто.
Критика
- Сложность: Presentation Manager был сложен в освоении для пользователей, привыкших к MS-DOS. Требовал мощного оборудования (процессор 386, 4 МБ ОЗУ) для комфортной работы.
- Несовместимость: Многие приложения, написанные для Windows, не могли работать под PM без эмуляции или переписывания кода.
- Отсутствие поддержки: После прекращения продаж OS/2, Presentation Manager перестал получать обновления, что привело к уязвимостям и невозможности работы с современным оборудованием.
- Маркетинговые ошибки IBM: Неудачная ценовая политика и недостаточная реклама привели к тому, что PM не смог конкурировать с Windows на массовом рынке.
Интересные факты
- Первая версия: Presentation Manager 1.0 (1988) была выпущена одновременно с OS/2 1.1 и была одной из первых коммерческих графических оболочек для IBM PC, поддерживающих многозадачность.
- Workplace Shell: WPS был написан на языке C++ и содержал около 1,5 миллионов строк кода. Его объектная модель была настолько продвинутой, что до сих пор используется в некоторых встраиваемых системах.
- Совместимость с Windows: В OS/2 2.0 была встроена подсистема Win-OS/2, которая позволяла запускать приложения Windows 3.x в окне Presentation Manager. Это была одна из первых попыток обеспечить обратную совместимость.
- Эмуляция: Существуют проекты по эмуляции OS/2 и Presentation Manager на современных операционных системах (например, ArcaOS — коммерческая версия OS/2, поддерживающая PM).
Источники
- IBM. OS/2 2.0 Presentation Manager and Workplace Shell Guide. IBM Corporation, 1992.
- Letwin, Gordon. Inside OS/2. Microsoft Press, 1988.
- Tanenbaum, Andrew S. Modern Operating Systems. Prentice Hall, 1992.
- OS/2 Warp 4.0 User's Guide. IBM Corporation, 1996.
- Статьи в журнале Byte (1988–1992) о разработке OS/2 и Presentation Manager.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →