Execução de programa
Curso: ADS
Prof: Cesar (Arquitetura de computadores)
Execução do programa
Um programa de computador é primeiramente carregado na memória do computador (usualmente pelo sistema operacional). O sistema operacional organiza três blocos de memória, também chamados segmentos.
[pic]
O primeiro é o segmento de código, que é estático em tamanho e em conteúdo. Ele recebe todo o código de máquina que define as subrotinas do programa, e o endereço de cada subrotina é definido como o menor dos endereços das células de memória que a definem.
O segundo bloco de memória é o segmento de dados, e recebe as variáveis globais. Assim como no segmento de código, o endereço de cada variável é definido como o menor dos endereços das células de memória que o definem. Ele é estático em tamanho mas dinâmico em conteúdo, o que significa que este segmento não pode criar variáveis em tempo de execução, mas o conteúdo é variável, pode ser modificado.
O terceiro bloco de memória é o segmento de pilha, uma área de memória na qual armazena-se informação em forma de uma pilha. ele serve para armazenar informações como variáveis locais, parâmetros de subrotinas e endereços de retorno (para onde o fluxo do programa deve ir após a execução de uma função, isto é, o ponto logo após ela foi invocada.) Antes da execução do programa propriamente dita, a pilha é esvaziada.
A partir de então o programa é executado, instrução por instrução, até o seu término. A execução de um programa de computador pode ser abreviada em caso de erro de software ou de