Реферат: Разработка операционных систем
Каждое прерывание обрабатывается соответственно обработчиком прерываний (Interrupt handler), входящим в состав ОС.
Главные функции механизма прерываний — это:
1. распознавание или классификация прерываний
2. передача управления соответственно обработчику прерываний
3. корректное возвращение к прерванной программе
Переход от прерываемой программы к обработчику и обратно должен выполняться как можно быстрей. Одним из быстрых методов является использование таблицы, содержащей перечень всех допустимых для компьютера прерываний и адреса соответствующих обработчиков. Такая таблица называется вектором прерываний (Interrupt vector) и хранится в начале адресного пространства основной памяти (UNIX/MS DOS).
Для корректного возвращения к прерванной программе перед передачей управления обработчику прерываний, содержимое регистров процессора запоминается либо в памяти с прямым доступом либо в системном стеке — System Stack.
Обычно запрещаются прерывания обработчика прерываний. Однако, в некоторых ОС прерывания снабжаются приоритетами, то есть работа обработчика прерывания с более низким приоритетом может быть прервана, если произошло прерывание с более высоким приоритетом.
1. Управление процессами.
Процесс — это программный модуль, выполняемый в CPU. Операционная система контролирует следующую деятельность, связанную с процессами:
1. создание и удаление процессов
2. планирование процессов
3. синхронизация процессов
4. коммуникация процессов
5. разрешение тупиковых ситуаций
1.1 Понятие Процесс. Состояния процесса.
Не следует смешивать понятия процесс и программа. Программа - это план действий, а процесс — это само действие. Понятие процесс включает:
1. программный код
2. данные
3. содержимое стека
4. содержимое адресного и других регистров CPU.
Таким образом, для одной программы могут быть созданы несколько процессов, в том случае, если с помощью одной программы в компьютере выполняется несколько несовпадающих последовательностей команд. За время существования процесс многократно изменяет свое состояние.
|
Различают следующие состояния процесса:
1. новый (new, процесс только что создан)
2. выполняемый (running, команды программы выполняются в CPU)
3. ожидающий (waiting, процесс ожидает завершения некоторого события, чаще всего операции ввода - вывода)
4. готовый (ready, процесс ожидает освобождения CPU)
5. завершенный (terminated, процесс завершил свою работу)
Переход из одного состояния в другое не может выполняться произвольным образом. На рисунке приведена типовая диаграмма переходов для состояний процессора.
Выполняемый | ожидаемый, готовый | Выполняемый | |
|