Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Аппарат прерываний (виды прерываний). Понятие системного вызова.




1. Внешние (аппаратные) прерывания. Физически для поддержки аппаратных прерываний процессор имеет специальные контакты. В современных архитектурах, основанных на общей шине для запроса на прерывания, используется одна из дорожек шины.

Последовательность событий:

а) Устройство, которому требуется внимание ЦП, устанавливает на шине запрос на прерывание.

б) ЦП доводит выполнение текущей задачи до логической точки и выставляет на шине сигнал подтверждения прерывания, при этом другие прерывания блокируются

в) Получив подтверждение, устройство передает по шине число, идентифицирующее данное устройство. Это номер прерывания.

г) ЦП сохраняет в стеке текущее значение счетчика команд и регистра слов состояния. Это называется малым упрятыванием.

д) Устанавливает привилегированный режим работы ЦП, после управление передается на точку входа процедуры обработки прерываний. Адрес обработчика предварительно считывается. Обработчик может сразу вернуть управление активной задаче, выполнив команду IRET (коротко прерывание).

Если ОС требуются какие-либо действия на прерывание – длинное прерывание, действия:

Сначала обработчик сохранит в стеке РОН, затем необходимо покинуть критическую область ядра. Дальше все переходит к выполнению процедур, прерывание которых не вызовет ошибки. Остальные прерывания разблокируются, т.е. ОС дает возможность прерываний от других устройств.

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

Из привилегированного режима в пользовательский можно перевести ЦП простой командой, но обратно с помощью обычной команды нельзя. Прерывания – единственный способ переключения ЦП в привилегированный режим.

2. Внутренние прерывания (ловушки). При возникновении исключения ЦП должен передать управление ОС и она принимает решение о дальнейших действиях. Необходимо переключаться в привилегированный режим и передать управление на некоторый обработчик, при этом сохранить информацию из РОН и слово состояние процессора. Отсутствует обмен по шине. Обработчики ситуаций, в которых дальнейшее выполнение активной задачи невозможно, наз. внутр. прерываниями.

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

1) Ядро работает в разных режимах.

2) Пространство адреса ядра для пользовательского процесса не доступно.

Прерывания по инициативе выполняющейся задачи называются программными прерываниями.

 

6. Понятие процесса – ключевое понятие ОС.

Процессом называют программу в момент ее выполнения под управлением ОС. С каждым процессом связано его адресное пространство. Это список адресов в памяти от некоторого минимального до некоторого максимального, который процесс может прочесть и в который может писать. Адресное пространство содержит саму программу, данные к ней и ее стек. Со всяким процессом связывают состояние процесса. Это набор регистров, включая счетчик команд, указатель стека и др. аппаратные регистры + вся необходимая информация для запуска программы. С процессом связана информация о доступных ресурсах и полномочиях.

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

Если процесс может создавать другие процессы, называемые дочерними, а те в свою очередь новые дочерние, то имеем дерево процессов.

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

 


Поделиться:

Дата добавления: 2015-01-14; просмотров: 177; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты