Слайд 1машинно-зависимые свойства ОС
Автор: Молдаспаев Канат
Группа: 1416
1 курс
Слайд 2Содержание:
Прерывания.
Типы прерываний.
Вложенные прерывания
Обработка прерываний
Программные прерывания
Аппаратные прерывания
Понятие вычислительного процесса.
Планирование процессов
Обслуживание
ввода-вывода
Слайд 3Прерывания.
Опр. 1. Прерывание - это принудительная передача управления от
выполняемой программы к системе (а через нее - к
соответствующей программе обработке прерывания), происходящая при возникновении определенного события.
Опр. 2. Прерывание (interrupt) - это сигнал, заставляющий ЭВМ менять обычный порядок исполнения команд. Возникновение подобных сигналов обусловлено такими событиями, как завершение операций ввода-вывода, истечение заранее заданного интервала времени или попытка деления на нуль.
Слайд 5Типы прерываний.
Внешние прерывания (аппаратные)
Прерывание по таймеру
Прерывание по вводу-выводу
Внутренние прерывания
Программные прерывания
Слайд 6Уровни приоритета прерываний.
Внешние
устройства
ВЫСОКИЙ
ПРИОРИТЕТ
НИЗКИЙ
ПРИОРИТЕТ
Слайд 7Вложенные прерывания
В случае дисциплины обслуживания с абсолютными приоритетами может возникнуть
ситуация, когда сама программа обработки прерывания прерывается. В этом случае
говорят, что происходит вложенное прерывание.
Слайд 8Обработка прерываний
Главные функции механизма прерывания:
распознавание или классификация прерываний;
передача управления
соответственно обработчику прерываний;
корректное возвращение к прерванной программе (перед передачей управления
обработчику прерываний содержимое регистров процессора запоминается либо в памяти с прямым доступом либо в системном стеке).
Слайд 10Программные прерывания
Программное прерывание — синхронное прерывание, которое может осуществить программа
с помощью специальной инструкции.
Слайд 11Аппаратные прерывания
Аппаратные прерывания - прерывания, вызванные процессами в аппаратуре вычислительной
системы. Источником такого прерывания может быть сам микропроцессор (не программа,
а само оборудование микропроцессора!).
Слайд 13Понятие вычислительного процесса.
Последовательный процесс («задача» или просто «процесс»)
- это выполнение отдельной программы с ее данными на последовательном
процессоре (программа, находящаяся в решении).
Слайд 14Однопрограммный режим работы
1) благодаря совмещению во времени двух программ общее
время выполнения двух задач получается меньше, чем, если бы мы
выполняли их по очереди (запуск одной из них после завершения другой).
Слайд 15Мультипрограммный режим работы
2) время выполнения каждой задачи в общем случае
становится больше, чем, если бы мы выполняли каждую из них
как единственную.
Слайд 16Выводы:
При мультипрограммировании повышается пропускная способность системы, и отдельный процесс никогда
не может быть выполнен быстрее, чем, если бы он выполнялся
в однопрограммном режиме (всякое разделение ресурсов замедляет работу одного из участников за счет дополнительных затрат времени на ожидание выполнения ресурса).
ОС поддерживает мультипрограммирование и старается эффективно использовать ресурсы путем организации к ним очередей запросов, составляемых тем или иным способом. Это требование достигается поддерживанием в памяти более одного процесса, ожидающего процессор, и более одного процесса готового использовать ресурсы, как только последние станут доступными.
Слайд 17Планирование процессов
это управление распределением ресурсов процессора между различными
конкурирующими процессами путем передачи им управления согласно некоторой стратегии планирования.
Слайд 18Планирование процессов.
Процесс — это
программный модуль, выполняемый в CPU. Операционная система контролирует следующую деятельность,
связанную с процессами:
1. Создание и удаление процессов
2. Планирование процессов
3. Синхронизация процессов
4. Коммуникация процессов
5. Разрешение тупиковых ситуаций
Слайд 19Состояния процесса.
Не следует смешивать понятия процесс и программа. Программа —
это план действий, а процесс — это само действие. Понятие
процесс включает:
1. программный код
2. данные
3. содержимое стека
4. содержимое адресного и других регистров CPU.
Слайд 20Диаграмма состояний процесса
Если обобщать и рассматривать не только обычные ОС
общего назначения, но и, например ОС реального времени, то можно
сказать, что процесс может находиться в активном и пассивном состоянии (см. Рисинок).
Слайд 21Активный процесс может быть в одном из следующих состояний:
Активный процесс
•
Выполнения (running) - все затребованные процессом
ресурсы выделены. В этом состоянии в каждый момент времени может находиться только один процесс, если речь идет об однопроцессорной ВС (процесс использует процессор для выполнения своих команд).
• Готовности к выполнению (ready) - ресурсы могут быть предоставлены, тогда процесс перейдет в состояние выполнения (процессы не блокированы и не активны).
• Блокирования или ожидания (blocked) затребованные ресурсы не могут быть предоставлены, или операция ввода/вывода не завершена (выполнение процесса может быть продолжено только после наступления некоторого ожидаемого им события).
Слайд 22Переходы процесса из одного состояния в другое.
•
По команде оператора (пользователя). Имеет место в тех диалоговых
ОС, где программа может иметь статус задачи (и при этом являться пассивной), а не просто быть исполняемым файлом и только на время исполнения получать статус задачи (как это происходит в большинстве современных ОС)
• При выборе из очереди планировщика (характерно для ОС, работающих в пакетном режиме)
• По вызову из другой задачи (посредством обращения к супервизору один процесс может создать, инициировать, приостановить, остановить, уничтожить другой процесс)
Процесс из состояния бездействия может перейти в состояние готовности в следующих случаях:
• При наступлении запланированного времени запуска программы.
Слайд 23Дескриптор процесса.
В общем случае дескриптор содержит следующую информацию:
•
Идентификатор процесса;
• Тип (или
класс) процесса, который определяет для супервизора некоторые правила предоставления ресурсов;
• Приоритет процесса;
• Переменную состояния, которая определяет, в каком состоянии находится процесс (готов к работе, в состоянии выполнения, ожидание устройства ввода-вывода и т.д.);
• Защищенную область памяти (или адрес такой зоны), в которой хранятся текущие значения регистров процессора, если процесс прерывается, не закончив работы. Эта информация называется контекстом задачи;
• Информацию о ресурсах, которыми процесс владеет и/или имеет право пользоваться (указатели на открытые файлы, информация о незавершенных операциях ввода/вывода и т.п.);
• Место (или его адрес) для организации общения с другими процессами;
• Параметры времени запуска (момент времени, когда процесс должен активизироваться, и периодичность этой процедуры);
• В случае отсутствия системы управления файлами - адрес задачи на диске в ее исходном состоянии и адрес на диске, куда она выгружается из оперативной памяти, если ее вытесняет другая.
Слайд 24Обслуживание ввода-вывода
Компоненты подсистемы ввода-вывода:
• Драйверы
•
Файловая система
• Диспетчер
прерываний (программный модуль ОС, который занимается диспетчеризацией обработчиков прерываний).
Слайд 25Подсистема ввода/вывода мультипрограммной ОС
Подсистема ввода/вывода мультипрограммной ОС при
обмене данными с внешними устройствами компьютера должна решать ряд общих
задач, из которых наиболее важными являются следующие:
1. Организация параллельной работы устройств ввода/вывода и процессора
2. Согласование скоростей обмена и кэширование данных
3. Разделение устройств и данных между процессами
4. Обеспечение удобного логического интерфейса между устройствами и остальной частью системы
5. Поддержка широкого спектра драйверов с возможностью включения в систему нового драйвера
6. Динамическая загрузка и выгрузка драйверов
7. Поддержка нескольких файловых систем
8. Поддержка синхронных и асинхронных операций ввода/вывода