← Todos os guias

Guia · Programação

Como um computador executa um programa?

Um programa precisa de uma representação executável, memória e recursos organizados pelo sistema. Acompanhe uma soma simples até as operações realizadas pelo processador.

Escrito pela equipe Compuzilla

Publicado em . Atualizado em .

Nesta leitura
Compuzilla sorrindo ao lado de um diagrama: Um programa em execução.

Um programa em execução

  1. Programa
  2. Sistema e memória
  3. CPU
O sistema organiza a execução; memória e CPU participam do trabalho. A sequência resume funções e não descreve toda implementação. Ilustração: equipe Compuzilla.

Comece com uma tarefa pequena

Considere um arquivo de Python com este conteúdo:

print(2 + 3)

Ele pede a soma de dois números e a apresentação do resultado, 5. Essa linha é código-fonte: texto escrito segundo as regras de uma linguagem de programação.

O processador não lê essa linha como uma pessoa. Uma implementação da linguagem participa de sua execução. Em outros programas, o código pode ter sido traduzido antecipadamente para instruções de máquina. O caminho depende da linguagem, da implementação e da forma de distribuição.

Preparar o programa para rodar

Um programa guardado é um arquivo; um processo é uma instância em execução com estado e recursos próprios. O sistema operacional prepara e organiza a execução.

No Linux, por exemplo, execve substitui o programa executado por um processo. Essa operação prepara novas áreas de memória, mas não cria sozinha um novo processo. Abrir um aplicativo pela interface pode envolver outras operações antes e depois disso.

O sistema disponibiliza memória, organiza permissões e distribui tempo de processamento. O desenho introdutório “arquivo → memória → CPU” resume funções; não mostra todos os arquivos, bibliotecas e mecanismos envolvidos.

Trabalhar com instruções e dados

A RAM mantém dados e instruções em uso. A CPU realiza operações reconhecidas por sua arquitetura, como calcular, comparar, acessar memória e decidir a próxima instrução.

Na arquitetura RISC-V RV32I, ADD soma valores de dois registradores, pequenos espaços internos do processador, e escreve o resultado em outro. Se eles contêm 2 e 3, o resultado é 5.

Esse exemplo explica uma operação de máquina; não é uma tradução exata e universal de print(2 + 3). Uma implementação pode calcular uma constante antes da execução, e exibir o resultado envolve muitas outras operações.

Mostrar o resultado

O programa usa mecanismos de saída para apresentar 5. Dependendo do contexto, essa saída vai para um terminal, um arquivo ou outro programa. Uma operação na tela passa por camadas de software e dispositivos; não corresponde a uma única instrução de soma.

Também pode haver espera por dados ou dispositivos. Nesses momentos, o sistema pode dar tempo de CPU a outros processos. Várias tarefas parecerem simultâneas não significa que todas executem a mesma etapa ao mesmo instante.

E quando o programa termina?

O processo pode devolver um resultado e encerrar sua execução. O sistema recupera recursos conforme seus mecanismos. Um valor que só existia na memória não vira automaticamente um arquivo permanente.

Para conservar informações, o programa precisa solicitar sua gravação. Salvar e confirmar que o dado foi preservado são partes de uma tarefa diferente da soma. O guia de memória e armazenamento acompanha esse caminho.

Próxima leitura

Leia sistema operacional para aprofundar quem coordena recursos enquanto diferentes programas executam suas tarefas.

Continue aprendendo

  • Verbete CPU — A CPU é a parte do computador que executa instruções de programas, como calcular, comparar valores e movimentar dados. Ela trabalha com a memória e outros componentes para realizar as tarefas.
  • Verbete Sistema operacional — Sistema operacional é o conjunto de software que organiza recursos do computador e oferece serviços aos programas. Ele gerencia execução, memória, arquivos e dispositivos para que aplicativos possam realizar suas tarefas.
  • Verbete Algoritmo — Algoritmo é uma sequência bem definida de passos para realizar uma tarefa ou resolver um problema. Ele descreve um procedimento; o código de um programa é uma maneira de expressar e executar esse procedimento.
  • Verbete Linguagem de programação — Linguagem de programação é um sistema de regras para expressar instruções e organizar dados em programas. Sua sintaxe define como escrever; seu significado determina o que as construções fazem quando processadas.
  • Guia Memória e armazenamento: qual a diferença? — A RAM mantém dados em uso; o armazenamento guarda arquivos para depois. Acompanhe um documento para entender as duas funções.

Fontes para aprofundar