sábado, 24 de fevereiro de 2024

O que o IBM PC já fez por nós?

O primeiro PC da IBM (modelo 5150) foi lançado no fim de 1981. A revista Byte o avaliou no início de 1982. Comparados aos micros de 8 bits, ele não tinha muito a oferecer.

Temos que considerar que memória era muito cara nessa época. 64KB de RAM custavam centenas de dólares. Então, não é surpreendente que o modelo básico tivesse apenas 16KB. A placa mãe poderia ser expandida até 64KB e depois disso, a máquina poderia ser levada até 256KB via uma placa num dos 5 slots.

5 slots até parecem bastantes, porque os micros de 8 bits em geral não tinham nenhum. Por outro lado, um deles já tinha que ser ocupado pela placa de vídeo. Então, eram 4 slots livres, na melhor das hipóteses. Instalar um drive de disquetes implicava instalar uma placa noutro slot.

O processador 8088 não era muito melhor que um Z80 ou um 6502. Apesar das CPUs de 8 bits só suportarem apenas 64KB de RAM, pouca gente tinha orçamento para mais que isso mesmo.

A configuração original não tinha drives de disquetes. Estes também eram muito caros nessa época, custando de US$300 até U$600. Então, o PC original, assim como os micros de 8 bits, tinha uma interface para fita cassete.

E também como os micros de 8 bits, o 5150 tinha um BASIC em ROM. Apenas uma vez testemunhei um PC com BASIC em ROM. Se o sistema não encontrasse um disco com sistema operacional, ele caía no BASIC. Era um BASIC da Microsoft. Até agora, o PC original não se distingue em nada dos micros de 8 bits, tanto que o BASIC era mais lento que um BASIC num Z80 a 4Mhz e muito mais lento que o BBC Basic rodando a 2MHz num 6502.

Duas características importantes eram evidentes: um teclado de qualidade (que poucos micros de 8 bits tinham) e 80 colunas já na configuração mais básica.

O preço de um PC completo, com drive de disquetes, 64KB de RAM e vídeo com 80 colunas, era muito parecido ao de um Apple II Plus com as mesmas características (~US$2.700).

Pode-se argumentar que o BBC B, lançado em dezembro de 1981 era melhor e até um pouco mais barato, mas ele estava restrito a 32KB de RAM e versões com 64KB ou mais só surgiram em 1985 (placas de expansão de memória eram oferecidas antes desse ano).

Em 1982, uma libra comprava ~US$1,66 e um BBC B, com monitor colorido, e um drive de disquetes custava cerca de £900, ou uns US$1500. Era um bom negócio, desde que se estivesse do lado certo do Atlântico. O BBC B já vinha de fábrica com suporte a 80 colunas e também tinha um modo texto (40x25) muito prático que só consumia 1KB da memória.

As comparações de memória RAM costumam esquecer que o PC precisava carregar o DOS na RAM, enquanto em micros de 8 bits a ROM podia habitar um espaço de endereços diferente da RAM. Mas vamos ignorar isso, porque cada máquina tinha uma arquitetura diferente.

O som do PC era pífio: apenas um canal que emitia uns ruídos irritantes.

Então o que tornava o PC 5150 interessante? Temos que pensar como um comprador comercial, não como um adolescente ávido por jogos. O PC oferecia as facilidades importantes para trabalhar com produtividade, num pacote completo. A quantidade de cores e o som não eram importantes para esse comprador, mas as 80 colunas, o teclado de qualidade, a possibilidade de expansão fácil, e a possibilidade de ir até 256KB de RAM eram importantes. Os usuários comerciais estavam acostumados ao sistema operacional CP/M (parecido com DOS) e 80 colunas eram comuns nessa plataforma.

Ele também oferecia a segurança de que não haveria qualquer possibilidade do seu filho se interessar por ele e tomar como refém o micro da firma.

Naquele tempo, a IBM não publicava informações sobre produtos que não estivessem prontos para serem vendidos. Logo, ninguém sabia se haveria outros modelos mais adiante. Comparando friamente as características do PC original com alguns micros da época, não era uma escolha óbvia, embora tampouco fosse uma escolha ruim.

O que o PC de 1981 oferecia eram algumas características importantes para aplicações comerciais. O que o PC de hoje oferece é uma plataforma aberta com grande concorrência de fornecedores. Essa possibilidade não demorou muito a aparecer e, dados os preços da IBM, era inevitável.

A minha teoria é a de que o PC só se tornou a escolha técnica indiscutível (não vamos considerar tamanho do mercado ou outros fatores) quando apareceu o 386, em 1985 (as coisas andavam muito rapidamente nos anos 1980). O primeiro PC com 386 foi lançado em 1986 pela Compaq; a IBM em 5 anos já tinha perdido a liderança da plataforma que ela mesma tinha criado. Nesse ponto, não havia mais computador doméstico que oferecesse negócio melhor.

quinta-feira, 1 de fevereiro de 2024

Experimentos com Compressão de Textos

Inspirado num artigo no Hacker News, resolvi fazer uns experimentos com textos.

Baixei o livro Amor de Perdição (Camilo Castelo Branco) do Projeto Gutenberg. Dizem que minha avó lia escondida esta lasciva obra quando ainda andava de pés descalços pelos campos de Alquerubim.

O arquivo está codificado em UTF-8 e ocupa 310KB. Usarei números aproximados apenas.

O gzip reduz o arquivo a 121KB. Com minúsculas apenas, o gzip o reduz a 118KB. Miseros 3KB que representam uma pífia economia de 2,5%.

E se eu quiser guardar as maiúsculas para restaurar o arquivo? O problema é que só as maiúsculas ocupam quase 7KB.

Mesmo ante o fracasso iminente, prossegui com meu plano insensato e pouco elaborado: troquei todas as maiúsculas por traços baixos e coloquei todas as maísculas no início do arquivo. O plano era trocar um a um os traços baixos pelas letras do cabeçalho após a descompressão.

O resultado final comprimido ocupa 124KB. Logo, não há vantagem nenhuma nesse tipo de codificação.

Usar apenas uma caixa (alta ou baixa, tanto faz) realmente economiza espaço, embora não seja surpreendente. Encontrar uma maneira de restaurar o texto original é um pouco mais complicado.

Experimentei também colocar as maiúsculas no fim, mas como minúsculas; afinal, terei a certeza de que tudo o que estiver na última linha tem que ser caixa alta. O resultado supreendeu: 122KB compactados. O arquivo ficou apenas 1KB maior que o original compactado.

Talvez ainda haja algo a fazer com os espaços.