Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Виртуальная машина и эмуляция DOS. Сжатие дисков



К сожалению, не все программы совместимы с Windows 98/95. Давайте рассмотрим случаи неправильной работы при­ложений под управлением Windows 9X и дадим рекомендации по улучшению совместимости между приложениями и этой операционной системой.

Обращение к аппаратным средствам. Windows 98/95 пред­полагает, что программы обращаются к аппаратным средст­вам машины только через интерфейс операционной системы. Если обращение происходит «в обход» Windows 98/95, система распознает эту ситуацию и выдает предупреждающее сообще­ние.

В частности, такое сообщение появляется при выполнении про­грамм настройки различных видеоадаптеров, приложений для работы с модемами, а также некоторых «тяжелых» 16-ти битных приложе­ний, таких, как старая версия издательской системы QuarkXPress, которая на­прямую обращается к регистрам видеоадаптера для ускорения вывода изображения на экран.

Обратите внимание, что это только предупреждение. Если приложение нормально работает в Windows 9X, не вызы­вает сбоев в системе и не «зависает», то в появляющемся при его запуске окне сообщения установите флажок «Не выводить более это предупреждение» и запуск прило­жения будет происходить без вывода предупреждающего сообщения.

Мультизадачная среда. Задачи, связанные с обслуживанием и диагностикой дисков, разработанные под DOS, некорректно работают в мультизадачной среде Windows 98, т.е. могут нарушать работу других программ с ди­агностируемым устройством. Такие программы в большинстве являются приложениями DOS. Самые известные из них — Norton Diagnostics и Norton DiskEditor. Norton DiskEditor чес­тно предупреждает пользователя о том, что его пытаются за­пустить в мультизадачной среде.

Вы можете на свой страх и риск «обмануть» программу и заставить ее работать. Одни операции она будет выполнять коррект­но, а другие — нет. Например, при попытке изменить содержимое физического сектора жесткого диска Windows 98/95 перехватит управление и выдаст сообщение о том, что программа пытается выполнить недопустимую операцию.

Перед запуском подобных программ настоятельно рекомендуется закрыть все остальные приложения, чтобы не потерять дан­ные на устройстве, для которого в данный момент выполняется диагностика.

Конфликт версий. Некоторые программы при запуске определяют версию Windows и не выполняются, если версия систе­мы отличается от той, на которую рассчитана программа. Чаще всего программист хочет, чтобы приложение не запускалось в более ранней версии, чем та, для которой оно разрабатывалось. Но некоторые программы не запускаются и в более поздних вер­сиях. Для Windows 98/95 такая проблема при запуске программ DOS возникает очень редко (хотя для Windows Me – к сожалению почаще) и практически всегда связана с тем, что для хранения всей ин­формации о приложении используется Реестр (Registry), а не файлы *.INI. Ярким примером может служить программа установки пакета SDK для Windows 3.0/3.1 фирмы Microsoft. Она «не переносит» как запуск в мультизадачной среде, так и рабо­ту в Windows 98/95.

Виртуальная машина DOS. Некоторые приложения DOS, в том числе большинство устаревших, но интересных игр, не работают под управлением виртуальной машины DOS. В виртуальной машине DOS не работают программы, которые написаны с при­менением программного кода, который полностью берет на се­бя управление памятью машины, что в случае с Windows 98/95 приводит к конфликту между этой программой и диспетчером памяти. Так ведет себя, например, DOS версия пакета 3D-Studio фирмы Autodesk.

Выход из программы. Если есть возможность, программу DOS следует завершать с помощью последовательности клавиш, ко­торая предусмотрена в ней для выхода, а не щелчком по правой кнопке окна виртуальной машины DOS. В этом случае завер­шение выполняет виртуальная машина, а программа ничего не «знает» о том, что ее выполнение будет прервано, что грозит потерей данных. Windows 98/95 распознает подобную ситуацию и выдает предупреждающее сообщение. Использовать кнопку закрыть окна виртуальной машины DOS нужно только в том случае, когда все другие способы выхода из про­граммы не дают эффекта.

Выполнение некорректной операции. Приложения Windows 98/95 (как и любая программа) не свободны от внутренних ошибок. В этом случае приложение может быть принудительно завершено. Управление при этом берет на себя Диспетчер задач Windows. Он выводит диалоговое окно с описанием причин принудительного завершения задачи.

Если в появившемся при этом окне нажать кнопку Сведения (Details), в окне будет отображено содержимое регистров процессора и несколько байт сте­ка.Эта информация может пригодиться разработчику для ана­лиза причин внутренней ошибки программы.

Прямое обращение к диску. Если приложение напрямую обратится к жесткому диску, Windows перехватит это обращение и не даст приложению ра­ботать, поэтому вы должны сообщить системе, что приложение будет осуществлять чтение и запись на диск «в обход» Windows. Для этого выполните команду LOCK из командной строки. Сис­тема предупредит вас о возможных последствиях и потребует подтвердить переход в режим прямого управления жестким дис­ком.

Если вы разрешите блокирование диска, программа будет ра­ботать с ним «в обход» операционной системы. Как только не­обходимость в таком режиме работы отпадет, верните управле­ние диском системе, выполнив команду UNLOCK.

Как «обмануть» программу

Теперь рассмотрим средства, которые имеются в системе для того, чтобы заставить приложение работать, если оно по какой-либо причине отказывается это делать самостоятельно.

Программа МКСОМРАТ. Эта программа включена в Win 95 и Win 98, вероятно, в целях отладки и не документирована. Она по­зволяет изменять некоторые параметры, а также передавать конкретному выполняющемуся приложению заведомо ложную информацию о Windows 9X (например, изменять для него номер версии Windows).

Она находится в папке WINDOWS\SYSTEM и, разумеется, никак не проявляет себя при установке Windows. Чтобы запустить его, в стартовом меню выберите команду Выполнить (Run) наберите МКСОМРАТ и нажмите Ok. После запуска приложение выведет свое главное окно.

В меню этого окна есть всего один элемент File (файл). Если щелкнуть на нем, откроется подменю из пяти элементов. Элемент Choose program (выбор программы) дает возможность выбрать приложение, которому будет передаваться «отфильтрованная» информация. Пока ни одного приложения не выбрано, в информационной строке, которая находится в верхней части окна, написано Program Name <none chosen> (Имя приложения <ничего не выбрано>). При щелчке на этом элементе выводится стандартное диалоговое окно Open (Открытие файла), котором можно выбрать «подопытное» приложение. После того как вы выбрали приложение, в информационной строке появляется его имя. Теперь установкой или снятием нескольких флажков в окне программы МКСОМРАТ вы можете задавать приложению те или иные параметры. Например, установив флажок Lie аbout Windows Version Number (Изменить номер версии Windows), можно ввести приложение «в заблуждение» относительно того, в какой версии Windows оно работает. Если флажок установлен, приложение считает, что работает под управлением Widows 3.1. Установите этот флажок, если приложение выдает сообщение о том, что оно не будет работать в Windows 98/95.

Ecли выбрать строку Дополнительные параметры (Advanced Options), список флажков в окне программы значительно увеличится. В этом случае можно точно подстроить поведение системы под конкретное приложение. Чтобы сохранить выбранные параметры для конкретного приложения, выполните команду Save (Сохранить) из меню File (Файл).

Настройка виртуальной машины DOS (PIF-файл). Чтобы настроить вир­туальную машину DOS под конкретное приложение, щелкните правой кнопкой мыши и выберите пункт Свойства (Properties). В одноименном диалоге выберите вкладку Программа (Program) и щелкните на кнопке Дополнительные параметры (Advanced).

В открывшемся диалоге Дополнительные параметры (Advanсеd Options) следует установить флажок «Не давать программе обнаружить Windows» (Prevent MS-DOS based programs from detecting Windows).

Если флажок установлен, приложение считает, что находится в однозадачной среде. В этом случае вся ответственность за воз­можную потерю данных ложится на пользователя, особенно при запуске программ диагностики или сжатия жесткого диска.

Флажок MS-DOS на этой вкладке определяет поведение сис­темы при выполнении программ, которые не могут быть запущены в виртуальной машине. Если он не установлен, система запросит у пользователя переход в режим эмуляции MS-DOS, в противном случае переход будет выполнен авто­матически. Однако лучше запускать такие программы в «на­стоящем» эмуляторе MS-DOS. В него можно перейти, выпол­нив в стартовом меню команду Завершение работы (Shutdown). В открывшемся диалоге выберите вариант Перезагрузить компьютер в режиме эмуляции MS-DOS (Restart the Computer in MS-DOS Mode).

По завершении работы программы в режиме эмуляции выполните командуEXIT, и система вернется в Windows 9X. Учтите что если вы запускали какие либо резидентные программы, про изойдет полная перезагрузка машины.

На вкладке Память (Memory) можно указать объем отображаемой памяти, доступный данной виртуальной машине DOS, дополнительной памяти (XMS), расширенной памяти (EMS) и памяти защищенного режима DOS (DPMI), в зависимости от того, какую память требует выполняемое в виртуальной машине приложение.

Если никаких специальных требований к памяти не предъяв­ляется, укажите опцию Авто (Auto) для каждого вида памяти. Если программа использует отображаемую память EMS, в стро­ке загрузки файла CONFIG.SYS укажите параметр RAM (DEVICE=C:\WINDOWS\EMM386.EXE RAM), иначе память EMS будет недоступна. Система сама предупреждает об этом. Если щелкнуть на кнопке Сведения (Details), откроет­ся диалог с подробным описанием проблемы и действий, кото­рые должен выполнить пользователь.

На вкладке Шрифт (Font) пользователю предлагается выбрать тип и размер шрифта, который будет использоваться в данной программе DOS.

На вкладке Экран (Screen) можно выбрать в каком режиме полноэкранном или оконном будет запускаться программа. Если выбрать оконный режим, то можно указать размер окна в строках (по умолчанию размер «стандартный»). Если включить пункт «отображать панель инструментов», то под заголовком окна будет отображаться стандартный набор кнопок. Если включить пункт «восстанавливать параметры при запуске», то при запуске программы окно будет выглядеть точно также как при предыдущем запуске. Флажок «эмуляция функций ПЗУ» позволяет ускорить вывод информации на экран, его нужно снимать, если программа неправильно отображает текст на экране. Установленный флажок «динамическое выделение памяти» означает, что по мере необходимости программе будет выделяться память (например при переключении из одного графического режима в другой), или память будет освобождаться если программе она стала не нужна.

На вкладке Разное (Other) можно задать дополнительные параметры: возможность использования заставки Windows, использование мыши, поведение программы в фоновом режиме, приоритет программы при простое, поведение при попытке закрыть окно в котором выполняется программа. А также можно указать как будет реагировать программа на системные комбинации клавиш Windows. Напомним эти комбинации:

Alt+Tab Переключение между программами.
Alt+Esc Переключение между программами в порядке их запуска.
Ctrl+Esc Вызов главного меню.
PrintScreen Копирование в буфер обмена изображения экрана.
Alt+PrintScreen Копирование в буфер обмена изображения активного окна.
Alt+Enter Переключение между оконным и полноэкранным режимами.
Alt+Space Вызов оконного (системного) меню программы.

Все описанные выше параметры сохраняются в файле с расширением PIF и с именем таким же как имя программы. Этот файл создается автоматически при первом запуске DOS программы.

Эмуляция MS-DOS. При запуске режима эмуляции MS-DOS из памяти выгружаются почти все управляющие компоненты Windows и остается только «связующий» код для возврата в Windows. То есть Windows просто выгружается и запускается интерпретатор команд COMMAND.COM.

Запустить режим эмуляции MS-DOS можно следующими способами:

1. Нажать кнопку «Пуск» выбрать пункт «Завершении работы» и в появившемся окне выбрать пункт «Перезагрузить компьютер в режиме MS-DOS» и нажать кнопку Ок.

2. Если при старте операционной системы нажать кнопку F8 и в появившемся меню выбрать пункт Command Prompt Mode Only.

3. Переход в режим эмуляции осуществляется при запуске приложения DOS, в параметрах которой указан параметр «Режим MS-DOS». Он устанавливается так как было описано выше.

4. Также можно при запуске операционной системы нажать кнопку F8 и в появившемся меню выбрать пункт «Previous operating system» (предыдущая операционная система), он есть если при установке Windows была сохранена предыдущая операционная система.

Новые команды. В Windows были введены несколько новых команд:

1. Была изменена команда DIR: у нее добавился ключ /V, который позволяет отображать на экране длинные имена файлов и расширенную информацию о них (дату и время изменения файла и его атрибуты).

2. Команда VER – выводит на экран информацию о версии операционной системы.

3. Команда START предназначена для запуска программ MS-DOS и Windows или открытия известных для Windows файлов. Она имеет следующий синтаксис:

START [параметры] программа [аргументы...]

START [параметры] документ.расш

где параметры это:

/m[inimized] Запуск программы в свернутом окне (фоновый режим).

/max[imized] Запуск программы в развернутом окне (основной процесс).

/r[estored] Запуск программы в стандартном окне (используется по умолчанию).

/w[ait] Отложить запуск до завершения предыдущей программы.

4. Если в командной строке сеанса MS-DOS набрать имя документа и нажать Enter, то Windows запустит приложение связанное с расширением данного документа и откроет в нем этот документ. Например, если в командной строке набрать readme.txt, то система запустит «блокнот» и откроет в нем файл readme.txt.

5. Команда EXIT завершает работу сеанса MS-DOS.

Замечание: если имя файла или путь к нему используемые в команде содержат пробелы, то его необходимо заключать в двойные кавычки.





Дата публикования: 2014-11-29; Прочитано: 645 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...