69772

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

Лекция

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

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

Украинкский

2014-10-10

28 KB

1 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

50183. Визначення фокусних відстаней збиральної та розсіювальної лінз 121.5 KB
  Розмістити збиральну лінзу між світним предметом та екраном і пересуваючи її знайти спочатку перше чітке збільшене зображення стрілки на екрані та визначити положення лінзи. Зафіксувати це положення лінзи за шкалою відліку оптичної лави та визначити відстань між двома фіксованими положеннями лінзи.10 ...
50184. О деятельности Забайкальского комитета ХХI века (правопреемника Читинского областного отделения общества «Россия – Япония) 46 KB
  Ковалёва О деятельности Забайкальского комитета ХХI века правопреемника Читинского областного отделения общества Россия – Япония Общество РоссияЯпония ОРЯ всероссийская общественная организация созданная в 1991 году как преемник Общества СССРЯпония существовавшего с 1958 года. Основная цель Общества содействовать развитию и укреплению добрососедских отношений между народами России и Японии деловых связей между Россией и Японией знакомить российскую и японскую общественность с историей культурой и другими сторонами жизни обеих...
50185. Синтез и исследование комбинационных устройств 183 KB
  Реализовать функцию на транзисторной микросхеме ПЛМ. Реализовать функцию на диодной микросхеме ПЛМ. Записать F в ОЗУ и Флэш Не минимизированная функция: Минимизированная функция: FLSH Счетчик БТ Основной базис Базис Шеффера Транзисторная ПЛМ Диодная ПЛМ Вывод Ознакомился с анализом и синтезом цифровых схем принципом построения ПЗУ.
50186. Нечеткая логика 67.5 KB
  Согласно заданным вариантам разработать программу на любом алгоритмическом языке, способную: А. Различать степени изменения лингвистической переменной в трех степенях – «Очень – Нормально – Слабо» Б. Изменять порог чувствительности. 1. Мышонок – Лягушка – Неведома зверушка
50187. Вивчення основних закономірностей вібраційної обробки 274 KB
  Вібраційна обробка залежно від характеру робочого середовища яке використовується наповнювача абразивної пасти поверхневоактивних речовин являє собою механічний та фізикохімічний процеси зняття невеликих часток металу і його оксидів з оброблюваних поверхонь у також стирання згладжування мікронерівностей шляхом їхнього пластичного деформування які здійснюють у процесі обробки коливальні рухи. Процес вібраційної обробки залежить від таких складових: режиму вібрації амплітуди й частоти коливань; матеріалу оброблюваних заготовок...
50188. Вивчення вимушених електричних коливань у коливальному контурі 52.5 KB
  Мета роботи: дослідити вимушені коливання в коливальному контурі; за резонансною кривою обчислити величину активного опору R добротність коливального контуру Q його індуктивність L і ємність C. Вхідна напруга I mx мА R Ом Q L Гн C Ф Контрольні запитання Як відбуваються коливання в електричному контурі При яких умовах настає резонанс напруг Виведіть формулу для резонансної частоти. Що таке добротність контуру Від чого вона залежить Чому в реальному контурі коливання згасаючі 119.
50189. Определение теплопроводности газов методом нагретой нити 138 KB
  Плеханова технический университет Кафедра Общей и технической физики лаборатория виртуальных экспериментов Определение теплопроводности газов методом нагретой нити Методические указания к лабораторной работе № 17 для студентов всех специальностей САНКТПЕТЕРБУРГ 2010 УДК 531 534 075. Цель работы: определить коэффициент теплопроводности воздуха при атмосферном давлении и разных температурах по теплоотдаче нагреваемой током нити в цилиндрическом сосуде. Для цилиндрически симметричной установки в которой поток тепла направлен к стенкам...
50190. Експериментальна перевірка співвідношення невизначеностей Гейзенберга для фотонів 132 KB
  Прилади і обладнання Гелій−неоновий лазер типу ЛГ–56 щілина з мікрометричним гвинтом екран з міліметровою шкалою Теоретичні відомості та опис установки В даній лабораторній роботі пропонується перевірити експериментально співвідношення невизначеностей Гейзенберга для координати і відповідної проекції імпульсу фотонів зокрема: . 3 Цей вираз є робочою формулою для перевірки...
50191. Нечеткая логика 68 KB
  Согласно заданным вариантам разработать программу на любом алгоритмическом языке, способную: А. Различать степени изменения лингвистической переменной в трех степенях – «Очень – Нормально – Слабо» Б. Изменять порог чувствительности. Больно – Терпимо – Дайте два