¿Qué es la programación de señales?

"Programación de señales" es un término que a menudo se usa para referirse a un programa de computadora que funciona principalmente en respuesta a señales o eventos generados por algún cambio en el estado o por la entrada del usuario. Casi cualquier parte de un sistema informático, desde un dispositivo periférico hasta el sistema operativo en sí, puede generar una señal que puede ser capturada por una aplicación y luego procesarse. En muchas formas, la programación de señales se asemeja a la programación basada en eventos. Algunos de los usos más comunes para la programación de señales son con interfaces gráficas de usuarios que responden a la entrada del usuario, las comunicaciones de red y los programas de bajo nivel que capturan y manejan señales específicas del sistema.

Una señal en la programación de computadoras se puede definir como un mensaje, un evento o una interrupción, dependiendo de su origen, la arquitectura del sistema o incluso la preferencia del programador. En los términos más amplios, es un indicador de que algún estado o datos ha cambiado, y a veces se acompaña de información adicional sobre el cambio que tieneocurrió. El usuario puede generar la señal cuando se presiona una tecla, desde hardware como un monitor cuando se produce un retroceso vertical, o incluso desde el sistema operativo cuando algo como una falla de la página ocurre durante la asignación de memoria.

Dentro de una aplicación, la programación de señales puede asumir varios tipos de arquitecturas, pero uno de los más comunes es un modelo de oyente u observador. En este método, una pieza de código definido por el usuario se puede pasar de alguna manera a un controlador de señal, generalmente dentro del sistema operativo, que luego llama a ese código para procesar cualquier señal que coincida con lo que la función está buscando. El tipo de señal que puede manejar una función a menudo se determina por una variable conocida como máscara de señal, por lo que algunas señales no se pasan a rutinas que no están diseñadas para manejarlas.

Un segundo tipo de programación de señal implica tener un programa que implementa una cola que acepta SIG entrantenals. Esta cola se encuesta en el bucle de ejecución principal del programa y el programa reacciona una vez que una señal ingresa a la cola. Cada señal se puede ordenar, manejar, ignorar o pasar a otro proceso lógicamente.

.

Pueden surgir algunas dificultades en la programación de señales cuando se utilizan procesos concurrentes o aplicaciones multiproceso. Las complicaciones pueden surgir si, por ejemplo, dos hilos separados están escuchando señales generadas por dos dispositivos de entrada de usuario separados, o desde dos enchufes de red. Si dos usuarios intentan hacer un cambio a algunos datos simultáneamente, los datos del programa podrían quedarse sin sincronización y aparecer de manera diferente a cada usuario. El uso de una cola lineal o la implementación de métodos de sincronización de hilos puede ayudar a prevenir esta situación.

OTROS IDIOMAS