69772

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

Лекция

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

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

Украинкский

2014-10-10

28 KB

1 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

20525. Исследование полупроводникового диода 28.5 KB
  Исследование полупроводникового диода. Цель работы: Изучение свойств плоскостного диода путём практического снятия и исследования его вольтамперной характеристики. UПР В I A Uобр В I A 06 10 25 10 065 15 5 14 07 20 7 20 075 25 9 26 08 80 11 32 Обработка результатов опытов: По данным таблицы 1 2 в декартовой системе координат построить вольтамперную характеристику диода. Это показывает вольтамперная характеристика диода.
20526. Расчёт полупроводникового выпрямителя 20.5 KB
  Расчёт полупроводникового выпрямителя. Цель работы: Научится элементарному расчету выпрямителя. Наиболее широкое распространение получила схема мостового выпрямителя схема состоит из 4 диодов Д1 Д4. Вторичные обмотки трёхфазного выпрямителя соединены Звездой .
20527. Изучение соединения резисторов 70 KB
  Цель работы: Изучить на практике признаки параллельного и последовательного и смешанного соединение резисторов. Общее сопротивление цепи из нескольких последовательных соединение резисторов равно сумме сопротивлений этих резисторов. Параллельным называется такое соединение проводников при котором соединение между собой как усл. Смешанным или последовательно параллельным называется такое соединение при котором на одних участках электрические цепи они соединены параллельно а на других последовательно.
20528. Проверка закона Ома для участка цепи и всей цепи. Проверка закона Кирхгофа 37.5 KB
  Проверка закона Ома для участка цепи и всей цепи. Цель работы: Практически убедится в физических сущности закона Ома для участка цепи. Как показывают опыты ток на участке цепи прямо пропорционально напряжении на этом участке цепи и обратно пропорционально сопротивлении того же участка это закон Ома Рассмотрим полную цепь: ток в этой цепи определяется по формуле закон Ома для полной цепи.цепи с одной ЭДС прямо пропорционален этой ЭДС и обратно пропорционален сумме сопротивлении внешней и внутренней участков цепи.
20529. Измерение мощности и энергии 44 KB
  [Вт] [Вт] 100 Вт = 1 гектоватт [гВт] 1000 Вт = 1 киловатт [кВт] 1000000 Вт = 1 мегаватт [МВт] Электрическая мощность измеряется ваттметром Электрическая энергия измеряется счетчиком электрической энергии.1 № опыта Данные наблюдений Результаты вычислений U I tc P Wэнер R Pобщ 1 220 07 600 154 924 гВт 3143 704 2 220 11 3600 242 8712 гВт 1222 3 220 14 4900 308 15092 гВт 714 Р=UI=22007 = 154; W1=154600=92400=924 гВт P2=UI2=2201.1 = 242; W2=2423600=871200=8712 гВт P3=UI3=2201.4 =...
20530. Определение удельного сопротивления материалов 56 KB
  Цель работы: Опытным путем определить удельное сопротивление проводниковых материалов. Теоретическое основание: Сопротивление проводника характеризует его способность препятствовать прохождения тока. Для того чтобы при расчетах учесть способность разных проводников проводить ток вводится понятие удельное сопротивление. Удельное сопротивление – это сопротивление проводника длиной 1м и поперечное сечение 1 мм2 Сопротивление проводника зависит не только от материала из которого он изготовлен оно зависит и от его размеров длины и поперечного...
20531. Создание и редактирование простейших таблиц в EXEL 91.5 KB
  Интервал или блок ячеек задается адресами левой верхней и правой нижней ячеек разделенных двоеточием например А1:C4; B1:B10. Для выделения блока ячеек можно использовать мышь перемещать при нажатой левой кнопке или клавиши управления курсором при нажатой клавише Shift. Для удобства представления данных в EXСEL применяются различные форматы ячеек числовой денежный научный процент дата и др. Присвоить формат ячейке или блоку ячеек предварительно выделив их можно с помощью команды Ячейки меню Формат или нажав правую кнопку мыши и...
20532. Создание и редактирование различных видов диаграмм в Excel 74 KB
  Диаграмма – это графическое представление числовых данных. Ряды данных – это наборы значений которые требуется изобразить на диаграмме. Например при построении диаграммы дохода компании за последнее десятилетие рядом данных является набор значений дохода за каждый год. Математический аналог рядов данных это значения функции Y.
20533. Встроенные функции EXCEL. Статистический анализ 101 KB
  Встроенные функции EXCEL. Простейший способ получения полной информации о любой из них заключается в переходе на вкладку Поиск из меню после чего необходимо напечатать имя нужной функции и нажать кнопку Показать. Для удобства функции в EXCEL разбиты по категориям матаматические финансовые статистические и т. Зная к какой категории относится функция справку о ней можно получить следующим образом: Щелкните на закладке Содержание в верхней части окна а затем последовательно пункты Создание формул и проверка книг Функции листа.