SIGBUS

SIGBUS
SIGBUS
Описание: Сигнал ошибки шины
По умолчанию: завершение с дампом памяти
коды SA_SIGINFO
(не имеет специфических кодов)

В POSIX-системах, SIGBUS — сигнал, сигнализирующий об ошибке шины, при обращении к физической памяти.

SIGBUS — целочисленная константа, определённая в заголовочном файле signal.h. Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.

Этимология

SIG — общий префикс сигналов (от англ. signal), BUS — англ. bus — шина данных (или адресная шина).

Использование

Процесс может получить SIGBUS при неправильном обращении к памяти:

Неправильное выравнивание данных
При попытке обращения не удовлетворяющей правилам выравнивания принятым на применяемом процессоре.
Обращение к несуществующей физической памяти
Обращение к адресам, для которых на компьютере не установлено памяти. Исключение аналогично ошибке сегментации, но в применении к физическим, а не виртуальным адресам.
Аппаратная ошибка специфичная объекту
Более редкий случай, например в Solaris такой сигнал возникает, когда страницы виртуальной памяти перестают быть доступны, из-за проблем доступа к объекту, который на них отображён (например, когда отображённый с помощью mmap() файл был впоследствии урезан [1] (англ.)).

Операционная система может предоставить дополнительные данные о возникшей ошибке, используя стек сигнала (англ. signal stack), который может помочь разработчику в отладке данной ошибки.

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

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

Сигналы POSIX
SIGABRT | SIGALRM | SIGFPE | SIGHUP | SIGILL | SIGINT | SIGKILL | SIGPIPE | SIGQUIT | SIGSEGV | SIGTERM | SIGUSR1 | SIGUSR2 | SIGCHLD | SIGCONT | SIGSTOP | SIGTSTP | SIGTTIN | SIGTTOU | SIGBUS | SIGPOLL | SIGPROF | SIGSYS | SIGTRAP | SIGURG | SIGVTALRM | SIGXCPU | SIGXFSZ |

Сигналы реального времени (определяемые пользователем) — SIGRTMIN — SIGRTMAX.

Некоторые сигналы не включенные в POSIX и синонимы
SIGIOT | SIGEMT | SIGSTKFLT | SIGIO | SIGCLD | SIGPWR (SIGINFO) | SIGLOST | SIGWINCH | SIGUNUSED

Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "SIGBUS" в других словарях:

  • SIGBUS — Saltar a navegación, búsqueda SIGBUS Descripción: Error en el bus Acción por defecto: Terminación anormal del proceso SA SEÑALINFO macros BUS ADRALN alineamiento inválido de dirección BUS ADRERR Dirección física inexistente BUS OBJERR Error de… …   Wikipedia Español

  • SIGBUS — Infobox Computing signal description = Bus error action = Abnormal termination of the process BUS ADRALN | invalid address alignment BUS ADRERR | non existent physical address BUS OBJERR | object specific hardware errorOn POSIX compliant… …   Wikipedia

  • SIGBUS — Signal bei Bus Error (Signal Nr. 10) unter X/Open, ATT und BSD UNIX ( >xedit /usr/include/signal.h) …   Acronyms

  • SIGBUS — Signal bei Bus Error (Signal Nr. 10) unter X/Open, ATT und BSD UNIX ( >xedit /usr/include/signal.h) …   Acronyms von A bis Z

  • Signal (computing) — A signal is a limited form of inter process communication used in Unix, Unix like, and other POSIX compliant operating systems. Essentially it is an asynchronous notification sent to a process in order to notify it of an event that occurred. When …   Wikipedia

  • SIGQUIT — Ein Signal ist eine Systemnachricht an einen laufenden Prozess. Signale sind eine primitive Form von Interprozesskommunikation. Die meisten Signale bewirken auch eine Aktion – meist das Beenden des Prozesses. Andere hingegen dienen lediglich der… …   Deutsch Wikipedia

  • SIGTSTP — Ein Signal ist eine Systemnachricht an einen laufenden Prozess. Signale sind eine primitive Form von Interprozesskommunikation. Die meisten Signale bewirken auch eine Aktion – meist das Beenden des Prozesses. Andere hingegen dienen lediglich der… …   Deutsch Wikipedia

  • Signal (Computer) — Ein Signal ist eine Systemnachricht an einen laufenden Prozess. Signale sind eine primitive Form von Interprozesskommunikation. Die meisten Signale bewirken auch eine Aktion – meist das Beenden des Prozesses. Andere hingegen dienen lediglich der… …   Deutsch Wikipedia

  • Kill (Unix) — En informatique, kill est une commande de certains systèmes d exploitation (particulièrement Unix et ses dérivés) utilisée pour demander l arrêt d un processus en cours d exécution. Sommaire 1 Implémentations 2 Exemples 3 Voir aus …   Wikipédia en Français

  • SIGALRM — Au sein des plateformes répondant aux normes POSIX, SIGALRM est le signal envoyé à un processus lorsqu une limite de temps est écoulée. La constante symbolique du pré processeur C pour SIGALRM est définie dans le fichier d en tête signal.h. Les… …   Wikipédia en Français


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»