Pesquise sobre o que acontece quando acessamos um programa de computador.
Soluções para a tarefa
Um programa de computador é a formalização de um algoritmo em qualquer linguagem capaz de ser transformada em instruções que serão executadas por um computador gerando os resultados esperados.
O termo "software" pode ser utilizado quando se quer designar um conjunto de programas ou, mais freqüentemente, quando é feita uma referência à parte não física do sistema computacional, em contraposição ao termo "hardware", que designa o conjunto de componentes eletrônicos que constituem um computador.
Os programas de computador utilizados diretamente por pessoas comuns, como os editores de texto, são chamados de software aplicativo, ou de aplicação. Os programas voltados para dar suporte funcional aos computadores, como os sistemas operacionais, são chamados de software de sistema. Esses softwares, assim como aqueles embutidos em outros sistemas (firmware), podem ser genericamente chamados de "programas".
Execução do programa[editar | editar código-fonte]Ver artigo principal: Tempo de execuçãoUm 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. 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 hardware.