Кто-то может объяснить мне, как ЦП находит источник прерывания в теории ОС?

Я в настоящее время делаю модуль в теории Операционных систем, и у меня есть несколько понятий, которые я не могу схватить - это было бы правильным местом для задавания вопросов?

Мой основной вопрос о прерываниях. Когда ЦП обнаруживает, что было прерывание, я понимаю, что это должно узнать где это порожденное прерывание. Мое понимание следующим образом, кто-либо мог сказать мне, если это корректно, и объясните несколько разрывов в моем знании?

Чтобы ЦП обнаружил, где прерывание произошло, это могло запросить все объекты определить источник, но эти основанные на вводе-выводе вопросы займут много времени. Вместо этого это использует цикл прерывания и ожидает идентификатор прерывания на шине данных. Если это - шина данных на 8 битов, существует 256 уровней прерывания (т.е. 2^8). (Почему это?)

Таким образом, Процедура обработки прерывания (ISR) записана для каждого возможного уровня прерывания и сохранена в таблице в фиксированном местоположении (вектор прерывания), который стандартизирован процессором. В моих примечаниях, говорит, что "Местоположение должно быть известно прежде, чем получить адрес" (Что это означает?)

Идентификатор уровня прерывания, полученный как часть цикла прерывания, используется в качестве индекса в вектор прерывания (Кто-то может сломать это немного?). Мое понимание - то, что значение, идентификатор уровня прерывания передается ЦП и используется для указания на вектор прерывания.

Кроме того, что означает то, когда прерывание, как говорят, "обслуживается"?

Большое спасибо, и жаль о длинных абзацах, я просто немного смущен многими аспектами этого!

5
задан 04.12.2010, 02:34

1 ответ

что означает то, когда прерывание, как говорят, "обслуживается"?

Когда вещь, запрашивающая прерывание, заботится о, затем это называют "обслуживаемым". Это могло быть столь же просто как чтение следующего символа с клавиатуры или отправки следующего пакета данных плата Ethernet. Некоторые прерывания более важны, чем другие, таким образом, существует возможность расположить по приоритетам их.

Полезная статья может быть найдена здесь.

Идентификатор уровня прерывания, полученный как часть цикла прерывания, используется в качестве индекса в вектор прерывания

Как Вы упомянули, когда прерывание происходит, ЦП, который в основном спрашивают, "кто сделал это?" и устройство прерывания помещает свой идентификатор прерывания на шину данных. ЦП затем берет это число и ищет его в таблицу ISR для передачи выполнения обработчику.

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

4
ответ дан 07.12.2019, 17:38

Теги

Похожие вопросы