Estado (informática)


En tecnología de la información y ciencias de la computación , un sistema se describe como con estado si está diseñado para recordar eventos anteriores o interacciones del usuario; [1] la información recordada se denomina estado del sistema.

El conjunto de estados que puede ocupar un sistema se conoce como su espacio de estados . En un sistema discreto , el espacio de estado es contable ya menudo finito . El comportamiento interno del sistema o la interacción con su entorno consiste en acciones o eventos individuales que ocurren por separado, como aceptar entradas o producir salidas, que pueden o no hacer que el sistema cambie su estado. Ejemplos de tales sistemas son los circuitos y componentes lógicos digitales, los autómatas y el lenguaje formal , los programas de computadora y las computadoras .

La salida de un circuito digital o programa de computadora determinista en cualquier momento está completamente determinada por sus entradas actuales y su estado. [2]

Los circuitos lógicos digitales se pueden dividir en dos tipos: lógica combinacional , cuyas señales de salida dependen solo de sus señales de entrada actuales, y lógica secuencial , cuyas salidas son una función tanto de las entradas actuales como del historial pasado de las entradas. [3] En la lógica secuencial, la información de entradas pasadas se almacena en elementos de memoria electrónica, como flip-flops . El contenido almacenado de estos elementos de memoria, en un momento dado, se denomina colectivamente estado del circuito y contiene toda la información sobre el pasado a la que tiene acceso el circuito. [4]

Dado que cada elemento de memoria binaria , como un flip-flop, tiene solo dos estados posibles, uno o cero , y hay un número finito de elementos de memoria, un circuito digital tiene solo un número finito de estados posibles. Si N es el número de elementos de memoria binaria en el circuito, el número máximo de estados que puede tener un circuito es 2 N.

De manera similar, un programa de computadora almacena datos en variables , que representan ubicaciones de almacenamiento en la memoria de la computadora . El contenido de estas ubicaciones de memoria, en cualquier punto dado de la ejecución del programa, se denomina estado del programa . [5] [6] [7]