
- •Тема 1. История развития операционных систем. Типы операционных систем.
- •1. Понятие и эволюция операционных систем
- •1.1. Определение операционной системы
- •1.2. История развития операционных систем
- •Понятие и эволюция операционных систем
- •1.1 Определение операционной системы
- •1. 2 История развития операционных систем
- •Тема 2. Основные характеристики и принципы построения операционных систем.
- •1. Основные характеристики ос
- •2. Принципы построения ос
- •Основные характеристики ос
- •Принципы построения ос
- •Тема 3. Общая структура программного обеспечения и операционных систем эвм
- •Структура ос.
- •Управление процессами
- •Управление основной памятью
- •Управление внешней памятью
- •Сервисы операционных систем
- •Особенности методов построения
- •Тема 4.Диаграмма перехода процесса
- •Основные состояния процесса:
- •Дополнительные состояния процесса:
- •Операции над процессами
- •Основная концепция обработки прерываний
- •Тема 5. Контекст процесса и переключение контекста
- •Переключения контекста в ec эвм
- •Тема 6. Синхронизация и кооперация процессов
- •If q(s)? 0 очередь не пуста?
- •Тема 7. Тупики: условия возникновения тупиков, предотвращения тупиков
- •Модуль 5. Управление основной памятью
- •Тема 8.Управление реальной памятью
- •Тема 9. Понятие виртуальной памяти
- •Концепция виртуальной памяти
- •1.Признак обращения 0 - было
- •2.Признак модификации записи 0 - неизменен.
- •Тема 10. Страничная организация. Сегментная организация. Странично-сегментная организация. Двухуровневая страничная организация
- •Динамическая страничная организация
- •Сегментная организация виртуальной памяти
- •Комбинированная странично-сегментная организация памяти
- •Двухуровневая страничная организация
- •Тема 11. Управление процессорами и заданиями в однопроцессорном вычислительном комплексе. Алгоритмы планирования процессов
- •Тема 12. Управление процессорами и заданиями в мультипроцессорном вычислительном комплексе
- •Решение фирмы Сompaq?
- •Тема 13.Управление периферийными устройствами. Эволюция систем ввода-вывода, каналы ввода вывода. Регистры и команды ввода вывода.
- •Организация программного обеспечения ввода-вывода
- •Тема 14.Система управления файлами
- •Система управления файлами
- •Модуль 8. Управление данными
- •Тема 15. Способы доступа и организации файлов. Распределение файлов на диске
- •Способы доступа и организации файлов
- •Управление внешней памятью
- •Способы распределения памяти на диске
- •Тема 16. Требования и тенденции построения ос
- •Требования, предъявляемые к ос 90-х годов
- •Тенденции в структурном построении ос
- •Тема 17. Unix и ms Windows nt
Основная концепция обработки прерываний
В различных ЭВМ существует различный набор типов прерываний, которые можно разделить на 6 классов.
Программы-прерывания по системной директиве. Инициатор – активный процесс, выполнивший командуSVC (обращение к супервизору), то есть запрос на предоставление ОС какой-либо системной вычислительной услуги.
Прерывания ввода-вывода. Инициируются устройством ввода/вывода (УВВ) и сигнализируют ЦП о том, что произошло изменение состояния канала ввода-вывода (КВВ) или УВВ (например: завершение операции, ошибка, переход устройства в состояние готовности).
Внешние прерывания. Причинами их является нажатие операторами клавиш на панели ЭВМ или прием сигнала прерывания от другого ЦП в мультипроцессорной системе, сигнала от модема.
Прерывание по рестарту. Нажатие оператором на панели управления кнопки рестарта или Reset.
Логические прерыванияпо контролю программы вызываются программными ошибками, обнаруженными при выполнении программы (деление на ноль, попытка выполнить привилегированную команду в пользовательском режиме, неверный код операции, защита памяти и т.д.).
Прерывания по контролю машинывызываются аппаратными ошибками.
Планирование процессов включает в себя решение следующих задач:
определение момента времени для смены выполняемого процесса;
выбор процесса на выполнение из очереди готовых процессов;
переключение контекстов "старого" и "нового" процессов.
Первые две задачи решаются программными средствами и будут рассмотрены в следующих разделах, а последняя выполняется, как правило, аппаратно.
Модуль 3. Управление процессами
Тема 5. Контекст процесса и переключение контекста
Переключения контекста в ec эвм
В основе процедуры переключения контекста лежит использование Program Status Word(PSW) илиСлова Состояния Процесса(CCП) - это аппаратный регистр ЭВМ, который управляет работой активного процесса и содержит следующие данные:
текущее состояние ЦП (счет, ожидание);
ключ защиты памяти процесса;
адрес следующей команды процесса;
код прерывания процесса;
маска прерываний (код возможных прерываний);
признак результата выполненной команды.
Маска прерываний используется для запрещения определенных видов прерываний, когда осуществляется обработка текущего прерывания. Типы прерываний упорядочены по приоритетам. Определенный тип прерываний запрещает свой тип и младшие и разрешает старшие. ЦП реагирует только на разрешенные прерывания, обработка запрещенных прерываний либо задерживается, либо, в некоторых случаях, игнорируется.
В ЭВМ типа ЕС для работы с прерываниями используются 3 типа ССП, размещенных в фиксированных ячейках ОП.
Текущее ССП.
Шесть новых ССП.
Шесть старых ССП.
Новое ССП для данного типа прерываний содержит постоянный адрес, по которому размещается обработчик прерываний данного типа.
Когда происходит разрешенное прерывание, происходит автоматическое переключение ССП следующим образом:
Текущее ССП становится старым для прерывания соответствующего типа.
Новое ССП становится текущим. Таким образом, управление передается обработчику прерываний, который выполняет обработку.
Восстанавливается текущее ССП прерванного процесса
Рисунок 1.Переключение контекста.
Аналогичная процедура происходит в MS DOS. С нулевого адреса ОП располагается таблица векторов прерываний.
Область векторных прерываний охватывает адреса от 0 до 3FFh в шестнадцатеричном исчислении. Каждый 4-х байтный участок этой области содержит адрес первой команды подпрограммы обработки прерываний (вектор прерываний), которая должна вызываться при возникновении прерывания конкретного типа.
Объем памяти векторов прерываний 256*4=1024 байт.
При возникновении прерываний ОС выполняет следующую последовательность операций:
Запоминает адрес текущей команды из регистров CS:IP в стеке вместе с регистром флагов (состояний).
Загружает в CS:IP адрес обработчика прерываний.
Обработчик прерываний завершается командой IRET (возврат управления), которая восстанавливает из стека содержимое СS:IP и регистр флагов состояния, структура которого приведена на рисунке 2.
Рисунок 2. Таблица вектора прерываний
Для работы с прерываниями используются следующие команды микропроцессора:
Sti - set interrupt(I=1, разрешить прерывание)
Cli - clear interrupt(I=0, запретить прерывание)
Если за командой CLIне следуетSTI, то машина “зависает”, так как клавиатура не реагирует на нажатие клавиш. Для программирования прерываний используетсяIMR- регистр маски прерываний.
Микросхема I8259 (устройство управления прерываниями) для I8086 имеет 8 уровней приоритетов (IRQ0 - IRQ7) (для старших моделей МП - 16).
Можно запретить аппаратные прерывания. Запрет (блокировка) может выполняться для ускорения критической части кода целиком.
Для маскирования аппаратного прерывания необходимо использовать порт 24H. В 1’В’ устанавливаются биты, соответствующие номеру прерывания.
Модуль 4. Управление асинхронными параллельными процессами