Para que exatamente o RAM é usado? [fechadas]

1

Eu sei que isso parece uma pergunta simples, mas eu pesquisei em todos os lugares e eles apenas dizem "armazenar dados para serem usados mais rapidamente". Eu sei que o RAM é usado para carregar programas, mas o programa inteiro é carregado ou apenas parte?

    
por agz 06.01.2013 / 20:04

3 respostas

3

Existe uma analogia que eu uso ao descrever como todo o sistema CPU / RAM / Hard Drive interage, eu farei toda a analogia e cobre mais do que apenas ram, mas eu acho que vai ajudar.

Imagine que seu computador é como uma cozinha, e executar um programa é como fazer uma refeição.

Se você tivesse dois chefs (processador multi-core), você poderia fazer algumas refeições mais rapidamente, uma pessoa poderia cortar as cenouras enquanto a outra pessoa descascaria as batatas. No entanto, alguns pontos da receita existem coisas que apenas um chef pode fazer, por exemplo, misturar tudo na batedeira. Não importa se você tem 1 chef ou 4 chefs que ainda leva a mesma quantidade de tempo para misturar os ingredientes. É por isso que você simplesmente não pode multi-thread tudo, alguns passos levam tempo e não pode ser dividido em processadores.

Agora para a memória :
O tipo mais rápido de memória são os registradores da CPU, eles são como sua placa de corte. É muito pequeno e só pode conter o que você está trabalhando atualmente.

Se algo não está bem na sua frente, aonde você vai? Você vai até a despensa e pega, esse é o Cache da CPU. Você não saiu da cozinha, mas teve que parar o que estava fazendo por alguns segundos e levar algum tempo para caminhar até a despensa e conseguir.

Mas o que você faz se a coisa que você precisa não está na despensa? Bem, você vai para a loja de esquina na rua, esta é sua RAM. Agora, leva alguns minutos para sair da cozinha (CPU) e ir até a loja da esquina (RAM) e é 100 vezes mais lento do que caminhar até a despensa dentro da cozinha, mas sua despensa tem um tamanho limitado e você não pode armazenar tudo lá. (A memória de canal duplo é como dirigir dois carros até a loja, você pode levar o dobro de volta para casa com você para não precisar fazer tantas viagens)

Mas a loja da esquina é apenas isso, uma pequena loja de esquina. O que você faz se precisar de algo que a loja da esquina não armazena? Bem, você vai para a cidade e vai para o grande Mega-Mart, este é o seu disco rígido. Agora o Mega-Mart é enorme, você pode conseguir quase qualquer coisa lá, mas há desvantagens. O Mega-Mart está a quilômetros de distância em comparação com a loja da esquina, e leva uma hora para dirigir até lá e os funcionários não se importam e são muito lentos para checá-lo, é 100 vezes maior do que ir à loja da esquina ( RAM) e 100.000 de vezes mais do que apenas caminhar até a despensa (CPU Cache). E todo esse tempo sua receita (Programa) está esperando por você para obter o ingrediente necessário para continuar.

Mas e as coisas que são de ordem super especial que nem o Mega-Mart tem? Bem, você vai ter e-mail ordenado e esperar 1-3 dias para que ele apareça, isso está recebendo algo da internet. comparado a esperar os poucos segundos para ir para a despensa, isso é uma eternidade.

    
por 06.01.2013 / 22:06
4

A RAM é usada para armazenar tudo o que está sendo "usado atualmente" pelo computador. Por exemplo, as partes do Windows (ou Mac OS ou Linux) que fornecem a área de trabalho, a visualização de arquivos e assim por diante. O navegador que você está usando agora é carregado na memória. Idealmente quando você sai de um programa, ele é completamente removido da memória, mas algumas vezes isso não ocorre e causa um vazamento de memória.

Para responder à sua pergunta específica, pequenos programas são geralmente carregados completamente na memória, mas em alguns casos, especialmente com programas grandes, somente as partes principais e algumas subpartes importantes são carregadas sempre, se você chamar uma parte pouco usada do programa, pode ter que ler isso na memória separadamente.

Além disso, em algum momento, os programas serão "pré-carregados" pelo sistema operacional (Windows, Mac OS, Linux, etc.). Isso significa que o programa está na RAM, esperando, então quando você o abre, está bem ali e não precisa ser lido na memória. O SO faz isso se achar que você vai querer abrir esse programa em breve.

Confundindo ainda mais as coisas, se você precisar de mais memória do que realmente tem, o sistema operacional pegará um pouco do seu disco rígido e o fará agir como a RAM. Isso é chamado de "troca" ou "paginação", e a parte da unidade usada para isso é chamada de "espaço de troca" ou "arquivo de troca" ou "arquivo de paginação".

(O crédito dos dois últimos parágrafos vai para Darael por sugeri-los)

Alguém me corrija se isso não for preciso e eu revisarei essa resposta.

    
por 06.01.2013 / 20:11
0

A RAM do seu computador é usada para armazenar os dados necessários para que o sistema operacional e os programas sejam executados. A CPU interage diretamente com a RAM, de modo que ela pode ser usada diretamente como memória de trabalho, ou "espaço de rascunho", para programas em execução. A memória não alocada a programas em execução é normalmente usada pelo sistema operacional para atuar como um cache, armazenando dados freqüentes ou acessados recentemente para permitir acesso de alta velocidade a esses dados, já que a RAM é muito mais rápida que SSDs e discos rígidos. (Note que sua CPU tem sua própria memória cache interna e registradores, que são extremamente pequenos, mas ainda mais rápidos que a RAM do sistema, mas isso está além do escopo desta discussão.)

Se a quantidade de RAM instalada no seu computador for insuficiente para todo o software em execução no sistema, o sistema operacional trocará os dados que não estão sendo usados atualmente da RAM para o disco rígido, mantendo o que é necessário atualmente na RAM. Quando os dados trocados da RAM são necessários, o sistema operacional move-o de volta do disco rígido para a RAM. Esse processo é chamado de paging e pode ser extremamente lento, pois a RAM é várias vezes mais rápida para acessos de dados aleatórios do que os discos rígidos, portanto, se você estiver ficando sem memória física, o sistema ficará significativamente mais lento que o normal, com muito disco atividade.

É por isso que adicionar RAM ao seu computador pode aumentar o desempenho, especialmente se o sistema tiver 2 GB ou menos de memória. Quantidades muito grandes de RAM (> 8 GB) geralmente têm benefício limitado, a menos que você esteja executando vários programas grandes ou máquinas virtuais de cada vez ou tenha cargas de trabalho com muitos discos, onde a memória extra pode ser usada para acelerar acessos a quantidades maiores de dados de cada vez.

Para saber mais, consulte o artigo da Wikipedia sobre a "hierarquia de memória" .

    
por 06.01.2013 / 22:33

Tags