Ввод-вывод, управляемый прерываниями

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

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

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

Рис. 5.7. Запись строки на принтер с использованием ввода-вывода, управляемого с помощью прерываний: а — код, выполняемый во время совершения системного вызова на распечатку; б — процедура обслуживания прерывания принтера


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

5.2.4.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Ввод-вывод, управляемый прерываниями:

  1. Если человек не умеет управлять собой, им начинают управлять другие.
  2. 7.3.2. Прерывания
  3. 7.4.4. Как справиться с прерыванием.
  4. 7.3.2. Прерывания
  5. Прерывание нотаций:
  6. Прерывание обвинений:
  7. Прерывание криков и ругани:
  8. 7.4.4. Как справиться с прерываниями
  9. § 75 Ввод во владение по завещанию и споры на завещание. – Различные способы спора. – Пошлины с перехода имений по завещанию.
  10. § 38 Изменение старых понятий о переходе вотчинного права. – Формы приобретения по нынешнему закону. – Ввод во владение по новому нотариальному уставу. – Невыгоды от неизвестности о правах. – Попытка к регистрации поземельной собственности в России. – Вотчинная записка в прибалтийских губерниях
  11. Статья 1033. Управляющий
  12. 38. Отчет внешнего управляющего
  13. Статья 1037. Права и обязанности управляющего
  14. Статья 1043. Ответственность управляющего
  15. 40. Права и обязанности конкурсного управляющего
  16. 29. Права и обязанности временного управляющего