Estado (ciência da computação)
Na ciência da computação e na teoria de autômatos, o estado de um circuito lógico digital ou programa de computador é um termo técnico para todas as informações armazenadas, em um determinado ponto no tempo, para que o circuito ou programa tem acesso. A saída de um circuito digital ou programa de computador, a qualquer momento é completamente determinado pelas suas entradas atuais e seu estado. Estados de Circuitos DigitaisCircuitos digitais podem ser divididos em dois tipos: a lógica combinacional, cujos sinais de saída são dependentes apenas dos seus atuais sinais de entrada, e a lógica seqüencial, cujas saídas são uma função de ambas as entradas atuais e da história das entradas passadas. Na lógica seqüencial, as informações de entradas passadas são armazenadas em elementos de memória eletrônicos, tais como flip-flops e travas. Os conteúdos guardados destes elementos de memória, num determinado ponto no tempo, é referido colectivamente como "estado" do circuito e contém todas as informações sobre o passado que o circuito têm acesso. Por exemplo, o estado de um microprocessador (chip de computador) é o conteúdo de todos os elementos de memória nele: os acumuladores, registradores, caches de dados e flags. Quando os computadores, tais como laptops, entrarem em um modo de "hibernação" para poupar energia, desligando o processador, o estado do processador é armazenado no disco rígido do computador, para que ele possa ser restaurado quando o computador sair do modo de hibernação, e o processador poder assumir as operações de onde parou. Estado do programaDo mesmo modo, um programa de computador armazena dados em variáveis, que representam locais de armazenamento na memória do computador. O conteúdo destas posições de memória, em um determinado ponto na execução do programa, é chamado de estado do programa. Programação imperativa é um paradigma de programação (forma de concepção de uma linguagem de programação) que descreve computação em termos de estado de programa e instruções que alteram o estado de programa. Em contraste, em linguagens de programação declarativas o programa descreve os resultados desejados, não especificando uma mudança para o estado directamente. Uma definição mais especializada do estado é usada em alguns programas de computador que operam em série (seqüencialmente) sobre fluxos de dados, tais como analisadores, firewalls, protocolos de comunicação e programas de criptografia. Em alguns desses programas, o histórico de entradas de dados anteriores afeta o processamento da entrada atual, que significa que o programa pode ser modelado como uma máquina de estado. Estes programas são descritos como "stateful", e as variáveis que contêm os valores do ciclo de processamento anterior são chamadas no estado. Em outros programas de série a saída depende apenas da entrada atual, estes são chamados de "stateless". Máquinas de estados finitosA saída de um circuito seqüencial ou programa de computador, a qualquer momento, é completamente determinada pelas suas entradas atuais e estado atual. Uma vez que cada elemento de memória binária possui apenas dois estados possíveis, 0 ou 1, o número total de diferentes estados que um circuito pode assumir é finito, e fixado por meio do número de elementos de memória. Se houver N elementos binários de memória , um circuito digital pode ter no máximo 2^N estados distintos. O conceito de Estado é formalizado em um modelo matemático abstrato de computação chamado de máquina de estado finito, usado para projetar os circuitos digitais seqüenciais e programas de computador. Tipos de estadosSeguintes estados destacam-se:
Ver também |
Portal di Ensiklopedia Dunia