Interested Article - Аварийный отказ (программирование)

Отказавший iMac
Отказавший iMac

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

Часто программа зависает , пока не будет создан отчёт об ошибке с подробностями отказа.

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

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

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

Отказы программ

Крах программы в аэропорту в результате ошибки сегментации

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

Unix приложения традиционно отвечают на сигнал с помощью дампа памяти . Большинство Windows и Unix приложений с графическим интерфейсом пользователя отвечают отображением диалогового окна с возможностью подключения отладчика , если он установлен.

Некоторые приложения пытаются восстановиться после ошибки и продолжить работу вместо выхода.

Типичные ошибки, приводящие к сбоям приложений, включают:

Отказ Web-сервера

Приложение, запущенное на веб-сервере , может отказать, и сайт может не работать или показывать сообщение с ошибкой.

К примеру, если сайт, использующий базу данных SQL (например MySQL ) использует скрипт (например на PHP ), и этот сервер упадёт, то PHP выдаст ошибку подключения.

См. также

Примечания

  1. Першиков. Толковый словарь по информатике. — 1991. — С. 245.
  2. Орлов. Англо-русский словарь по вычислительной технике и информационным технологиям. — 4-е изд. — 2009. — ISBN 5-93037-124-5 .
  3. Толковый словарь по вычислительной технике. — Microsof Press, 1995. — С. 107. — ISBN 5750200086 .

Литература

Ссылки

  • (англ.)
  • (англ.)
  • (англ.)
  • (англ.)
Источник —

Same as Аварийный отказ (программирование)