|
|
Вторым существенным моментом стал новый интерфейс
пользователя под названием Workplace Shell (или WPS для краткости),
являвшийся радикальным уходом от концепций, заложенных в GUI OS/1.x и Windows
(см. рис. 4). Новый интерфейс был объектно-ориентированным и в нем все
стало объектом – диск, принтер, программа и так далее. Манипуляции с
объектами проводились с помощью drag-n-drop – перемещение, копирование, печать
и уничтожение. В WPS широко использовалась правая кнопка мыши – для
открытия контекстных меню и выполнения операций по перетаскиванию объектов.
Для операционной системы OS/2 2.0 была
зарегистрирована торговая марка «Интегрирующая платформа» (The Integrating
Platform). Это название напрямую намекало на уникальную возможность OS/2 2.0
исполнять существующие DOS, Windows и OS/2 1.x приложения одновременно с новыми
32-разрядными родными приложениями. В отличие от OS/2 1.x в версии 2.0
поддержка DOS была превосходной. Система полностью использовала появившийся в
386 и последующих процессорах виртуальный 8086-режим (Virtual 8086 mode). Злые
языки компьютерного мира одно время утверждали, что этот режим был реализован в
386-м процессоре шокированными инженерами Intel – слухи о мучениях при
программировании поддержки в OS/2 1.x действительно распространились
весьма широко, и облегчение страданий программистов на аппаратном уровне
было поистине обычным состраданием. Кроме того, что пользователь теперь мог
запускать не только несколько полноэкранных и оконных сессий DOS, появилась
возможность создавать «специальные» DOS-сессии, в которых использовалась не
встроенная поддержка DOS, а предоставлялась возможность запустить DOS 4.0, DOS
5.0, DRDOS и так далее.

Рисунок 4. Workplace Shell
OS/2 2.0
Поддержка Windows-приложений логическим образом
вытекала из поддержки DOS. Полноэкранная Win-OS/2 сессия просто исполняла Windows
3.0 в рамках виртуальной DOS-машины. Оконные сессии Win-OS/2 требовали более
нетривиального подхода в связи с тем, что им было необходимо взаимодействовать
с PM/WPS-приложениями. Выход из ситуации был реализован написанием специальной
версии экранного драйвера для Win-OS/2. Такой подход, хотя и обеспечил хорошую
производительность, но имел существенный недостаток – это сделало процесс
написания драйверов видеокарт для OS/2 намного более сложным и дорогим занятием
и было одной из причин малого количества драйверов для OS/2. Производителю
приходилось помимо создания видеодрайвера для OS/2 дополнительно предоставлять
специфическую OS/2 версию драйвера для Windows. Более логичным было бы
написание «транслирующего» драйвера, преобразовывавшего вызовы функций Win-OS/2
в вызовы PM – тогда от производителя требовалось бы написание только OS/2
версии видеодрайвера.
|