Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСиСП теория 4 семестра - методичка слайдов Бранцевич Петр Юльянович 2009.doc
Скачиваний:
160
Добавлен:
15.06.2014
Размер:
1.75 Mб
Скачать

5.5.4 Поддержка многозадачности в процессорах архитектуры ia-32

Под задачей понимается программа или группа связанных программ, которая выполняется в многозадачном (мультипрограммном) режиме и её выполнение не должно подвергаться воздействиям извне (в смысле другими программами), и в свою очередь, она не должна оказывать влияния на действия, выполняемые другими программами. В процессорах Intel архитектуры задача определяется как совокупность кода и данных, которым назначен сегмент состояния задачи, т.е. сегмент состояния задачи является эквивалентным контекстной памяти, в которой хранится информация о задачи, когда она не выполняется и откуда она берется при повторном старте задачи. Сегмент состояния задачи – небольшой сегмент данных с разрешенными операциями чтения и записи, доступ к которым запрещен всем программам и к сегменту состояния задачи может обращаться только сам процессор.

Для управления многозадачностью в процессоре нет специальных команд. Вместо этого в некоторых случаях по-другому интерпретируются команды межсегментной передачи управления. Переключение задачи может быть вызвано командами межсегментной передачи управления (far call и far jump). Помимо этого новая задача может активизироваться прерыванием или особым случаем. Когда реализуется одна из таких форм передачи управления, по типу адресуемого дескриптора процессор определяет что ему нужно сделать: выполнить обычную межсегментную передачу или переключить задачу.

Имеется два типа дескрипторов, относящихся к задачам:

1. Дескриптор сегмента состояния задачи.

2. Шлюз задачи.

При каждом переключении задачи процессор может перейти к другой локальной дескрипторной таблице.

Переключение задачи похоже на вызов процедуры, но при этом сохраняется намного больше информации. Сохраненная информация должна обеспечивать возобновление работы задачи с той же точки и в том же объеме что и когда задача была прервана.

Для поддержки многозадачности в процессоре имеются:

- регистр задачи;

- сегмент состояния задачи;

- дескриптор сегмента состояния задачи;

- дескриптор шлюза задачи.

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

21