Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
на печать11.doc
Скачиваний:
41
Добавлен:
11.06.2015
Размер:
1.04 Mб
Скачать

Регистр состояний

15 14 13 12 10 9 8 7

B

ST

C3

C2

C1

C0

E

///

PF

UF

ZF

OF

DF

IF

Первые 6 бит – флаги особых случаев.

E – суммарная ошибка. Устанавливается , если происходит любой особый случай.

С0, C1, C2, C3 – признаки результата. Устанавливается при сравнениях, тестированиях.

ST – текущая вершина стека.

B – занято.

Регистр тегов(tag).

Он содержит 8 2-х полей по 1 полю на каждый численный регистр. Каждое поле определяет что именно в нём содержится.

15.Поток выполнения. Команды управления программой, переходы, ветвления, подпрограммы.

Специальных команд управления задачами в проц-ах (80х86) нет. Переключение с одной задачи на другую происходит с помощью обычных команд перехода или вызова подпрограммы. Кроме того задачу можно идентифицировать в результате прерывания. С задачами связаны два вида особых системных объекта:

1.TSS Task State Segment/

Сегмент состояния задачи – сохранять и восстанавливать данные связанные с задачей. В отличии от процедуры, задача обладает состоянием инее имеет свойства повторной входимости. Описание состояния включает в себя состояние регистров, ресурсов, некоторых системных переменных, связанных с задачей.

2. Шлюз задачи – дескриптор определенного вида, функции которого также как и шлюза вывода, используются для переключения между задачами, имеющими разные уровни защиты.

TSS – сегмент особого вида.

Чтобы организовать запись и считывание TSS ОС создает сегмент данных, кот полностью или частично соответ с TSS задачей или группой задач. Непосредственный доступ к TSS запрещен.

Задача переключается с помощью:

JMP <селектор><смещение>

CALL<селектор><смещение>

Дальнего перехода либо дальнего вывода подпрогр. При этом смещение игнорируется, а селектор должен указывать либо на TSS , либо на шлюз задачи.

Если задача вызывается с помощью команды CALL, то она вызывается как вложенная. Т.е. во флаговом регистре установлен флаг NT вложенная задача. Если задача завершается командой IRET (возврат из прерывания) и во флаговом регистре установлен флаг – вложенная задача (NT) , то происходит переключение по полю обратной связи. Задача может быть вызвана в результате прерывания.

16.Команды управления программой. Реализация основных управляющих структур.

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

С задачами связаны два вида особых системных объекта:

1.TSS Task State Segment/

Сегмент состояния задачи – сохранять и восстанавливать данные связанные с задачей. В отличии от процедуры, задача обладает состоянием инее имеет свойства повторной входимости. Описание состояния включает в себя состояние регистров, ресурсов, некоторых системных переменных, связанных с задачей.

2. Шлюз задачи – дескриптор определенного вида, функции которого также как и шлюза вывода, используются для переключения между задачами, имеющими разные уровни защиты.

TSS – сегмент особого вида.

Чтобы организовать запись и считывание TSS ОС создает сегмент данных, кот полностью или частично соответ с TSS задачей или группой задач. Непосредственный доступ к TSS запрещен.

Задача переключается с помощью:

JMP <селектор><смещение>

CALL<селектор><смещение>

Дальнего перехода либо дальнего вывода подпрогр. При этом смещение игнорируется, а селектор должен указывать либо на TSS , либо на шлюз задачи.

Если задача вызывается с помощью команды CALL, то она вызывается как вложенная. Т.е. во флаговом регистре установлен флаг NT вложенная задача. Если задача завершается командой IRET (возврат из прерывания) и во флаговом регистре установлен флаг – вложенная задача (NT) , то происходит переключение по полю обратной связи. Задача может быть вызвана в результате прерывания.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]