Мегаобучалка Главная | О нас | Обратная связь  


Основная концепция обработки прерываний




Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Операции над процессами

В соответствии с жизненным циклом процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса.

Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором или блоком управления процесса.

Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов. Контекст процесса содержит менее актуальную информацию и используется операционной системой только после того, как принято решение о возобновлении прерванного процесса.



Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый дескриптор, кроме всего прочего, содержит, по крайней мере, один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет легко их переупорядочивать, включать и исключать процессы, переводить процессы из одного состояния в другое.

В этой связи подсистема Управление процессом должна выполнять следующие операции над процессами:

1. Создание.

2. .Уничтожение.

3. Запуск.

4. Блокировка.

5. Приостановка.

6. Возобновление, а также

7. Изменение диспетчерского приоритета процесса (работа с очередями).

Создание состоит из многих этапов:

· присвоение идентификатора процессу;

· включение его в список активных процессов, известных системе;

· формирование блока управления процессом;

· выделение процессу начальных ресурсов.

В общем случае существующий процесс может породить новый процесс и имеет место иерархическая структура процессов. Задача может порождать подзадачу в мультипрограммном режиме, и, в этом смысле, мы имеем родительский и дочерний процессы.

Уничтожение процесса означает удаление его из системы. Ресурсы возвращаются системе, имя процесса удаляется из списка, блок управления процессом освобождается.

Блок управления процессом (Program Control Block – PCB) является центральным объектом в ОС, который определяет процесс и содержит всю необходимую информацию о процессе.

PCBсодержит определенные сведения.

1. Текущее состояние процесса (Program Status Word - PSW).(Всего 5 состояний)

2. Уникальный идентификатор процесса.

3. Приоритет.

4. Указатели памяти процесса.

5. Указатели выданных процессу ресурсов.

6. Область сохранения регистров.

Когда ОС переключает ЦП с процесса на процесс, используется область сохранения регистров в PSB, чтобы запомнить информацию, необходимую для возобновления процесса, когда он снова получит ЦП.

Обработка прерываний состоит в следующем:

1. При возникновении прерывания, управление передается в ОС.

2. ОС запоминает состояние прерванного процесса, обычно в PCB прерванного процесса.

3. ОС анализирует тип прерывания и передает управление соответствующему обработчику прерываний.

4. После обработки прерывания ОС либо продолжает выполнять прерванный процесс, либо запускает готовый процесс с наивысшим приоритетом.

Основная концепция обработки прерываний

В различных ЭВМ существует различный набор типов прерываний, которые можно разделить на 6 классов.

1. Программы-прерывания по системной директиве. Инициатор – активный процесс, выполнивший команду SVC(обращение к супервизору),то есть запрос на предоставление ОС какой-либо системной вычислительной услуги.

2. Прерывания ввода-вывода. Инициируются устройством ввода/вывода (УВВ) и сигнализируют ЦП о том, что произошло изменение состояния канала ввода-вывода (КВВ) или УВВ (например: завершение операции, ошибка, переход устройства в состояние готовности).

3. Внешние прерывания. Причинами их является нажатие операторами клавиш на панели ЭВМ или прием сигнала прерывания от другого ЦП в мультипроцессорной системе, сигнала от модема.

4. Прерывание по рестарту. Нажатие оператором на панели управления кнопки рестарта или Reset.

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

6. Прерывания по контролю машины вызываются аппаратными ошибками.

Планирование процессов включает в себя решение следующих задач:

1. определение момента времени для смены выполняемого процесса;

2. выбор процесса на выполнение из очереди готовых процессов;

3. переключение контекстов "старого" и "нового" процессов.

Первые две задачи решаются программными средствами и будут рассмотрены в следующих разделах, а последняя выполняется, как правило, аппаратно.

 




Читайте также:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...



©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (511)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7