terça-feira, 24 de novembro de 2020

BUGS, SOFTWARE COMO SERVIÇO, 32-BIT OU 64-BIT, EIS A QUESTÃO (PARTE VII)

DE PROMESSAS E BOAS INTENÇÕES ESTÁ O INFERNO CHEIO.

Quando se vai escolher um computador ou fazer um upgrade de sistema operacional, por exemplo, é importante ter em mente que processadores x86 (32-bit) rodam somente sistemas e aplicativos de 32 bits, enquanto modelos com chip x64 (64-bit) rodam tanto sistemas e apps de 32 bits quanto de 64 bits.

A arquitetura x86 recebeu esse “nome” porque os primeiros chips dessa “família” eram identificados por números terminados em “86” — como 8086, 80186, 80286, 80386 e 80486 (a partir daí a Intel passou a usar o nome Pentium). Já a relação entre x64 e 64-bit é óbvia e, portanto, dispensa explicações. 

Até o começo deste século, o Windows só era disponibilizado na versão x86 — mesmo porque não existiam chips de 64-bit. Quando a AMD (arquirrival da Intel no segmento de processadores) desenvolveu os primeiros modelos baseados na nova plataforma, a Microsoft lançou o Windows XP 64-bit Edition.

Cada uma dessas plataformas tem suas características, mas as diferenças mais importantes, por assim dizer, têm a ver com o “comprimento da palavra” (sequência de bits de tamanho fixo que a CPU é capaz de processar) e com o tamanho dos “registradores” (memória temporária usada pelo chip no processamento das instruções), já que esses parâmetros definem a quantidade de memória RAM que o chip é capaz de endereçar e o sistema operacional, de “enxergar”.  

Tomando por base o Win 10, a versão Home x86 endereça “apenas” 4 GB de RAM (na prática, esse valor fica entre 2,8 e 3,5 GB). A versão Home x64 endereça 128 GB e o Win 10 PRO x64, respeitáveis 512 GB. Acha muito? Então saiba que o Windows Server 2012 Datacenter suporta inacreditáveis 4 TB (Terabytes). Assim, é fundamental ter essas limitações em mente quando se vai fazer um upgrade de RAM, já que instalar mais de 4 GB de memória física nas edições de 32 bits é jogar dinheiro fora.

Observação: Para saber se seu Windows é 32-bit ou 64-bit, clique em Iniciar > Configurações > Sistema > Sobre e, em Especificações do Windows, veja o que consta em Tipo de Sistema. Se quiser informações adicionais sobre o processador e a configuração de hardware, baixe e instale o freeware CpuZ.

Computadores efetuam cálculos e processam informações utilizando o código binário, até porque é mais fácil trabalhar com dois símbolos (0 e 1) do que com dez. Esses dois símbolos bastam para representar um circuito aberto, no qual o fluxo de energia está interrompido, ou um circuito fechado, através do qual a corrente passa. Como não é possível assumir os dois estados simultaneamente, o “valor” do bit ou é 0 ou é 1. No âmbito da programação, o zero (0) corresponde a false (falso) e o um (1), a true (verdadeiro). 

bit (forma reduzida binary digit) é menor unidade de informação que um processador é capaz de manipular, e corresponde a apenas dois estados opostos — fechado/aberto, desligado/ligado, falso/verdadeiro, etc. — que, por convenção, são representados pelos algarismos 0 e 1 (para mais detalhes, clique aqui).

Se essa característica dos dispositivos computacionais nos causa estranheza é porque estamos habituados com a base decimal. Mas podemos escrever qualquer número inteiro usando a base binária, considerando que cada 0 e cada 1 representam o número 2 elevado à potência “x” — o primeiro, 20; o segundo, 21, e assim por diante. O computador "vê" uma sequência de dígitos, multiplica cada potência de 2 (da esquerda para direita) por 0 ou 1 e chega a um número. A sequência 10, por exemplo, tem dois bits e equivale a 0x20 + 1x21. A sequência 111 tem três bits e equivale a 1x20 + 1x21 + 1x22. A sequência 1001 tem quatro bits e equivale ao número (1x20 + 0x21 + 0x22 + 1x23), e por aí vai.

CPUs de 16 bits, quando eram fabricadas e comercializadas, limitavam-se a operar com 65.539 números diferentes (216 ). Como todos esses endereços apontam para a RAM — memória física e principal ferramenta do processador, onde absolutamente tudo, do sistema operacional a um simples arquivo de texto, é carregado e processado —, elas só conseguiam "enxergar" míseros 64 MB de RAM. Chips de 32-bit operam com 232 (4.294.967.295), e as de 64-bit, com 264 (18.446.744.073.309.551.616), ou seja, têm capacidades muito superiores de endereçar memória.   

Resumo da ópera: Sistemas x86 rodam melhor em máquinas com CPU de arquitetura parelha, conquanto possam ser instalados em PCs com processadores x64. Já as edições x64 do Windows (e aplicativos baseados nessa arquitetura) rodam exclusivamente em máquinas com CPU de 64 bits. Se o seu perfil de usuário for mais voltado à execução de tarefas básicas, como a utilização de processadores de texto, planilha de cálculos e navegadores de Internet, o Windows x86 (ou outro sistema operacional baseando nessa arquitetura) estará de bom tamanho, pois o processador não terá de realizar operações complexas para processar dados e instruções provenientes de tais tipos de softwares. Aplicações mais complexas exigem que o hardware trabalhe com operações que envolvem números maiores e cálculos mais elaborados. Num sistema de 32 bits, a CPU teria que dividir as suas operações em diversas partes para conseguir processar as informações e instruções destes programas, o que comprometeria significativamente o desempenho global do computador.

Por hoje é só. Volto ao assunto numa próxima postagem.