Лекция (Глава 4, стр. 124-161) «Мультипрограммирование на основе прерываний»




Скачать 27.28 Kb.
НазваниеЛекция (Глава 4, стр. 124-161) «Мультипрограммирование на основе прерываний»
Дата публикации15.04.2013
Размер27.28 Kb.
ТипЛекция
odtdocs.ru > Информатика > Лекция

Системное программное обеспечение


Лекция 5. (Глава 4, стр. 124-161) «Мультипрограммирование на основе прерываний»

Классы прерываний

  • внешние (аппаратные; источники: принтер, пользователь и т. д.)

  • внутренние (исключения; источники: внутренние программы; примеры: деление на ноль, аварийные ситуации)

  • программные (неистинные, программистские) — запланированный программистом поток прерываний (внешние и внутренние — случайный поток)

Механизм прерываний

Поддержка:

  • аппаратными средствами

  • программными средствами

Способы прерываний:

  • векторный (вектор прерываний — некие сигналы, выставляемые на шину, сигнализирующие о прерывании, содержит всю информацию о прерывании: от кого и т.д.)

  • опрашиваемый (процессор получает информацию только о приоритете, например, на шине ISA)

  • смешанный (одновременно используются оба способа — IBM PC, где шины PCI, ISA и т. д. поддерживают механизм опрашиваемых прерываний)
    Пример. Контроллер внешнего устройства выставляет на шину прерывания запрос (не вектор, а сигнал запроса на прерывание с определенным приоритетом IRQ). А процессор Pentium поддерживает векторное прерывание.

Вектор прерываний — это целое число от 0 до 255, которое указывает на одну их 256 программ обработки.

Обработчик прерываний

Механизм прерываний поддерживает:

  • по приоритету (абсолютному или относительному)

  • по маске

Порядок обработки прерываний

  1. При возникновении сигнала (от аппаратуры) или условия (внутренние прерывания) происходит первичное распознавание.
    - прерваться
    - продолжить работу (пришло прерывание с более низким приоритетом)

  2. Автоматическое сохранение контекста прерванного потока.

  3. Загрузка адреса процедуры обработки прерывания.

  4. Временный запрет на прерывания этого типа (чтобы не создавать очередь).

  5. Восстановление контекста прерванного потока.

Программные прерывания (команды ассемблера)

  • INT — 256 программ обработки, быстро

  • CALL — 2-4 байта, долго

Диспетчеризация и приоритизация прерываний в ОС

  • диспетчеризация (диспетчер прерываний — программа, координирующая работу служб; наступило прерывание — вызывается первым делом диспетчер)

  • приоритизация — механизм обработки приоритетов:
    - приоритеты (0, 1, 2, 3, 4...), делящиеся на классы
    - очередь

^ Функции централизованного диспетчера прерываний на примере Windows NT
Процедуры обработки и текущие процессы

Эти процедуры принадлежат ОС и работают вне контекста процесса.

^ Системные вызовы

Позволяют программе обратиться к системе. Для пользователя — это набор библиотек и утилит. Системные вызовы должны иметь и уметь:

  • обеспечивать переключение в привилегированный режим

  • высокая скорость вызова процедур ОС

  • стандартизованное обращение для различных аппаратных платформ, с которыми работает ОС

  • легкое расширение

  • контроль ОС за системными вызовами

Операционная система может выполнять системные вызовы в двух режимах:

  • синхронный (блокирующие: процесс,осуществивший системный вызов останавливается,ждет пока для него системный вызов не выполнить всю работу)

  • асинхронный (не переводит процесс в ожидание)

Тенденция — переход к асинхронному режиму, где это возможно.
^ Синхронизация процессов и потоков

Необходимость синхронизации (гонки и тупики). Гонки возникают из-за непредсказуемости скорости прохождения сигналов. Взаимная блокировки — тупики — принципиальная проблема (столовая — одни не могут сесть поесть, другие не получили еду). Не существует метода решения проблемы тупиков принципиально.
Поток А

А1. считать запись в буфер

А2. внести изменения в поле «заказ»

→ прерывание (пока не поступило в файл)

А3. сохранить запись в файл
Поток В

В1. считать запись в буфер

В2. внести изменения в поле «оплата» («100 руб.»)

→ прерывание, в это время А сохранит поле «заказ»

В3. сохранить запись в файл
→ В сохранит поле «оплата»; вместе все будет неправильно: записана цена заказа В с именем заказа А.
Задача: подобрать условие для потока В, когда он сможет записать старое значение поверх нового.

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

Похожие:

Лекция «Философское понимание человека»
Вместо реферата (15-20 стр.): рецензия на книгу (12-15 стр.) или эссе (8-10 стр.)

Лекция «Диалектика. Её основные законы и категории»
Вместо реферата (15-20 стр.): рецензия на книгу (12-15 стр.) или эссе (8-10 стр.)

Встретим XXII съезд партии по-коммунистически!
Западного Казахстана (43-я стр.); узнаете о покорении песков на Украине (53-я стр.); о проникновении советских ученых-биологов в...

Учебник стр. 41 упр. 1(выучить слова), стр. 42 упр. 1-3, текст прочитать,...
Стр. 44 упр. 1,2,4, выучить слова, стр. 45 упр подготовить высказывание 15-20 предложений.,упр. 8 устно, выучить

Домашнее задание Четверг 20. 12 2012 года. 1 класс Обучение грамоте...
Окружающий мир — стр. 103-107 читать, отвечать на вопросы, р т. Стр. 52, задание 9,10

7А класс: готовить пересказ текста в парах на стр. 34 доп. Уч-ка...
Б класс: работать с раздаточным материалом и рассказать про случаи из жизни своего друга. Читать текст на стр. 34 доп уч-ка HotSpot3,...

Проблемы общения: терминология стр 2
Введение в проблематику стр 1

Получить счет учета номенклатуры в общем модуле
Стр. СчетУчета = БухгалтерияСерверПовторно. ПолучитьСчетУчетаНоменклатуры(Стр. Номенклатура)

Лекция №1
Лекция № Общие принципы эффективной организации учебного процесса. Физиологиче­ская цена учебных нагрузок

Лекция №1
Лекция № Общие принципы эффективной организации учебного процесса. Физиологиче­ская цена учебных нагрузок

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


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