Показать сообщение отдельно

  #10  
Старый 26.04.2008, 13:33
XCorleone
Новичок
Регистрация: 19.04.2008
Сообщений: 4
Провел на форуме:
81080

Репутация: 16
Post

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

У каждого прерывания есть свой приоритет. В процессорах от Intel всего возможно иметь 32 разных приоритета. Если в данный момент не выполняется обработка прерывания более высокого приоритета, то будет вызван обработчик прерывания из оперативной памяти и процессор начнет свою работу. Процесс (обработчик прерываний) получит вектор прерывания или его номер, в зависимости от архитектуры процессора.

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

Я рассказал все проще, чем есть на самом деле, опустив незначительные детали для общего понимания.
 
Ответить с цитированием