Открыть сервисСервис

Фатальная ошибка

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

История термина

Понятие «фатальной ошибки» сформировалось в 1960-е годы вместе с развитием промышленной вычислительной техники. В те годы отказ программы — например, обращение к несуществующей ячейке памяти или деление на ноль — останавливал всю ЭВМ, требуя ручного вмешательства оператора. Английский термин fatal error закрепился в документации к ранним языкам программирования и операционным системам. В русскоязычной технической литературе аналогом выступает «фатальная ошибка» или «критическая ошибка».

Причины возникновения

К основным причинам фатальных ошибок относятся:

  • Аппаратные сбои — отказ жёсткого диска, перегрев процессора, повреждение оперативной памяти.
  • Ошибки программирования — обращение к неинициализированным указателям, переполнение буферов, гонки данных.
  • Конфликты ресурсов — нехватка памяти, исчерпание дискового пространства, взаимоблокировка потоков.
  • Повреждение данных — битые загрузочные секторы, дефекты файловой системы, некорректные обновления.
  • Внешние воздействия — сбои электропитания, помехи, действия вредоносного ПО.

Проявления в программной инженерии

В программировании фатальная ошибка обычно сопровождается генерацией исключения (exception), которое не обрабатывается на верхних уровнях программы, либо приводит к аварийному завершению процесса. Классические примеры:

  • Segmentation fault — обращение к памяти вне отведённого процессу диапазона.
  • Kernel panic — непреодолимая ошибка ядра операционной системы, после которой система перестаёт отвечать.
  • Blue Screen of Death (BSOD) — критическая ошибка Windows, сопровождаемая синим экраном и кодом остановки.
  • Panic в Unix-системах — ядро объявляет о невозможности продолжить работу и инициирует перезагрузку.

Разработчики борются с фатальными ошибками средствами обработки исключений, тестированием (unit-тесты, fuzzing), статическим анализом кода и защитой памяти (ASLR, DEP, стековые канарейки).

Фатальные ошибки в авиации и промышленности

В авиации термин используется для обозначения отказов, угрожающих безопасности полёта: отказ гидросистемы, потеря тяги, сбой навигационного оборудования. Системы авионики проектируются по принципу отказоустойчивости — дублирование критических узлов, резервирование каналов управления. Аналогично в промышленных системах управления (АСУ ТП) фатальные ошибки контролируются системами аварийной защиты.

Способы предотвращения

Для снижения риска фатальных ошибок применяются:

См. также

Источники

  • Таненбаум Э., Бос Х. Современные операционные системы.
  • Соммервилл И. Инженерия программного обеспечения.
  • Руководства по эксплуатации авиационной техники.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru