69772

Перемикання контексту й обробка переривань

Лекция

Информатика, кибернетика и программирование

Найважливішим завданням операційної системи під час керування процесами і потоками є організація перемикання контексту передачі керування від одного потоку до іншого зі збереженням стану процесора. Звичайно потрібно виконати такі операції: зберегти стан процесора потоку в деякій ділянці...

Украинкский

2014-10-10

28 KB

1 чел.

Тема 2. Перемикання контексту й обробка переривань.

2.1. Організація перемикання контексту

Найважливішим завданням операційної системи під час керування процесами і потоками є організація перемикання контексту — передачі керування від одного потоку до іншого зі збереженням стану процесора.

Загальних принципів перемикання контексту дотримуються у більшості систем, але їхня реалізація обумовлена конкретною архітектурою. Звичайно потрібно виконати такі операції:

♦  зберегти стан процесора потоку в деякій ділянці пам'яті (області зберігання стану процесора потоку);

визначити, який потік слід виконувати наступним;

завантажити стан процесора цього потоку із його області зберігання;

продовжити виконання коду нового потоку.

Перемикання контексту звичайно здійснюється із залученням засобів апаратної підтримки. Можуть бути використані спеціальні регістри та ділянки пам'яті, які дають можливість зберігати інформацію про поточну задачу (коли розглядають апаратне забезпечення, аналогом поняття «потік» є поняття «задача»), а також спеціальні інструкції процесора для роботи з цими регістрами та ділянками пам'яті.

Розглянемо апаратну підтримку перемикання задач в архітектурі ІА-32. Для збереження стану процесора кожної задачі (вмісту пов'язаних із нею регістрів процесора) використовують спеціальну ділянку пам'яті — сегмент стану задачі TSS. Адресу цієї області можна одержати з регістра задачі TR (це системний адресний регістр).

Для перемикання задач досить завантажити нові дані в регістр TR. У результаті значення регістрів процесора поточної задачі автоматично збережуться в її сегменті стану, після чого в регістри процесора буде завантажено стан процесора нової (або раніше перерваної) задачі й почнеться виконання її інструкцій.

Наступний потік для виконання вибирають відповідно до принципів планування потоків, які ми розглянемо в розділі 4.

2.2. Обробка переривань

У процесі виконання потік може бути перерваний не лише для перемикання контексту на інший потік, але й у зв'язку із програмним або апаратним перериванням (перемикання контексту теж пов'язане із перериваннями, власне, із перериванням від таймера). Із кожним перериванням надходить додаткова інформація (наприклад, його номер). На підставі цієї інформації система визначає, де буде розміщена адреса процедури оброблювача переривання (список таких адрес зберігають у спеціальній ділянці пам'яті і називають вектором переривань).

Наведемо приклад послідовності дій під час обробки переривання:

  •  збереження стану процесора потоку;

встановлення стека оброблювача переривання;

початок виконання оброблювача переривання (коду операційної системи); для цього з вектора переривання завантажується нове значення лічильника команд;

відновлення стану процесора потоку після закінчення виконання оброблювача і продовження виконання потоку.

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

Контрольні запитання:

1. Організація перемикання контексту.

2. Обробка переривань.


 

А также другие работы, которые могут Вас заинтересовать

38423. ОПТИМИЗАЦИЯ АВТОМАТИЗИРОВАННОГО УЧАСТКА ОБРАБОТКИ СТУПИЦЫ ВЕДОМОГО ДИСКА СЦЕПЛЕНИЯ 2.45 MB
  2 Определение количества и типа основного и вспомогательного технологического оборудования 45 3.4 Технологическое проектирование вспомогательных служб участка 50 Материалы и грузооборот участка 62...
38425. Проект строительства жилого комплекса трех 8- 9-этажных блок-секций в городе Кингисепп 151.23 KB
  Реализация инвестиционной политики требует повышения уровня индустриализации капитального строительства. Под нее предстоит подвести принципиально новую материально-техническую базу. Предусматривается увеличение числа объектов из элементов заводского изготовления, поставка средств ручной механизации, расширение применения новых строительных материалов.
38426. Разработка бета версии технологического цикла виртуального ателье по пошиву одежды 1.16 MB
  Техникоэкономическое обоснование работы 2. Целью данной работы является создание программного продукта с помощью которого можно будет упростить изучение машин. Это дает возможность создавать на основе данной работы широкий круг компьютерных моделей. Техникоэкономическое обоснование работы При компьютерном моделировании процессов изготовления швейных изделий одним из важных вопросов является выполнение экономических расчетов.
38427. Поліетилен та його основні хімічні властивості 193.76 KB
  0 обємна чаcтка суми метану з етаном не більше 010 обємна чаcтка суми вуглеводнів С3 і С4 ррm не більше 50 обємна чаcтка ацетилену ррm не більше 10 обємна частка окису вуглецю ррm не більше 5 обємна частка двоокису вуглецю ррm не більше 10 обємна частка водню ррm не більше 10 обємна чаcтка загальних карбонілів в перерахунку на МЕК ррm не більше 1 обємна чаcтка кисню ррm не більше 3 масова чаcтка загальної сірки ррm не більше 1 масова чаcтка хлору ррm не більше 1 обємна чаcтка води ррm не більше 10 обємна чаcтка...
38428. Топографо-геодезические работы в Янаульском и Татышлинском районе для прокладки оптово-волоконно-кабеля связи 609.49 KB
  Целью изысканий является получение топографических материалов необходимых и достаточных для разработки проекта строительства волоконнооптической линии связи. Более эффективно волоконнооптический кабель 9 125 с полимерными волокнами работает за счет способности не воспринимать влияние электромагнитных сигналов и радиоволн. При выполнение дипломного проекта нами были проведены топографогеодезические работы в Янаульском и Татышлинском районе по проходящем там линиям электропередач данные изыскания были основой для прокладки...
38429. Исследование теории робастного управления и применение ее методов к решению задачи стабилизации бокового движения ЛА 2.34 MB
  На современном этапе основными объектами управления являются системы работающие в условиях неопределенности т. Системы автоматического и полуавтоматического управления полетом относятся в настоящее время к числу наиболее важных и стремительно развивающихся систем летательных аппаратов ЛА. Системы управления самолетов вертолетов и других пилотируемых ЛА все в большой мере становятся комплексными обеспечивающими все основные этапы полета.
38430. Многокритериальный анализ решений по обеспечению безопасности техногенного объекта с расширенным понятием безопасности 735 KB
  Экспертные подходы многокритериальных принятий решений на основе сравнений многокритериальных альтернатив обеспечения социотехнической безопасности техногенного объекта ТО Определение наилучшей альтернативы. Методы ELECTRE ранжирования многокритериальных альтернатив. Применения МАИ для многокритериальных сравнений альтернатив оценки безопасности техногенного объекта
38431. Метод расчета мехатронной системы привода телескопа на основе равновесно-оптимальной балансировки 3.15 MB
  Cтабильноэффективный компромисс в ММС СТЭК ММС это объединение стабильности и эффективности в рамках множества решений от полного совпадения данных свойств до обеспечения определенной степени сближения в условиях информационнотактических расширений соглашений. СТЭК в иерархических системах дополняет СТЭК ММС СТЭК ИС.3 П Парето граница АВ; Н Нэшравновесие; УКУ область угрозконтругроз; ИТ идеальная точка; УК оптимальная часть Пграницы на основе узкого конуса ; Ш точка Шепли; СНД ПаретоНэш область компромиссов ПНОК...