вторник, 14 октября 2014 г.

Урок 4. Слайд 196-197

Поехали:

Слайд 196
Прерывание это сигнал о том, что какой-то вид события произошел. Есть хардварные и софтварные прерывания. В любом случае, компьютер хранит определенный набор ключевых данных в некоем временном хранилище. Затем компьютер запускает обработчик прерывания, определяет, как реагировать на событие, которое произошло, работает с ним, возвращается к работе с основной программой, перезагружает временные данные.
Для основной программы как бы ничего не произошло. Но это фоновое событие, обработанное через прерывание, может быть критичным для программы. Например, принтер может уйти в оффлайн, пока программа работает с ним. Или данные, с которыми работает программа, изменились.

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

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

Примеры:
  • нажатие клавиш
  • ошибки ввода вывода
  • сигналы времени

Ошибки:
  • гонка состояний (задержка выполнения программы, связанная с недостатком ресурсов)
  • переполнение стека
  • смертельное объятие (событие А не может произойти, пока не закончится событие В, событие В не может закончится, пока не произойдет событие А)
Слайд 197
Теперь, когда мы рассмотрели хранение и управление данными, можно обратиться к покрытию. Вопрос покрытия - сколько вы протестировали? Обычно ответ выглядит как процент или пропорция. Я проверил половину кода или все принтеры.

Комментариев нет:

Отправка комментария