Сообщения об ошибках

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

К одному из классов ошибок ввода-вывода относятся ошибки программирования. Они возникают в том случае, если процесс запрашивает что-нибудь невозможное, к примеру запись в устройство ввода информации (клавиатуру, сканер, мышь и т. д.) или чтение из устройства вывода информации (принтер, плоттер и т. д.)[23]. Другие ошибки возникают при предоставлении неверного адреса буфера или других параметров или указании неверного устройства (например, третьего диска, когда в системе имеется только два) и т. д. На такие ошибки следует весьма простая реакция: вызывающей программе отправляется код возникшей ошибки.

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

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

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

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

Еще по теме Сообщения об ошибках:

  1. 2.1. Обстоятельные сообщения
  2. Правило приоритетностицели сообщения.
  3. 2.3. ОШИБКИ ПРИ РЕТРОСПЕКЦИИ
  4. Работа над ошибками
  5. ОШИБКА ОПЕРАТОРА
  6. 2.1. ОБСТОЯТЕЛЬНЫЕ СООБЩЕНИЯ
  7. Правило приоритетности цели сообщения.
  8. ИДЕЯ 7 ОШИБКИ
  9. 8.11. Психологический анализ сообщений граждан
  10. 8.2.1. Неискренние сообщения
  11. 3.2. Ошибки в стремлении к полноте
  12. Вычисление ошибки выборки.
  13. 2.3. Ошибки при ретроспекции