Respostas
B. Piropo
Anteriores:
< Diversos >
Volte de onde veio
12/05/97

<Quando um programa é carregado,>
<vai todo para a memória RAM? >
<O tempo ganho justifica o custo?>


Um programa - qualquer programa - é um conjunto de instruções elementares que são executadas sucessivamente pela CPU. Toda a maravilha da informática moderna é realizada apenas combinando estas instruções e alterando a ordem em que elas são executadas. A CPU "sabe" qual instrução será executada a seguir examinando o conteúdo do "ponteiro de instruções", um registrador interno (posição de memória no interior da CPU) que contém o endereço da próxima instrução a ser executada (a ordem das instruções pode ser alterada mudando-se o conteúdo deste registrador). Ora, como a única coisa que o ponteiro de instruções pode conter é um endereço de memória, uma instrução somente pode ser executada se estiver na memória. Disto decorre o fato de que um programa somente pode "rodar" se for carregado na memória, ou seja, se as instruções que o compõem estiverem na memória. As CPUs modernas podem empregar um artifício denominado "memória virtual", que consiste em usar o disco para armazenar trechos de memória quando não há mais espaço na memória RAM para conter as instruções de um programa. Nestes casos, regiões de memória RAM que contêm instruções que não estão sendo usadas no momento são copiadas em disco para abrir espaço na memória. Não obstante, um fato básico permanece válido: as instruções somente podem ser executadas se estiverem na memória. Portanto, caso o fluxo do programa exija em um certo momento a execução de uma dada instrução que está em um dos trechos de memória que foram armazenados em disco, o programa pára enquanto outro trecho de memória é copiado no disco para abrir espaço para aquele onde está a instrução, que então volta para a memória para ser executada. Ora, o acesso a disco é quase mil vezes mais lento que à memória. Por isto máquinas com pouca memória RAM parecem tão lentas quando a memória se sobrecarrega. O que faz com que - na maioria das vezes e dentro de certos limites - o custo de aumentar a capacidade da memória ser mais que compensado pelo benefício obtido com a melhoria do desempenho.

B. Piropo