SIGBUS

SIGBUS

SIGBUS

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 hardware específico del objeto

En plataformas compatibles con POSIX, SIGBUS es la señal que envía un programa cuando ha habido un error en el bus. En el código fuente, SIGBUS es una constante simbólica definida en el archivo de cabecera <signal.h>. Se usan nombres simbólicos de señales porque los números de las señales puede variar de una plataforma a otra.

Etimología

SIG es un prefijo común para nombres de señales. BUS se refiere al bus de datos en el contexto de un error en el bus.

Uso

Los programas suelen lanzar la señal SIGBUS cuando hay un tratamiento inadecuado de la memoria:

Alineamiento inválido de dirección
El programa ha intentado leer o escribir datos que no se ajustan a las reglas de alineamiento de la CPU.
Dirección física inexistente
Esto es equivalente a una violación de segmento, pero para una dirección física en vez de una dirección virtual.
Error de hardware específico del objeto
Este es de lejos el menos común, pero está presente en Solaris, cuando las páginas de memoria virtual han desparecido (por ejemplo, accediendo a un fichero mapeado con mmap el cual ha sido truncado [1] (en inglés).)

Para más información, véase error en el bus.

El sistema operativo puede informar a la aplicación de la naturaleza del error usando la pila de señales, usada por los desarrolladores para depurar sus programas o tratar errores.

La acción por defecto de un programa al recibir la señal SIGBUS es una terminación anormal. Esto terminará el proceso, pero puede generar un archivo de volcado de memoria que sea útil en la depuración, así como también otras acciones que dependen de cada plataforma.

SIGBUS puede ser tratada. Esto es, las aplicaciones pueden pedir que cuando ocurra se ejecute alguna acción. Ejemplos de estas acciones pueden ser ignorarla, llamar a una función, o restaurar la acción por defecto. En algunas circunstancias, ignorar la señal SIGBUS puede producir un comportamiento indefinido.

Un ejemplo de aplicación que puede tratar la señal SIGBUS es un depurador, el cual puede comprobar la pila de señales e informar al desarrollador de lo que ha ocurrido y dónde ha terminado el programa.

La señal SIGBUS normalmente es generada por el sistema operativo, pero un usuario con los permisos adecuados puede usar kill para enviar dicha señal a un proceso.

Obtenido de "SIGBUS"

Wikimedia foundation. 2010.

Игры ⚽ Поможем сделать НИР

Mira otros diccionarios:

  • SIGBUS — Описание: Сигнал ошибки шины По умолчанию: завершение с дампом памяти коды SA SIGINFO (не имеет специфических кодов) В POSIX системах, SIGBUS  сигнал, сигнализирующий об ошибке шины, при обращении к физической памяти. SIGBUS … …   Википедия

  • 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

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”