quinta-feira, 26 de maio de 2022

AINDA SOBRE APLICATIVOS, MEMÓRIA RAM E TASK KILLERS

PARA O TRIUNFO DO MAL, BASTA QUE OS BONS FIQUEM DE BRAÇOS CRUZADOS.

Computadores integram memórias de diversas tecnologias em quantidades variáveis, mas sempre expressas em múltiplos do byte. Assim, é comum as pessoas confundirem a RAM (memória física ou primária) com o HDD/SSD (memória de massa, ou secundária, ou ainda "armazenamento") do sistema. 

 

A título de contextualização, relembro que o bit (de “BInary digiT”) é a menor unidade de informação manipulada pelo computador. Oito bits formam um byte; 1 kB (quilobyte) equivale a 1024 bytes (ou meia página de texto); 1024 kB, a um megabyte (espaço suficiente para armazenar um quinto da obra de Shakespeare). Um gigabyte corresponde a 1024 MB (espaço suficiente para gravar um filme de uma hora de duração); 1.000 GB formam 1 terabyte (15 terabytes são suficientes para digitalizar toda a biblioteca do congresso dos EUA); 1024 TB perfazem 1 Petabyte (1/5 do conteúdo de todas as cartas distribuídas pelo correio norte-americano), e assim por diante. 

 

A RAM (de Random Access Memory) é a memória física (ou primária) do computador. Isso vale para desktops, notebooks, smartphones e tablets. É nela que que o software é carregado e os dados, processados. Do sistema operacional a um simples documento de texto, tudo é executado na RAM. Nenhum dispositivo computacional atual, seja uma simples calculadora de bolso ou um gigantesco mainframe corporativo, funciona sem uma quantidade (mínima que seja) dessa memória volátil e de acesso aleatório.  

 

Nos PCs, a memória de massa (ou secundária) é provida tradicionalmente por um disco rígido (os modelos mais recentes contam com drives de memória sólida). É nessa memória (e a partir dela) que os dados são carregados na RAM — claro que não integralmente, ou não haveria espaço que bastasse, mas divididos em páginas (pedaços do mesmo tamanho) ou segmentos (pedaços de tamanhos diferentes). Para saber mais, leia esta sequência de postagens.

 

Costuma-se dizer que um computador é tão rápido quanto seu componente mais lento. No âmbito das memórias, a secundária é milhares de vezes mais lenta que primária, que por sua vez é muito mais lenta que o processador. Assim, uma máquina que dispuser de 8 GB de RAM e de um processador mediano será “mais rápida” do que outra que conte com um chip de topo de linha e míseros 2 GB de RAM. A questão é que a RAM é volátil, daí a necessidade de haver um dispositivo capaz de armazenar o software de forma “persistente”, ou seja, que retenha os dados mesmo depois que o computador for desligado.

 

Em tese, quanto mais memória física o computador tiver, mais "rápido" ele será. Para agilizar ainda mais o trabalho do processador, o cache de memória (ou memória cache, ou simplesmente cache), representado por uma pequena quantidade de memória RAM estática e ultraveloz (e bem mais cara do que a RAM convencional), armazena as informações e instruções que são acessadas mais frequentemente e outros dados que o sistema “prevê” que o processador terá de acessar em seguida.

 

O conceito de memória cache remonta aos tempo dos jurássicos 386, quando se constatou que a lentidão da RAM obrigava a CPU (isto é, o processador; a caixa que abriga os componentes internos do computador se chama "case" ou "gabinete") a desperdiçar preciosos ciclos de clock aguardando a liberação dos dados necessários à execução das tarefas. 


Fica mais fácil de entender se compararmos o computador a uma orquestra e o processador ao maestro. Para uma boa apresentação, não basta um regente competente. Na verdade, músicos qualificados, afinados e entrosados podem até mascarar as limitações de um maestro chinfrim, mas não o contrário. Guardadas as devidas proporções, isso se aplica à performance do computador, que depende de uma configuração equilibrada, com componentes adequados e bem dimensionados.

 

Embora pareça um contrassenso, cabe ao gerenciamento de memória do sistema operacional manter o uso da memória o mais alto possível. Primeiro, porque memória é hardware — a gente paga por ela quando compra o aparelho, e não utilizar aquilo pelo que se pagou é desperdício de dinheiro. Segundo, porque, como dito linhas acima, a RAM é muito mais rápida que a memória secundária, e mantê-la ocupada é aproveitar melhor o dinheiro que investimos na compra do aparelho. 

 

Uma CPU de ponta será subutilizada se contar com pouca memória RAM. Para evitar mensagens de “memória insuficiente” (comuns na pré-história da computação pessoal, quando éramos obrigados a encerrar um ou mais aplicativos para que outros pudessem ser carregados e executados), a Intel criou a memória virtual (ou “swap file”, como alguns preferem dizer), que consiste num espaço alocado na memória de massa para o qual o Gerenciador de Memória Virtual (VMM) transfere as seções que não são prioritárias naquele momento e de onde as traz de volta quando necessário.

 

Convém ter em mente que a memória virtual é apenas um paliativo, não um substituto eficiente da RAM, uma vez que (como também já foi mencionado) a memória de massa, mesmo quando representada por um SSD, é muitas vezes mais lenta do que a memória física, e a constante troca de arquivos degrada consideravelmente o desempenho global do sistema.

 

Continua na próxima postagem.