Un interruptor de detección , o interruptor de programa , es un interruptor en el panel frontal de una computadora cuyo estado puede probarse mediante instrucciones de bifurcación condicional en el software. [1] La mayoría de las primeras computadoras tenían varios interruptores de detección. Por lo general, el operador los usaba para configurar las opciones del programa.
El primer ordenador comercial de IBM, el IBM 701 Defense Calculator, anunciado el 21 de mayo de 1952, tenía cuatro luces y seis interruptores en la parte superior derecha de su panel frontal marcados como Sense (ver foto). Los interruptores se podían probar y las luces se podían encender o apagar bajo el control del programa. La misma cantidad de interruptores y luces de detección se encontraban en los paneles frontales de todas las máquinas de primera y segunda generación de la línea de ordenadores científicos de IBM, el IBM 701 , IBM 704 , IBM 709 , IBM 7090 y el IBM 7094. [2] El lenguaje Fortran de IBM , lanzado por primera vez para el 704, incluía instrucciones para probar los interruptores y configurar o reiniciar las luces.
donde n1 y n2 son números de instrucciones. SENSE LIGHT 0 reinicia las cuatro luces. [3] : p. 18
En el IBM 1620 hay cuatro interruptores, y su estado puede comprobarse mediante formas especiales de la sentencia IF ofrecida por el compilador FORTRAN para el IBM 1620. Para el IBM 1130 hay dieciséis interruptores que coinciden con el tamaño de palabra de dieciséis bits de la computadora, más un interruptor de palanca adyacente al interruptor de encendido/apagado. Estos interruptores de bits se utilizan más normalmente con la computadora detenida para especificar alguna dirección de memoria que se debe ver (a través de las luces indicadoras del panel frontal) o configurar. El estado de estos interruptores puede determinarse mediante un programa, por lo que un programa en ejecución puede modificar su comportamiento dependiendo de los interruptores, como cambiar la cantidad de información de progreso impresa, alterar las tácticas de un intento de optimización de múltiples variables, etc. El IBM 1130 también tiene una tecla de "Solicitud de interrupción" asociada con la impresora de la consola , cuya pulsación puede hacer que un programa de larga ejecución debidamente programado escriba un informe de progreso en la impresora de la consola. En el entorno de trabajo por lotes más habitual, el operador de la computadora presionaba para indicarle al sistema operativo que finalizara un programa en ejecución que quizás había excedido su tiempo permitido o había comenzado a comportarse mal, como imprimir repetidamente líneas en blanco.
El panel frontal de la computadora Data General Eclipse tiene 5 interruptores de detección, 16 interruptores de dirección y 5 interruptores de control, como se muestra (de izquierda a derecha) en la figura de la derecha.
Las computadoras personales reemplazan la función de los interruptores de detección fija con la interfaz de usuario del teclado y la pantalla.
Una aplicación típica en ejecución tiene dos modos: o no tiene nada que hacer y espera alguna acción del usuario, o hay alguna acción en curso que tardará mucho tiempo en completarse. Si un programa no prueba regularmente el estado de los interruptores de detección durante un cálculo largo, no son efectivos para cambiar el funcionamiento del programa.