Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АВМиС - бывшее АПЭВМ / apvem / всякаявсячина.doc
Скачиваний:
42
Добавлен:
15.09.2014
Размер:
670.72 Кб
Скачать

42.Виртуальный 8086

Mеханизм адресации режима виртуального МП 8086 (V86). Основное различие между реальным режимом МП 80386 и защищенным режимом МП 80386 --интерпретация селекторов сегментов. При работе микропроцессора в режиме виртуального МП 8086 используются селекторы реального режима. Содержимое сегментного регистра сдвигается влево на 4 разряда и суммируется со смещением для формирования линейного базового адреса сегмента. МП 80386 позволяет операционной системе определить, какая программа использует механизм адресации МП 8086, а какая - механизм защищенной адресации на уровне задачи. При использовании механизма страничной организации 1Мб адресного простанства задачи режима V86 можно разместить в любой 4-гигабайтовой линейной адресной области МП 80386.Эффективные адреса V86, превышающие 64Кб, будут вызывать исключительную ситуацию 13. Страничная организация в режиме V86. Аппаратура страничной организации обеспечивает совместное выполнение множества задач режима V86, а также защиту и изоляцию операционной системы. Это необходимо при одновременном выполнении нескольких задач режима V86 или при распределении адресной области задач этого режима в физическое адресное пространство, превышающее один мегабайт.Страничная аппаратура позволяет разделить 20-разрядное адресное пространство режима V86 на 256 страниц. Каждая страница может быть размещена в любом месте 4-гигабайтового адресного пространства МП 80386. Т.к. CR3 загружается по переключению страниц, каждая задача режима V86 может использовать различные схемы размещения страниц на их карте.Страничная аппаратура разрешает совместное использование среды операционной системы 8086 между несколькими прикладными программами.Эмуляция МП 8086. Программы МП 8086 выполняются в среде защищенного режима МП 80386 как часть задачи V86. Задачи V86 используют все преимущества аппаратной поддержки защищенного режима. V86 может включать множество задач, которые выполняют одну программу МП 8086, либо задачи V86 могут быть рассмотрены как отдельные задачи наряду с другими задачами МП 80386. Целью задачи V86 является формирование "виртуальной машины", на которой выполняется программа МП 8086. Полная виртуальная машина включает в себя не только аппаратуру МП 80386, но и системные программы. Таким образом, эмуляция МП 8086 представляет собой сочетание между аппаратурой и программным обеспечением в следующем виде:1) аппаратура обеспечивает набор виртуальных регистров (через TSS), виртуальную область памяти (первый мегабайт линейного адресного пространства задачи) и непосредственное выполнение всех команд, которые имеют дело с этими регистрами и с адресной областью;2) системная программа управляет внешним интерфейсом виртуальной машины. В случае ввода-вывода, системные программы могут выбрать либо эмуляцию команд ввода-вывода, либо непосредственное аппаратное их выполнение. Системное программное обеспечение, которое обслуживает средства виртуальных машин 8086, называется монитором V86.

43.Классы приоритетов

Уровни приоритета созданным потокам присваивает сама система, и делается это в два этапа. 1. процессу присваивается определенный класс приоритета, который говорит системе, какой приоритет нужен данному процессу по сравнению с другими выполняемыми процессами. 2. потокам, принадлежащим этому процессу, присваиваются относительные уровни приоритета. 4 класса приоритетов: idle (простаивающий), normal (обычный), high (высокий) и realtime (реального времени).

Класс Флаг в CreateProcess Уровень

Idle IDLE_PRIORITY_CLASS 4

Normal NORMAL_PRIORITY_CLASS 8

High HIGH_PRIORITY_CLASS 13

Realtime REALTIME PRIORITY CLASS 24

Любой поток, созданный в процессе с обычным классом приоритета, получает уровень приоритета 8. Когда пользователь работает с каким-то процессом, тот считается активным (foreground), а остальные процессы — фоновыми (background). Программы, запускаемые пользователем, в основном относятся к приложениям с обычным классом приоритета. В Windows NT, когда обычный процесс становится активным, система увеличивает кванты времени, выделяемые всем его потокам. В Windows 95, когда обычный процесс становится активным, система поступает иначе — повышает приоритет потока на 1, т. е. уровень приоритета потока увеличивается с 8 до 9. А когда процесс «уходит» в фон, приоритет потока автоматически снижается на 1. Причина таких изменений в активных процессах: система добивается того, чтобы они быстрее реагировали на пользовательский ввод. Система повышает уровни при­оритета активного процесса, они вытесняют потоки обычных процессов, работающих в фоновом режиме.

Приоритет idle идеален для приложений, занимающихся мониторингом системы (экранная заставка). Мониторинг незачем вести при очень высоком приоритете — достаточно и низкого, т. е. idle.

Класс приоритета high следует использовать только при крайней необходимости (Explorer - большую часть времени его потоки простаивают, готовые пробудиться, как только пользователь на жмет какую-нибудь клавишу или щелкнет кнопку мыши. Пока потоки Explorer простаивают, система не выделяет им процессорного времени, что позволяет выполнять потоки с низким приоритетом).

Флагом четвертого по счету класса приоритета — REALTIME_PRIORI TY_CLASS — почти никогда не стоит пользоваться. Так, системные потоки, контролирующие мышь и клавиатуру, фоновый сброс данных на диск и перехват Alt+Ctrl+Del, — все они оперируют при более низком классе приоритета. Класс приоритета realtime используют только в программе, напрямую обращающейся к оборудованию, или если приложение выполняет быстротечную операцию, которую нельзя прерывать ни при каких обстоятельствах