69772

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

Лекция

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

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

Украинкский

2014-10-10

28 KB

1 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

645. Совместная работа основания и сооружения 155 KB
  Формы деформаций сооружений. Чувствительность конструкций к неравномерным осадкам. Меры по уменьшению чувствительности зданий к неравномерным осадкам. Комплексная взаимозависимость факторов для решения задачи по устройству фундаментов.
646. Вдосконалення системи автоматизації відділення випарної станції 92 KB
  Умови праці. Наявність шкідливих та небезпечних факторів на робочому місці. Санітарно-гігієнічні вимоги до виробничих приміщень та розміщення технологічного обладнання. Розрахунок звукопоглинаючої конструкції операторського пункту.
647. Использование языка AHDL при проектировании цифровых устройств 159.5 KB
  Описание комбинационного устройства на языке AHDL. Реализация комбинационного устройства в CPLD и FLEX (выбор микросхемы, полная компиляция, моделирование, анализ, быстродействия и временных задержек). Функциональная компиляция и моделирование устройств.
648. Разработка и исследование характеристик платформенной инерциальной навигационной системы полуаналитического типа, построенной с использованием лазерных гироскопов 1.25 MB
  Краткое изложение теоретических сведений cистем координат в которой работает представленная ИНС. Пересчет координат из геоцентрической в географическую систему координат. Разработка алгоритма платформенной инерциальной навигационной системы, работающей в геоцентрической системе координат.
649. Створення програмної оболонки інформаційної системи обліку в Microsoft Excel VBA 202 KB
  Розробити книгу у MS Excel 2000 і скласти програму на мові Excel VBA для обліку нарахування заробітної плати. Ввести текстові і числові дані, записати формули, встановити зв'язок між основною таблицею та довідниками та виконати форматування таблиць. Скласти програму на мові Excel VBA.
650. Доказательства, собранные адвокатом и их правовое значение 120.5 KB
  Общие положения о доказательствах в арбитражном процессе. Понятие и предмет судебного доказывания. Относимость и допустимость доказательств. Письменные и вещественные доказательства. Заключение эксперта.
651. Применение аудио и видеотехнологий в правоохранительной деятельности 130 KB
  Обработка аудиоинформации. Аналого-цифровое преобразование. Технологии звукового синтеза. Форматы записи-воспроизведения аудиосигналов. Программные средства записи-воспроизведения звука.
652. Основы телекоммуникационных технологий и локальные сети в профессиональной деятельности 122.5 KB
  Назначение, компоненты и общая структура компьютерной сети. Современные коммуникационные технологии. Сети интегрального обслуживания. Проводные системы связи. Малогабаритные радиочастотные, инфракрасные и микроволновые системы. Национальные в международные компьютерные сети.
653. Теоретические основы конструирования, технологии и надежности РЭС 334.5 KB
  Принцип работы ЦАП. Импульсный источник питания. Выходной выпрямитель и стабилизатор. Определение основных параметров четырехполюсника. Расчет допусков на входное и выходное сопротивление и коэффициент передачи четырехполюсника.