Операционная система OS/2 Warp© Александр Фролов, Григорий ФроловТом 20, М.: Диалог-МИФИ, 1993, 271 стр. 1.3. Совместимость с DOS и Microsoft WindowsСоздавая новую операционную систему, любой разработчик должен обеспечить ее совместимость с существующим программным обеспечением. Иначе зачем она будет нужна пользователю? Ведь на момент создания новой операционной системы существует очень мало специально созданных для нее программ. Поэтому IBM OS/2 Warp содержит специальные средства, предназначенные для запуска программ DOS и приложений Microsoft Windows в своей среде. Запуск программ DOSПрограммы DOS предназначены для реального режима работы процессора, поэтому для них IBM OS/2 создает специальные виртуальные машины, по одной на каждую программу. Процессор i386 и более старшие модели этой серии способны переключаться в так называемый режим виртуального процессора i8086. В этом режиме используется схема отображения адресов, принятая для реального режима, т. е. адрес состоит из сегмента и смещения. Однако при возникновении прерываний процессор автоматически переключается в защищенный режим. Кроме того, в режиме виртуального процессора (который можно считать разновидностью защищенного режима) действуют все защитные механизмы и используется страничная адресация памяти. Детали вы можете узнать из 6 тома "Библиотеки системного программиста". Крах виртуальной машины, которая используется для работы программы DOS, никак не сказывается на общей работоспособности системы, так как адресное пространство всех таких машин изолировано друг от друга и от адресного пространства остальных программ (и, разумеется, от адресного пространства самой IBM OS/2). Это качество имеет особенную ценность для разработчиков программ DOS - если в результате ошибки виртуальная машина DOS оказалась разрушенной, можно просто запустить ее еще раз, не перезагружая IBM OS/2. Старые версии MS-DOS были способны работать только с первым Мбайтом оперативной памяти. Позднее в эту операционную систему были добавлены драйверы, предназначенные для использования верхних блоков памяти, расширенной памяти и для эмуляции дополнительной памяти. Кроме того, отдельные разработчики поставляли программы-расширители DOS (DOS Extender), позволявшие создавать и выполнять в среде DOS программы для защищенного режима работы процессора. Виртуальная машина DOS , создаваемая IBM OS/2, способна эмулировать для программ DOS верхнюю, расширенную или дополнительную память (в стандартах EMS и XMS), а также может служить сервером интерфейса защищенного режима DPMI. При помощи меню объекта пользователь может легко подключить или отключить эту возможность, а также выполнить все необходимые настройки. Соответствующая процедура будет описана в главе, посвященной установке IBM OS/2. Включив эмуляцию верхней памяти и разрешив использование блоков UMB, пользователь сможет выделить для программ DOS, работающих в среде IBM OS/2, примерно 642 Кбайт памяти. Если же нужно еще больше, то можно запускать программы DOS в режиме совместимости с видеоадаптером CGA (или в текстовом режиме). При этом для программы будет доступно 740 Кбайт (!) памяти, что недостижимо в реальной DOS. Вы можете запустить программу DOS либо в полноэкранном режиме, либо в окне. То же самое относится и к приложению Microsoft Windows. На рис. 1.22 вы видите три окна. Окно "Memo" относится к программе IBM OS/2, в окне "NC.EXE" работает Norton Commander for DOS, а в окне "Paintbrush - OS2LOGO.BMP" - приложение Paintbrush, которое входит в состав Microsoft Windows.
Рис. 1.22. Операционная системе IBM OS/2 Warp способна запускать наряду с программами, специально разработанными для нее, приложения Microsoft Windows и программы DOS Еще одна возможность - загрузка виртуальной машины DOS с дискеты или заранее подготовленного образа дискеты, расположенного на диске. Этим способом вы можете загрузить, например, старые версии DOS, если по каким-либо причинам виртуальная машина IBM OS/2 вас не устраивает. В отличие от последней DOS, загруженная с дискеты или образа дискеты, в некоторых случаях может работать с аппаратурой напрямую, в обход виртуальных драйверов IBM OS/2. Запуск приложений Microsoft WindowsНесмотря на большое разнообразие программ, разработанных специально для IBM OS/2, возможность запуска приложений Microsoft Windows имеет большое значение. Стоимость операционной системы невелика по сравнению со стоимостью остального программного обеспечения, установленного в компьютере, поэтому можно значительно облегчить переход пользователей от Microsoft Windows к IBM OS/2, предусмотрев возможность работы в среде IBM OS/2 с приложениями Microsoft Windows. Существуют две версии IBM OS/2 Warp 3.0, отличающиеся друг от друга способом установки и составом дистрибутива. Первая из них называется IBM OS/2 Warp Special Edition for Windows . Она предназначена для тех, кто уже имеет Microsoft Windows. При установке этой версии пользователю необходимо "предъявить" дискеты с Microsoft Windows, так что приготовьте их заранее. Более поздняя версия IBM OS/2 Warp 3.0 называется "Fullpack " и содержит в себе все необходимое для работы приложений Microsoft Windows. Она удобнее в установке и к тому же содержит более широкий набор драйверов (а также исправления некоторых ошибок предыдущей версии). И та, и другая версии IBM OS/2 запускают приложения Microsoft Windows на виртуальной машине. Пользователь может изолировать адресные пространства приложений Microsoft Windows, запуская их в разных виртуальных машинах, однако это целесообразно только при объеме памяти, установленной в компьютере, не меньше 16 Мбайт. Если не использовать изолирование адресных пространств, то все приложения будут работать в рамках одной виртуальной машины DOS. При этом они смогут обмениваться данными при помощи средств DDE и OLE . Пользователь может выбрать либо полноэкранный режим работы Microsoft Windows, либо отображать окна приложений Microsoft Windows вместе с окнами приложений IBM OS/2 (как это показано на рис. 1.22). В полноэкранном режиме работы в нижней части рабочего стола Microsoft Windows появляется пиктограмма Desktop , с помощью которой можно перейти к работе с приложениями IBM OS/2. Когда все приложения Microsoft Windows работают в рамках одной виртуальной машины DOS, можно использовать средства, предназначенные для работы с кириллицей, такие как CyrWin , ParaWin и аналогичные. |