русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Режим виртуальных машин для исполнения приложений реального режима


Дата добавления: 2014-11-28; просмотров: 1090; Нарушение авторских прав


Разработчики рассматриваемого семейства микропроцессоров в своем стремлении обеспечить максимально возможную совместимость архитектуры пошли не только на то, чтобы за счет введения реального режима работы обеспечить возможность программам, созданным для первых 16-разрядных персональных компьютеров, без проблем выполняться на компьютерах с более поздними моделями микропроцес­соров. Они обеспечили возможность выполнения 16-разрядных приложений ре­ального режима при условии, что сам процессор функционирует в защищенном режиме работы, и операционная система, используя соответствующие аппаратные средства микропроцессора, организует мультипрограммный (мультизадачный) режим. Другими словами, микропроцессоры i80x86 поддерживают возможность создания операционных сред реального режима при работе микропроцессора в за­щищенном режиме. Если условно назвать 16-разрядные приложения DOS-прило­жениями (поскольку в абсолютном большинстве случаев это именно так), то мож­но сказать, что введена поддержка виртуальных DOS-машин, работающих вместе с обычными 32-разрядными приложениями защищенного режима. Это нашло от­ражение в названии такого режима работы микропроцессоров i80x86 (его называ­ют режимом виртуального процессора i8086, иногда для краткости — режимом V86, или просто виртуальным режимом), когда в защищенном режиме работы может исполняться код DOS-приложения. Мультизадачность при выполнении несколь­ких программ реального режима поддерживается аппаратными средствами защи­щенного режима.


114_______________ Глава 4. Особенности архитектуры микропроцессоров j80x86

Переход в виртуальный режим осуществляется посредством изменения бита VM (Virtual Mode) в регистре EFLAGS. Когда процессор находится в виртуальном режиме, для адресации памяти используется схема реального режима работы (сег­мент плюс смещение) с размером сегментов до 64 Кбайт, которые могут распола­гаться в адресном пространстве размером в 1 Мбайт, однако полученные адреса считаются не физическими, а линейными. В результате страничной трансляции осуществляется отображение виртуального адресного пространства 16-разрядно­го приложения на физическое адресное пространство. Это позволяет организовать параллельное выполнение нескольких задач, разработанных для реального режи--ма, да еще совместно с обычными 32-разрядными приложениями, требующими защищенного режима работы.



Естественно, что для обработки прерываний, возникающих при выполнении 16-раз­рядных приложений в виртуальном режиме, процессор возвращается из этого ре­жима в обычный защищенный режим. В противном случае невозможно было бы организовать полноценную виртуальную машину. Очевидно, что обработчики прерываний для виртуальной машины должны эмулировать работу подсистемы прерываний процессора i8086. Другими словами, прерывания отображаются в операционную систему, работающую в защищенном режиме, и уже основная опе­рационная система моделирует работу операционной среды выполняемого прило­жения.

Вопрос, связанный с операциями ввода-вывода, которые недоступны для обыч­ных приложений (см. следующий раздел), решается аналогично. При попытке выполнить недопустимые команды (ввода-вывода) возникают прерывания, и не­обходимые операции выполняются операционной системой, хотя задача об этом и «не подозревает». При выполнении команд IN, OUT, INS, OUTS, CLI, STI процессор, находящийся в виртуальном режиме и исполняющий код на уровне привилегий третьего (самого нижнего) кольца защиты, за счет возникающих вследствие этого прерываний переводится на выполнение высоко привилегированного кода опера­ционной системы.

Таким образом, операционная система может полностью виртуализировать ап­паратные1 и программные ресурсы компьютера, создавая полноценную опера­ционную среду, отличную от себя самой, ибо существуют так называемые на-тивные приложения, создаваемые по собственным спецификациям данной операционной системы. Очень важным моментом для организации полноцен­ной виртуальной машины является виртуализация не только программных, но и аппаратных ресурсов. Так, например, в Windows NT эта задача выполнена явно неудачно, тогда как в OS/2 имеется полноценная виртуальная машина как для DOS-приложений, так и для приложений, работающих в среде специфика­ций Winl6. Правда, в последнее время это перестало быть актуальным, посколь­ку появилось большое количество приложений, работающих по спецификаци­ям Win32 API.

1 Речь идет о памяти, портах ввода-вывода, системе обработки прерываний и других устройствах.


Защита адресного пространства задач____________________________________ 115



<== предыдущая лекция | следующая лекция ==>
Поддержка страничного способа организации виртуальной памяти | Защита адресного пространства задач


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.461 сек.