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




НазваниеЗадача и сегмент состояния задачи
Дата публикации03.09.2013
Размер24.4 Kb.
ТипЗадача
uchebilka.ru > Информатика > Задача

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


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

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

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

Для хранения контекста неактивной в настоящей момент задачи процессор i80286 использует специальную область памяти, называемую сегментом состояния задачи TSS (Task State Segment). Формат TSS представлен на рис. 14.



Рис. 14. Формат сегмента состояния задачи TSS.

Сегмент TSS адресуется процессором при помощи 16-битного регистра TR (Task Register), содержащего селектор дескриптора TSS, находящегося в глобальной таблице дескрипторов GDT (рис. 15).



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

Поле доступа содержит бит B - бит занятости. Если задача активна, этот бит устанавливается процессором в 1.

Операционная система для каждой задачи создаёт свой TSS. Перед тем как переключиться на выполнение новой задачи, процессор сохраняет контекст старой задачи в её сегменте TSS.

Что же конкретно записывается в TSS при переключении задачи?

Записывается содержимое регистров общего назначения AX, BX, CX, DX, регистров SP, BP, SI, DI, сегментных регистров ES, CS, SS, DS, содержимое указателя команд IP и регистра флажков FLAGS. Кроме того, сохраняется содержимое регистра LDTR, определяющего локальное адресное пространство задачи.

Дополнительно при переключении задачи в область TSS со смещением 44 операционная система может записать любую информацию, которая относится к данной задаче. Эта область процессором не считывается и никак не модифицируется.

Поле Link представляет собой поле обратной связи и используется для организации вложенных вызовов задач. Это поле мы рассмотрим в следующем разделе.

Поля Stack 0, Stack 1, Stack 2 хранят логические адреса (селектор:смещение) отдельных для каждого кольца защиты стеков. Эти поля используются при межсегментных вызовах через вентили вызова.

Для обеспечения защиты данных процессор назначает отдельные стеки для каждого кольца защиты. Когда задача вызывает подпрограмму из другого кольца через вентиль вызова, процессор вначале загружает указатель стека SS:SP адресом нового стека, взятого из соответствующего поля TSS.

Затем в новый стек копируется содержимое регистров SS:SP задачи (т.е. адрес вершины старого стека задачи). После этого в новый стек копируются параметры, количество которых задано в вентиле вызова и адрес возврата.

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

Включение адресов стеков в TSS позволяет разделить стеки задач и обеспечивает их автоматическое переключение при переключении задач.

Добавить документ в свой блог или на сайт

Похожие:

Задача и сегмент состояния задачи iconЭлектронная система контроля состояния и точечного ремонта сетей...
В связи с отсутствием финансовых средств для полной замены коллекторов возникает задача по продлению срока эксплуатации уже существующих...

Задача и сегмент состояния задачи iconЗадача №345
Лагранжа данной задачи и найти ее седловую точку, используя решение задачи, полученное графически

Задача и сегмент состояния задачи iconЗадачи по курсу “Статистика и финансова математика”. Задача 1
Сделать по 2 задачи на выбор по каждой теме письменно и подать на кафедру согласно графика

Задача и сегмент состояния задачи iconЛабораторная работа n 7
В этой модели сегмент кода отделен от сегмента данных и стека, данные и сегмент стека объединены в одну группу, т е регистры ds и...

Задача и сегмент состояния задачи iconЗадачи, основные направления и информационное обеспечение анализа...
Задачи, основные направления и информационное обеспечение анализа финансового состояния предприятия 12

Задача и сегмент состояния задачи iconА. И. Кочубинский Институт кибернетики нану
Разложение большого целого числа на простые множители (задача факторизации)  вторая классическая сложная задача теории чисел. Таким...

Задача и сегмент состояния задачи iconКонтроль состояния объекта с учетом неопределенности по запасам катализатора
Учитывая тот факт, что аппарат теории нечетких множеств и особенности операций позволяют отбраковывать некритические ограничения...

Задача и сегмент состояния задачи iconАнализ финансового состояния коммерческой организации
Основные задачи и направления анализа финансового состояния коммерческой организации

Задача и сегмент состояния задачи iconМетодические рекомендации Заведующему учебным кабинетом Задачи и...
Главная задача каждого учителя на современном этапе – пробудить интерес к обучению и научить учащихся самостоятельно добывать знания,...

Задача и сегмент состояния задачи iconЗадача Дано
Для постановки задачи и построения ее математической модели необходимо выполнить следующее

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
uchebilka.ru
Главная страница


<