
- •Вопрос 1. Виды программного обеспечения
- •Вопрос 2. Понятие, функции и состав ос.
- •Вопрос 3. Классификация ос
- •Вопрос 4. Программы ос
- •Вопрос 5: Файловая система
- •Вопрос 6. Форматы файлов (типичные файлы данных)
- •Вопрос 7. Основные типы файлов
- •Вопрос 8. Управление заданиями, процессами, задачами
- •Вопрос 9. Классификация процессов.
- •Пакетные
- •Вопрос 10. Классификация ресурсов
- •Вопрос 11. Планирование процессов: подсистема управления процессами, функции подсистемы, контекст процесса.
- •Вопрос 12. Планирование процессов: стадии состояния процесса, метод очередей ресурсов
- •Вопрос 13. Планирование процессов. Алгоритмы, основанные на квантовании
- •Вопрос 14. Планирование процессов: алгоритмы, основанные на приоритетах
- •Вопрос 15. Вытесняющая и не вытесняющая многозадачность
- •Вопрос 16. Прерывания. Механизм обработки (7 шагов)
- •Вопрос 17. Функции механизма прерываний. Классы прерываний.
- •Вопрос 18. Программные прерывания. Дисциплины обслуживания.
- •Вопрос 19. Общие принципы обработки исключений.
- •Вопрос 20. Список возможных исключений
- •Вопрос 21. Память. Функции ос по управлению памятью
- •Вопрос 22. Типы имен и адресов. Виртуальное адресное пространство.
- •Вопрос 23. Разделение памяти на несколько разделов фиксированной величины
- •Вопрос 24. Разделение памяти разделами переменной величины
- •Вопрос 25. Виртуальная память. Задачи
- •Вопрос 26. Страничное распределение памяти
- •Вопрос 27. Сегментное распределение памяти
- •Вопрос 28.Странично – сегментное распределение памяти
- •Вопрос 29. Свопинг
- •Вопрос 30. Кэш – память Кэширование информации.
- •Вопрос 31. Алгоритм запроса к оперативной памяти в системах, оснащенных кэш – памятью
- •Вопрос 32. Пространственная и временная локальность
- •Вопрос 33. Управление вводом – выводом: типы устройств. Состав внешнего устройства. Контроллер.
- •Вопрос 34. Организация программного обеспечения вводом – выводом. Синхронные и асинхронные передачи.
- •Вопрос 35. Четыре слоя по. Функции слоя ос, независимых от устройств
- •Вопрос 36. Спулинг. Механизм прямого доступа внешних устройств к памяти.
- •Вопрос 37. Принцип модульности: понятие модуля ос, рентабельности. Ядро ос. Транзитные программные модули.
- •Вопрос 38. Принцип генерируемости и функциональной избыточности ос.
- •Вопрос 39. Принцип виртуализации.
- •Вопрос 40 Принцип независимости программ от внешних устройств.
- •Вопрос 41. Принцип совместимости
- •Вопрос 42. Принцип открытой и наращиваемой ос. Принцип мобильности.
- •Вопрос 43. Принцип обеспечения безопасности
Вопрос 16. Прерывания. Механизм обработки (7 шагов)
Прерывании представляют собой механизм, позволяющей координировать параллельно функционирование отдельных устройств и реагировать на особые состояния, возникающие при работе процессора.
Таким образом прерывания – это принудительная передача управления от выполняемой программы к системе, происходящее при возникновении определенного события.
Механизм обработки прерываний независимо от архитектуры включает следующие основные этапы – шаги:
Установление факта прерывания (прием сигнала на прерывания) и аутентификация прерывания в ОС (может осуществляться повторно на шаге 4)
Запоминания состояния прерванного процесса
Передача управления (аппаратно) подпрограмме обработке прерывания
Сохранение информации о прерванной программе, которую не удалось спасти на шаге два с помощью действия аппаратуры
Обработка прерывания – эта работа моет быть выполнена той же подпрограммой, которой было передано управление на шаге 3, но в ОС чаще всего реализуется путем последующего вызова соответствующей подпрограммой.
Восстановление информации, относящейся к прерванному процессу (этап, обратный шагу 4)
Возврат в прерванную подпрограмму.
Шаги с 1 по 3 реализуется аппаратно, а шаги с 4 по 7 программно.
Вопрос 17. Функции механизма прерываний. Классы прерываний.
Главные функции механизма прерываний:
Распознавание, или классификация прерываний
Передача управления соответственно обработчику прерываний
Корректное возвращение к прерванной программе
Прерывания можно разделить на два основных класса
Внешние (их иногда называют асинхронными)
Внутренние (синхронные)
Внешние прерывания вызываются асинхронными событием, которые происходят вне прерываемого процесса:
Прерывания от таймера
Прерывания от внешних устройств
Прерывания из – за нарушения питания
Прерывания от другого процесса
Внутренние прерывания вызываются событием, которые связанны с работой CPU и являются синхронными с ее операциями. Примерами являются следующие запросы на прерывания:
При нарушении адресации;
При переполнении, или исчезновении порядка;
При делении на 0;
Ошибки в работе различных внутренних аппаратных устройств
Вопрос 18. Программные прерывания. Дисциплины обслуживания.
Существуют программные прерывания. Эти прерывания возникают по особой команде процессора, выполнение которой приводит к переходу на новую последовательность исполняемых инструкций. То есть по этой команде процессор осуществляет практически те же действия, что и при обычных внутренних прерываниях. Данный механизм был специально введен для того, чтобы переключение на системные программные модули происходило не просто как переход в подпрограмму, а точно таким же образом, как и обычное прерывание. Этим обеспечивается автоматическое переключение процессора в привилегированный режим с возможностью исполнения любых команд.
Сигналы, вызывающие прерывания, формируются вне процессора или в самом процессоре. Они могут возникать одновременно. Выбор одного из них для обработки осуществляется на основе приоритетов, приписанных каждому типу прерывания. Очевидно, что прерывания от схем контроля процессора должны обладать наивысшим приоритетом (если аппаратура работает неправильно, то не имеет смысла продолжать обработку информации). Учет приоритета может быть встроен в технические средства, а также определяться ОС, то есть кроме аппаратно реализованных приоритетов прерываний большинство вычислительных машин и систем допускают программно-аппаратное управление порядком обработки сигналов прерывания. Второй способ, дополняя первый, позволяет применять различные дисциплины обслуживания прерываний.
Наличие сигнала прерывания не обязательно должно вызывать прерывание исполняющейся программы. Процессор может обладать средствами защиты от прерываний: отключение системы прерываний, маскирование (запрет) отдельных сигналов прерывания. Программное управление этими средствами использует специальные команды для управления работой системы прерываний и позволяет операционной системе регулировать обработку сигналов прерывания, заставляя процессор обрабатывать их сразу по приходу, откладывать их обработку на некоторое время или полностью игнорировать. Обычно операция прерывания выполняется только после завершения выполнения текущей команды. Поскольку сигналы прерывания возникают в произвольные моменты времени, то на момент прерывания может существовать несколько сигналов прерывания, которые могут быть обработаны только последовательно. Чтобы обработать сигналы прерывания в разумном порядке им (как уже отмечалось) присваиваются приоритеты. Сигнал с более высоким приоритетом обрабатывается в первую очередь, обработка остальных сигналов прерывания откладывается.
Программное управление специальными регистрами маски (так называемое маскирование сигналов прерывания) позволяет реализо-вать различные дисциплины обслуживания, такие как:
1) дисциплина обслуживания с относительными приоритетами, то есть обслуживание не прерывается даже при наличии запросов с более высокими приоритетами. После окончания обслуживания данного запроса обслуживается запрос с наивысшим приоритетом. Для организации такой дисциплины необходимо в программе обслуживания данного запроса наложить маски на все остальные сигналы прерывания или просто отключить систему прерываний;
2) дисциплина обслуживания с абсолютными приоритетами, то есть всегда обслуживается прерывание с наивысшим приоритетом. Для реализации этого режима необходимо на время обработки прерывания замаскировать все запросы с более низким приоритетом. При этом возможно многоуровневое прерывание, то есть прерывание программ обработки прерываний. Число уровней прерывания в этом режиме изменяется и зависит от приоритета запроса;
3) дисциплина обслуживания по принципу стека (дисциплина LCFS или, по-другому, LIFO), то есть когда запросы с более низким приоритетом могут прерывать обработку прерывания с более высоким приоритетом. Для этого необходимо не накладывать маски ни на один сигнал прерывания и не выключать систему прерываний.