Запуск программ 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.