adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
операндами локальный указатель, задающий новую величину в
счетчике команд, а вызовы между сегментами используют в ка-
честве операндов глобальный указатель, который кроме CS изме-
няет и величину EIP. По командам вызова адрес следующей ко-
манды заносится в стек, после чего производится загрузка
счетчика команд (и регистра CS, если переход делается в дру-
гой сегмент). По команде возвратасохранненные величины извле-
каются из стека в EIP и, если требуется, в CS. Вызовы могут
иметь бесконечную вложенность и рекурсивность, ограниченные
лишь размером стека.
Для управления циклами, помимо условных переходов, 80386
обеспечивает выполнение команд LOOP (безусловно и условного
цикла). Команды цикла в качестве счетчика циклов используют
регистр ECX; в каждом цикле ECX уменьшается на 1 и выполнение
команды заканчивается, когда величина в ECX становится равной
нулю. Команды условных циклов заканчиваются в том случае, ес-
ли флаг содержит заданныю величину. В то время как команды
цикла предназначены для проверок "в конце цикла", команда
"переход", если ECX=0 реализует проверку в начале цикла и
позволяет выполнять цикл 0 раз.
2.3.3.3. Дополнительные команды
Команда BOUND (проверка границ) 80386 может быть исполь-
зована для проверки того, что индекс нассива находится в его
границах. Процессор 80386 имеет также команды установки и га-
шения флагов, загруаки и запоминания байта статуса регистра
флагов.
Математический сопроцессор 80287 или 80387 добавляет ко-
манды, необходимые операционной системе для его инициализа-
ции, обработки особых случаев, а также для запоминания и вос-
становления статуся сопроцессора.
Наконец, естественно, процессое 80386 имеет команду "нет
операции".
3. Системная архитектура
Назначение системной архитектуры заключается в обеспече-
нии иперационных систем, однако операционные системы весьма
различны по своим требованиям. Для решения этой проблемы,
процессор 80386 обеспечивает набор ресурсов, которые разра-
ботчики операционных систем могут использовать по своему ус-
мотрению. В результате системная архитектура 80386 может быть
сконфигурирована так, чтобы удовлетворить всем требованиям
разрабатываемой операционной системы.
3.1 Системные регистры
Кроме регистров, рассмотренных в предыдущей главе, опе-
рационная система иногда использует регистры 80386, показан-
ные на рис.3-1. (Далее в этой главе эти регистры еще будут
рассматриваться; здесь они показаны для справки). В основном
этими регистрами пользуется сам 80386; операционная система
лишь инициализирует системные регистры и игнорирует их при
нормальной работе. Однако, операционная система может вос-
пользоваться системным регистром при обработке особого слу-
чая. Например, при страничной ошибке процессор загружает оши-
бочный адрес в регистр CR2; обработчик страничных ошибок опе-
рационной системы использует этот адрес для поиска соответст-
вующего элемента страничной таблицы. Системные регистры обыч-
но недопустимы прикладным программам, поскольку оперировать с
ними могут только привилегированные команды. (Особые случаи,
страничные ошибки и привилегированные команды рассматриваются
далее в этой главе).
47 15 0
ЙННННННННННННННННЛННННННННННН»
є базовый адрес є пр.размер є глобальная табл.
МННННННННННННННННОННННННННННН№ дескрипторов
є є є табл.дескрипторов
ЙНННННННННННОННННННННННННННННОННННННННННН№ прерываний
є селектор є є є локальная табл.
ИННННННННННННННННННННННННННННКНННННННННННј дескрипторов
ИНННННННННННКННННННННННННННННННННННННННННј
системные адресные регистры
31 0
ЙННННННННННННННННННННННННН»
є є вспомогательный
МННННННННННННННННННННННННН№
є є резервный
МННННННННННННННННННННННННН№
є є линейный адрес стр.ошибки
МННННННННННННННННННННННННН№
є є базовый адрес справочника
є є страниц
ИНННННННННННННННННННННННННј
системные управляющие регистры
3.2. Обеспечение многозадачных операционных систем
Многие свойства системной архитектуры 80386 непосредст-
венно обеспечивают многозадачные операционные системы, хотя,
конечно, 80386 может быть использован и в однозазадачных сис-
темах с повушенными тербованиями. Многозадачная работа предс-
тавляет собой способ управления работой вычислительной систе-
мой в тех случаях, когда работа системы состоит из нескольких
видов деятельности; тремя видами деятельности могут быть нап-
ример, редактирование одного файла, компиляция другого и пе-
редача третьего файла в другую машину.
В многозадачной системе каждый вид деятельности, который
может осуществляться одновременно с другими, называется зада-
чей. (В данном материале термин "задача " эквивалентен терми-
ну "процесс"). Каждая задача выполняет программу, состоящую
из команд и исходных данных. Одна и та же программа может вы-
полнятся несколькими задачами; например, в многозадачной сис-
теме с разделением времени несколько задач (по числу пользо-
вателей) могут использоваться одним и тем же компилятором или
редактором. Программы и задачи соотносятся друг с другом по-
добно партитуре музыкального произведения и его исполнению:
программа - это текст, описывающий алгоритм, а задача - это
однократное исполнение этого алгоритма.
Программы, выполняемые задачами. Составлены так, как ес-
ли бы они выполнялись на отдельных процессорах с общей па-
мятью, т.е. Используя паузы, необходимые для связи или синх-
ронизации с другими задачами, теоретически каждая задача вы-
полняется непрерывно параллельно с другими задачами. На самом
деле , однако, задачи выполняются поочередно одним процессо-
ром.
Многозадачная операционная система моделирует несколько
процессоров, предоставляя каждой задаче "виртуальный процес-
сор". В каждый момент времени операционная система передает
реальный процессор одному из виртуальных процессоров, выпол-
няющему свою задачу. Для поддерживания впечатления, что каж-
дая задача имеет свой процессор, операционная система часто
переключает реальный процессор на различные виртуальные про-
цессоры. В системной архитектуре 80386 для операции смены за-
дачи предусмотрены сегменты состояния задачи и команды, вы-
полняющие эту операцию.
3.2.1. Сегмент состояния задачи
Сегмент состояния задачи (TSS) является одной из нес-
кольких структур данных, определяемых системоной архитектурой
80386. Фактически, эти структуры данных являются "типами дан-
ных" для операционных систем. Сегмент TSS(см.Рис.3-2) Соот-
ветствует тому, что в некоторых операционных системах называ-
ется блоком управления задачей; в этом сегменте хранится сос-
тояние виртуального процесора задачи. Каждая задача 80386
представлена своим TSS, который делится на две части. Младшая
часть TSS определена системной архитектурой 80386 и содержит
значения регистров процессора. Старшая часть TSS может быть
определена операционной системой для хранения данных, связан-
ных с задачей, например, приоритета выполнения, дескрипторов
файлов и т.д. Дла создания своей задачи операционная система
формирует TSS и инициализирует его величинами, необходимыми
задаче для начала ее выполнения. В результате 80386 поддержи-
вает младшую часть TSS, а за его старшую часть несет ответст-
венность операционная система.
ЙННННННННННННННННННННННННННННННННННННН»
є (Определенная операционная є
. система) .
МННННННННННННННННННННННННННННННННННННН№
є Адрес локальной табл.дескрипторов є
МННННННННННННННННННННННННННННННННННННН№
є Справочный адрес страничной табл. є
МННННННННННННННННННННННННННННННННННННН№
є Общие регистры є
. .
МННННННННННННННННННННННННННННННННННННН№
є Регистр флагов є
МННННННННННННННННННННННННННННННННННННН№
МННННННННННННННННННННННННННННННННННННН№
є Сегментные регистры є
. .
МННННННННННННННННННННННННННННННННННННН№
є Привилигированные є
. .
ИНННННННННННННННННННННННННННННННННННННј
3.2.2. Смена задачи
Операционная система разрешет выполнение ??????? в соот-
ветствии с планом. Этот план устанавливает время выполнения
задач. Поскольку методы планирования ???????? различные,
80386 предоставляет это операционной системе. ???? Когда опе-
рационная система решает начать выполнение ????? задачи, она
направляет процессор на выполнение еще одного ?????, иногда
называемого сменой контекста.
Процессор 80386 хранит селектор и дескриптор ????? теку-
щей задачи в своем регистре задачи ?????? операционная систе-
ма выдает команду перехода ???????? является селектор сегмен-
та TSS новой задачи ?????? эту команду, занося вначале свои
регистры в текущий TSS, а затем загружая TR селектором (и
связанным с ним дескриптором), указанным в команде. Получив
адрес нового TSS, процессор загружает свои регистры величина-
ми из нового TSS. После чего выполнение программы продолжает-
ся с команды, на которую указывает счетчик команд новой зада-
чи. Для возобнавления старой задачи операционная система дол-
жна выдать команду перехода и TSS старой задачи, после этого
выполнение старой задачи продолжается с командой, следующей
после команды перехода TSS, прекратившей ее выполнение. Такая
смена задачи занимает 17 мкс (при рабочей частоте 16 мгц и
отсутствии состояний ожидания).
3.3. Адресация
|
adfun.ru
|
|
|
|