Os Primeiros Computadores Uma Breve Viagem Pela Evolução Da Informática (Morimoto, Carlos E.)
Os Primeiros Computadores Uma Breve Viagem Pela Evolução Da Informática (Morimoto, Carlos E.)
Os Primeiros Computadores Uma Breve Viagem Pela Evolução Da Informática (Morimoto, Carlos E.)
A era analógica
Embora os eletrônicos sejam uma tecnologia relativamente recente, com
menos de um século, a história dos computadores começou muito antes.
Em 1901 um estranho artefato de bronze datado de 100 A.C. foi encontrado
no meio dos destroços de um antigo navio romano que naufragou próximo à
costa da Grécia. Ele era um pouco maior que uma caixa de sapatos e
aparentava ter partes móveis, mas a oxidação transformou tudo em uma peça
só, o que tornou a identificação quase impossível:
Em 2006 foi descoberto que ele era, na verdade, um computador mecânico,
destinado a calcular o movimento dos astros e prever eclipses, cujas
engrenagens competiam em sofisticação com o trabalho de relojoeiros da era
moderna.
Até mesmo os Astecas (que sequer usavam ferramentas de metal)
desenvolveram máquinas de calcular destinadas a calcular impostos, que
eram baseadas em cordas e polias. Infelizmente não se sabe muito sobre o
funcionamento delas, já que foram todas destruídas pelos colonizadores
espanhóis, que viriam a entender a utilidade das calculadoras apenas alguns
séculos depois...
No século XIX, o matemático inglês Charles Babbage trabalhou na
"Analytical Engine", que, caso tivesse sido realmente construída, teria sido o
primeiro computador moderno. Embora fosse inteiramente baseada no uso
de engrenagens, ela seria alimentada através de cartões perfurados (que
viriam a ser a mídia básica de armazenamento de dados durante as décadas
de 50, 60 e 70), teria memória para 1000 números de 50 dígitos decimais
cada um (equivalente a pouco mais de 20 KB no total) e seria capaz de
executar operações matemáticas com uma complexidade bem maior que a
dos primeiros computadores digitais (embora em uma velocidade mais
baixa, devido à natureza mecânica). Como se não bastasse, os resultados
seriam impressos em papel (usando um sistema similar ao das máquinas de
datilografar), antecipando o uso das impressoras.
É bem provável que a Analytical Engine pudesse ter sido realmente
construída usando tecnologia da época. Entretanto, o custo seria enorme e o
governo Inglês (a única organização com poder suficiente para financiar o
desenvolvimento na época) não se mostrou muito interessado no projeto.
Entretanto, uma versão mais simples, a "Difference Engine" foi construída
em 1991 por uma equipe do Museu de Londres, que se baseou nos projetos
de Babbage. Apesar do atraso de mais de um século, ela funcionou como
esperado:
O ENIAC
Os primeiro computador digital programável foi o Colossus Mark 1, usado
pelos ingleses durante a segunda guerra para decodificar mensagens secretas
dos alemães. O Mark 1 foi seguido pelo Colossus Mark 2, que foi o primeiro
computador produzido em série, com 10 unidades no total.
O grande problema foi que o Colossus era um projeto secreto. Os inventores
não receberam crédito e o design não foi aproveitado em outros
computadores, o que tornou o Colossus uma página isolada na história, que
só se tornou pública na década de 70.
Por outro lado, os americanos foram muito mais liberais com relação ao
anúncio e compartilhamento de informações, o que fez com que o ENIAC
(Electronic Numerical Integrator Analyzer and Computer) se tornasse o
pontapé inicial na era dos computadores digitais.
O ENIAC foi construído entre 1943 e 1945 e entrou oficialmente em
operação em julho de 1946. Ele era composto por nada menos do que 17.468
válvulas, além de 1.500 relés e um grande número de capacitores, resistores
e outros componentes.
No total, ele pesava 30 toneladas e era tão volumoso que ocupava um grande
galpão. Outro grave problema era o consumo elétrico: um PC típico atual,
com um monitor LCD, consome cerca de 100 watts de energia, enquanto o
ENIAC consumia incríveis 200 kilowatts. Construir esse monstro custou ao
exército Americano 468.000 dólares da época, que correspondem a pouco
mais de US$ 10 milhões em valores corrigidos.
Porém, apesar do tamanho, o poder de processamento do ENIAC é
insignificante para os padrões atuais, suficiente para processar apenas 5.000
adições, 357 multiplicações ou 38 divisões por segundo. O volume de
processamento do ENIAC foi superado pelas calculadoras portáteis ainda na
década de 70 e, hoje em dia, mesmo as calculadoras de bolso são bem mais
poderosas do que ele.
A ideia era construir um computador para quebrar códigos de comunicação e
realizar vários tipos de cálculos de artilharia para ajudar as tropas aliadas
durante a Segunda Guerra Mundial. Porém, o ENIAC acabou sendo
finalizado depois do final da guerra e foi usado nos primeiros anos da Guerra
Fria, contribuindo, por exemplo, no projeto da bomba de hidrogênio.
ENIAC (foto do acervo do Exército dos EUA)
Se você acha que programar em C ou em Assembly é complicado, imagine
como era a vida dos programadores daquela época. A programação do
ENIAC era feita através de 6.000 chaves manuais e, ao invés de ser feita
através de teclas, toda a entrada de dados era feita através de cartões de
cartolina perfurados, que armazenavam poucas operações cada um.
Uma equipe preparava os cartões, incluindo as operações a serem realizadas,
formando uma pilha, outra ia trocando os cartões no leitor do ENIAC, e uma
terceira "traduzia" os resultados, também impressos em cartões.
O ENIAC também possuía sérios problemas de manutenção, já que as
válvulas se queimavam com frequência, fazendo com que ele passasse boa
parte do tempo inoperante. Boa parte das queimas ocorriam durante a
ativação e desativação do equipamento (quando as válvulas sofriam um
grande stress devido à mudança de temperatura) por isso os operadores logo
decidiram mantê-lo ligado continuamente, apesar do enorme gasto de
energia.
Válvulas
Vendo essa foto, é fácil imaginar por que as válvulas eram tão problemáticas
e caras: elas eram complexas demais. Mesmo assim, na época, as válvulas
eram o que existia de mais avançado, permitindo que computadores como o
ENIAC executassem, em poucos segundos, cálculos que um matemático
equipado com uma calculadora mecânica demorava horas para executar.
O transistor
Durante a década de 40 e início da de 50, a maior parte da indústria
continuou trabalhando no aperfeiçoamento das válvulas, obtendo modelos
menores e mais confiáveis. Porém, vários pesquisadores, começaram a
procurar alternativas menos problemáticas.
Muitas dessas pesquisas tinham como objetivo o estudo de novos materiais,
tanto condutores quanto isolantes. Os pesquisadores começaram então a
descobrir que alguns materiais não se enquadravam nem em um grupo nem
em outro, pois, de acordo com a circunstância, podiam atuar tanto como
isolantes quanto como condutores, formando uma espécie de grupo
intermediário que foi logo apelidado de grupo dos semicondutores.
Haviam encontrado a chave para desenvolver o transistor. O primeiro
protótipo surgiu em 16 de dezembro de 1947, consistindo em um pequeno
bloco de germânio (que na época era junto com o silício o semicondutor
mais pesquisado) e três filamentos de ouro. Um filamento era o polo
positivo, o outro, o polo negativo, enquanto o terceiro tinha a função de
controle:
O primeiro transistor
Aplicando uma carga elétrica apenas no polo positivo, nada acontecia: o
germânio atuava como um isolante, bloqueando a corrente. Porém, quando
era aplicada tensão também no filamento de controle, o bloco de germânio
se tornava condutor e a carga elétrica passava a fluir para o polo negativo.
Haviam criado um dispositivo que substituía a válvula, que não possuía
partes móveis, gastava uma fração da eletricidade e, ao mesmo tempo, era
muito mais rápido.
O primeiro transistor era muito grande, mas não demorou muito para que
esse modelo inicial fosse aperfeiçoado. Durante a década de 1950, o
transistor foi aperfeiçoado e passou a gradualmente dominar a indústria,
substituindo rapidamente as problemáticas válvulas. Os modelos foram
diminuindo de tamanho, caindo de preço e tornando-se mais rápidos. Alguns
transistores da época podiam operar a até 100 MHz. Naturalmente, essa era a
frequência que podia ser alcançada por um transistor sozinho; nos
computadores da época a frequência de operação era muito menor, já que em
cada ciclo de processamento o sinal precisa passar por vários transistores.
Entretanto, o grande salto foi a substituição do germânio pelo silício. Isso
permitiu miniaturizar ainda mais os transistores e baixar seu custo de
produção. Os primeiros transistores de junção comerciais (já similares aos
atuais) foram produzidos a partir de 1960 pela Crystalonics, decretando o
final da era das válvulas.
A ideia central no uso do silício para construir transistores é que,
adicionando certas substâncias em pequenas quantidades, é possível alterar
as propriedades elétricas do silício. As primeiras experiências usavam
fósforo e boro, que transformavam o silício em condutor por cargas
negativas ou em condutor por cargas positivas, dependendo de qual dos dois
materiais fosse usado. Essas substâncias adicionadas ao silício são chamadas
de impurezas, e o silício "contaminado" por elas é chamado de silício
dopado.
O funcionamento de um transistor é bastante simples, quase elementar. É
como naquele velho ditado "as melhores invenções são as mais simples". As
válvulas eram muito mais complexas que os transistores e, mesmo assim,
foram rapidamente substituídas por eles.
Um transistor é composto basicamente por três filamentos, chamados de
base, emissor e coletor. O emissor é o polo positivo, o coletor, o polo
negativo, enquanto a base é quem controla o estado do transistor, que como
vimos, pode estar ligado ou desligado. Veja como esses três componentes
são agrupados em um transistor moderno:
transistor
Quando o transistor está desligado, não existe carga elétrica na base, por
isso, não existe corrente elétrica entre o emissor e o coletor. Quando é
aplicada uma certa tensão na base, o circuito é fechado e é estabelecida a
corrente entre o emissor e o receptor.
Cada transistor funciona como uma espécie de interruptor, que pode estar
ligado ou desligado, como uma torneira que pode estar aberta ou fechada, ou
mesmo como uma válvula. A diferença é que o transistor não tem partes
móveis como uma torneira e é muito menor, mais barato, mais durável e
muito mais rápido que uma válvula.
A mudança de estado de um transistor é feita através de uma corrente
elétrica. Cada mudança de estado pode então comandar a mudança de estado
de vários outros transistores ligados ao primeiro, permitindo o
processamento de dados. Num transistor, essa mudança de estado pode ser
feita bilhões de vezes por segundo, porém, a cada mudança de estado é
consumida uma certa quantidade de eletricidade, que é transformada em
calor. É por isso que quanto mais rápidos tornam-se os processadores, mais
eles aquecem e mais energia consomem.
Um 386, por exemplo, consumia pouco mais de 1 watt de energia e podia
funcionar sem nenhum tipo de resfriamento. Um 486DX-4 100 consumia
cerca de 5 watts e precisava de um cooler simples, enquanto um Athlon X2
chegava a consumir 89 watts de energia (no X2 5600+) e precisa de, no
mínimo, um bom cooler para funcionar bem. Em compensação, a versão
mais rápida do 386 operava a apenas 40 MHz, enquanto o Pentium 4 foi o
primeiro a superar a barreira dos 3.5 GHz.
Os primeiros chips
O salto final aconteceu quando descobriu-se que era possível construir vários
transistores sobre o mesmo wafer de silício. Isso permitiu diminuir de forma
gritante o custo e tamanho dos computadores. Entramos então na era do
microchip.
O primeiro microchip comercial foi lançado pela Intel em 1971 e chamava-
se 4004. Como o nome sugere, ele era um processador que utilizava um
barramento de dados de apenas 4 bits, incrivelmente lento para os padrões
atuais.
Apesar disso, ele processava internamente instruções de 8 bits, o que
permitia que ele realizasse operações aritméticas relativamente complexas,
apesar do baixo desempenho. A frequência máxima de operação do 4004 era
de apenas 740 kHz (ou seja, apenas 740 mil ciclos por segundo) e cada
instrução demorava 8 ciclos para ser executada (3 ciclos para carregar os
endereços, 2 ciclos para carregar a instrução e mais 3 ciclos para finalmente
processá-la), o que fazia com que o 4004 não fosse capaz de processar mais
do que 92.500 instruções por segundo.
Em compensação, ele era um chip bastante simples, que era composto por
apenas 2300 transistores. Pode parecer piada que cada um deles media 10
micra (10.000 nanômetros, contra os 32 ou 45 nanômetros nos processadores
atuais), mas na época ele foi um grande feito de engenharia:
Intel 4004
Embora fosse muito limitado, ele foi muito usado em calculadoras, área em
que representou uma pequena revolução. Ele foi também usado em diversos
equipamentos científicos e até mesmo na sonda Pioneer 10 lançada pela
NASA em 1972. Ela foi a primeira a explorar o sistema solar e continuou a
se comunicar com a Terra até 1998, quando a distância se tornou grande
demais para que os sinais enviados pela sonda fossem captados.
Mais importante do que todos os feitos do pequeno chip, o sucesso do 4004
mostrou a outras empresas que os microchips eram viáveis, criando uma
verdadeira corrida evolucionária, em busca de processadores mais rápidos e
avançados, que potencializou todo o avanço tecnológico que tivemos desde
então.
Em 1972 surgiu o Intel 8008, o primeiro processador de 8 bits e, em 1974,
foi lançado o Intel 8080, antecessor do 8088, que foi o processador usado
nos primeiros PCs. Em 1977 a AMD passou a vender um clone do 8080,
inaugurando a disputa Intel x AMD, que continua até os dias de hoje.
O 8080 da AMD
O sistema binário
Hardware x software
Os computadores são muito bons em armazenar informações e fazer
cálculos, mas não são capazes de tomar decisões sozinhos. Sempre existe um
ser humano orientando o computador e dizendo a ele o que fazer a cada
passo. Seja você mesmo, teclando e usando o mouse, ou, num nível mais
baixo, o programador que escreveu os programas que você está usando.
Chegamos então aos softwares, gigantescas cadeias de instruções que
permitem que os computadores façam coisas úteis. É aí que entra o sistema
operacional e, depois dele, os programas que usamos no dia a dia.
Um bom sistema operacional é invisível. A função dele é detectar e utilizar o
hardware da máquina de forma eficiente, fornecendo uma base estável sobre
a qual os programas que utilizamos no cotidiano possam ser usados. Como
diz Linus Torvalds, as pessoas não usam o sistema operacional, usam os
programas instalados. Quando você se lembra que está usando um sistema
operacional, é sinal de que alguma coisa não está funcionando como deveria.
O sistema operacional permite que o programador se concentre em adicionar
funções úteis, sem ficar se preocupando com que tipo de placa de vídeo ou
placa de som você tem. O aplicativo diz que quer mostrar uma janela na tela
e ponto; o modelo de placa de vídeo que está instalado e quais comandos são
necessários para mostrar a janela, são problema do sistema operacional.
Para acessar a placa de vídeo, ou qualquer outro componente instalado, o
sistema operacional precisa de um driver, que é um pequeno aplicativo que
trabalha como um intérprete, permitindo que o sistema converse com o
dispositivo. Cada placa de vídeo ou som possui um conjunto próprio de
recursos e comandos que permitem usá-los. O driver converte esses
diferentes comandos em comandos padrão, que são entendidos pelo sistema
operacional.
É comum que as várias camadas de softwares que compõem um sistema
atual sejam representadas através de uma pirâmide, cuja base é representada
pelo BIOS da placa-mãe, kernel do sistema operacional e drivers, e a parte
mais alta é representada pelos aplicativos gráficos, com os demais
componentes do sistema posicionados nas camadas intermediárias.
Isso deu origem à classificação de linguagens e softwares entre "baixo nível"
(os que estão mais diretamente relacionados ao hardware, como o Assembly
e os drivers de dispositivo) e "alto nível" (linguagens gráficas ou de scripts,
como o Visual Basic .Net ou o Ruby e aplicativos gráficos como o Firefox
ou o OpenOffice).
Embora as duas coisas sejam igualmente importantes, existe uma distinção
entre o "hardware", que inclui todos os componentes físicos, como o
processador, memória, placa-mãe, etc. e o "software", que inclui o sistema
operacional, os programas e todas as informações armazenadas. Como diz a
sabedoria popular, "hardware é o que você chuta, e software é o que você
xinga". :)
Atari 800
Originalmente, o sistema vinha apenas com a entrada para os cartuchos, com
o sistema operacional ou jogos, mas era possível adquirir separadamente
uma unidade de disquetes, que o transformavam num computador completo.
Não existiram muitos programas para o Atari, já que o foco foram sempre os
jogos. A principal função do Atari como computador era desenvolver
programas em BASIC, por isso seu uso em escolas.
O surgimento do PC
Depois dos dinossauros da primeira metade da década de 70, os
computadores pessoais finalmente começaram a atingir um nível de
desenvolvimento suficiente para permitir o uso de aplicativos sérios.
Surgiram então os primeiros aplicativos de processamento de texto, planilhas
e até mesmo programas de editoração e desenho, que aproveitavam ao
máximo os recursos oferecidos pelas máquinas de 8 bits da época. Esse
mercado crescente chamou a atenção da IBM, o que levou ao início da era
PC.
A IBM de 1980 era uma empresa especializada em mainframes e terminais
burros. Entretanto, percebendo a crescente demanda por computadores
pessoais, decidiram criar um pequeno grupo (que originalmente possuía
apenas 12 desenvolvedores) para desenvolver um computador pessoal, sem
grandes pretensões.
O PC era considerado um projeto menor dentro da IBM, apenas uma
experiência para testar a demanda do mercado. O projeto chegou a ser
marginalizado dentro da empresa, pois muitos executivos acreditavam que o
IBM PC poderia concorrer com outros produtos do portfólio da IBM,
canibalizando as vendas.
Depois de quase um ano de desenvolvimento, o projeto rendeu frutos e o
primeiro PC foi lançado em 12 de agosto de 1981:
O PC original
Para cortar custos e acelerar o desenvolvimento, a equipe decidiu que usaria
apenas componentes padronizados, que pudessem ser encontrados
facilmente no mercado. O processador escolhido foi o Intel 8088, uma
versão econômica do 8086, que havia sido lançado pela Intel em 1978.
Quando a IBM estava desenvolvendo seu computador pessoal, chegou a ser
cogitado o uso do 8086, mas acabou sendo escolhido o 8088 devido à
questão do custo.
Tanto o 8086 quanto o 8088 são processadores de 16 bits, considerados
bastante avançados para a época. Um processador de 16 bits é capaz de
endereçar mais memória (até 64 KB de memória de cada vez) e processar
instruções muito mais complexas que os processadores de 8 bits usados até
então.
A grande diferença entre os dois é que o 8086 é um processador de 16 bits
"puro", enquanto o 8088 se comunica com os demais periféricos usando um
barramento de 8 bits. Isso naturalmente prejudicava o desempenho, mas
trouxe uma vantagem importante: a possibilidade de usar os componentes de
8 bits usados em outros computadores da época, que eram muito mais
populares e baratos.
Essa arquitetura permitiu ao primeiro PC competir na mesma faixa de preço
dos computadores de 8 bits mais populares e, ao mesmo tempo, oferecer um
desempenho bem superior devido ao seu processador de 16 bits. O 8088 é
capaz de acessar até 1 MB de memória RAM (embora o PC original
suportasse apenas 256 KB, devido a limitações por parte da placa-mãe) e
funciona a 4.77 MHz, oferecendo um desempenho mais do que respeitável
para os padrões da época.
Para suportar o 1 MB de memória (mesmo sendo um processador de 16
bits), o 8088 usava a segmentação de endereços, usando 4 bits adicionais de
endereçamento para dividir a memória em 16 blocos de 64 KB cada um.
O grande problema com a segmentação é que o processador pode acessar um
único bloco de cada vez, constantemente chaveando entre eles. Se um
aplicativo está lendo dados no bloco 1 e subitamente precisa de informações
armazenadas no bloco 2, o processador precisa limpar todos os endereços
relativos ao bloco 1 e carregar os endereços do bloco 2. Neste momento, o
processador perde o acesso ao bloco 1 e passa a enxergar apenas o segundo
bloco. Quando novamente for preciso ler ou gravar dados no bloco 1 (ou
qualquer outro bloco), novamente são carregados os endereços relativos a
ele, e o acesso ao bloco 2 é perdido. Como pode imaginar, esse sistema
resultava em uma grande penalidade do ponto de vista do desempenho.
Vendo por esse lado o PC original parecia realmente muito primitivo. Par a
colocar as coisas em perspectiva, é importante lembrar que o principal
concorrente do IBM PC na época de lançamento era o Apple II que, embora
fosse mais barato e contasse com mais softwares disponíveis, usava um
processador de 8 bits operando a apenas 1 MHz, com 4 KB de memória
RAM.
Entretanto, o aspecto técnico não foi o determinante para o sucesso do PC.
Ele era um bom computador para a época, mas era caro e não tinha nada que
os concorrentes não pudessem usar em seus produtos. Ele tinha tudo para ser
apenas mais um no mercado, se não fosse um diferencial importante: a
arquitetura aberta.
Diferente de outros computadores da época, qualquer fabricante podia
desenvolver e vender acessórios para o PC, sem pagar royalties ou fazer
acordos de licenciamento. Como todos os componentes podiam ser
encontrados no mercado, era possível também desenvolver clones,
computadores compatíveis com o PC, fabricados por outras empresas. Isso
lentamente fez com que toda a indústria passasse a orbitar em torno do PC, o
que levou a um crescimento assombroso da plataforma.
Voltando ao tema, o PC original tinha, em sua versão mais simples, apenas
16 KB de memória RAM, com direito apenas ao gabinete e teclado. A partir
daí, tudo era opcional, incluindo o monitor (você podia usar uma TV,
embora a qualidade da imagem fosse ruim), os drives de disquete e HD.
Também estava disponível um conector para um gravador de fitas K7
(localizado ao lado do conector para o teclado), mas ele nunca foi muito
usado e desapareceu a partir do XT.
Na configuração básica, o PC custava "apenas" 1.564 dólares da época, mas
incluindo mais 48 KB de memória, dois drives de disquete e um monitor
mono de 12", o preço chegava facilmente a 2.500 dólares, que equivalem a
mais de 7.000 dólares em valores atuais.
Na época, os HDs ainda eram um componente caro e exótico. Em 1981, um
Seagate ST-506 (o modelo mais popular até então) custava mais de mil
dólares (da época) e tinha apenas 5 MB de capacidade.
Este HD da foto a seguir é um ST-225 (também da Seagate), um modelo de
20 MB, lançado em 1984, que foi muito usado nos micros 286. Esses
primeiros modelos ainda utilizavam motores de passo para mover as cabeças
de leitura (como nos drives de disquete), por isso os problemas eram
comuns:
Seagate ST-225, de 20 MB
Ao usar um PC sem HD, o sistema operacional e todos os programas eram
carregados a partir de disquetes de 5¼". Inicialmente eram usados disquetes
de 180 KB, mas eles foram logo substituídos por disquetes de 360 KB (onde
eram usadas as duas faces do disco) e, alguns anos mais tarde, por disquetes
de "alta densidade", com 1.2 MB. Os disquetes de de 3.5" com 1.44 MB, que
usamos hoje em dia, passaram a ser usados nos PCs apenas em 1987, com o
lançamento do IBM PS/2. Existiu ainda um padrão de disquetes de 2.8 MB,
lançado nos anos 90, que acabou não pegando.
Disquetes de 5¼
O PC original era monotarefa, de forma que para carregar outro programa,
você precisava primeiro encerrar o primeiro e trocar o disquete dentro do
drive. O segundo drive de disquetes era um item popular (e necessário), pois
os disquetes de 5¼" eram muito frágeis e a mídia se degradava com o tempo,
de forma que você precisava copiar os discos frequentemente.
Conforme foram sendo lançados PCs com mais memória RAM, surgiu o
"macete" de criar um ramdisk (um pedaço da memória RAM usado como se
fosse um HD) e usá-lo para copiar disquetes sem precisar de um segundo
drive. Também era comum aparecerem versões "capadas" dos principais
programas, com componentes e bibliotecas desativados ou removidos, de
forma a rodar nos PCs com menos memória RAM. Naquela época, ainda não
existia memória swap, de forma que se o PC não tivesse memória suficiente,
os programas simplesmente não rodavam.
O sistema operacional usado no PC original era o MS-DOS 1.0 (na época
ainda chamado de PC-DOS), que foi desenvolvido às pressas pela Microsoft
com base num sistema operacional mais simples, o QDOS, que foi por sua
vez comprado da Seattle Computers, uma pequena empresa desenvolvedora
de sistemas. Na verdade, a Microsoft foi a segunda opção da IBM, depois de
ter sua proposta de licença recusada pela Digital Research, que desenvolvia
versões do seu CP/M para várias arquiteturas diferentes.
Na época, a IBM acreditava que ganharia dinheiro vendendo as máquinas e
não vendendo sistemas operacionais e softwares, o que era considerado um
negócio menor, que acabou sendo dado de bandeja para a Microsoft.
Com o passar do tempo, os executivos da IBM se arrependeram
amargamente da decisão, pois a concorrência entre os diversos fabricantes
derrubou os preços e as margens de lucro dos PCs, enquanto a Microsoft
conseguiu atingir um quase monopólio do sistema operacional e, sem
concorrentes de peso, passou a trabalhar com margens de lucro cada vez
maiores.
Um fabricante de memórias, como a Micron, trabalha normalmente com
margens de lucro abaixo de 1%; conseguem ganhar dinheiro apenas por
venderem quantidades muito grandes. Um integrador como a Dell trabalha
com margens de 3 a 5% (e leva prejuízo às vezes, nas unidades que ficam
muito tempo em estoque ou não vendem), enquanto a Microsoft (mesmo
com toda a pirataria) trabalha com margens superiores a 80% vendendo o
Windows e Office: um negócio da China.
Hoje em dia, a IBM sequer fabrica PCs. Mesmo os famosos notebooks
Thinkpad são agora fabricados e vendidos pela Lenovo, uma empresa
Chinesa que comprou os direitos sobre a marca em 2000.
Voltando à história, dois anos depois foi lançado o PC XT , que apesar de
continuar usando o 8088 de 4.77 MHz, vinha bem mais incrementado, com
256 KB de RAM, disco rígido de 10 MB, monitor CGA e o MS-DOS 2.0.
O XT se tornou um computador bastante popular, rapidamente clonado por
outros fabricantes, que passaram a vender versões modificadas, com mais
memória, HDs de maior capacidade, monitores coloridos e até mesmo
versões com processadores da AMD, que vendia uma versão do 8088 capaz
de operar a 10 MHz. Ele chegou a ser até mesmo fabricado no Brasil,
durante a época da reserva de mercado.
Placa-mãe de um clone do PC XT, com um 8088 da AMD
O 286
Depois do XT, o próximo passo foi o PC AT , que foi o primeiro PC
baseado no Intel 286. Ele usava uma versão de 6 MHz do processador
(depois surgiram versões mais rápidas, de 8, 12 e até 16 MHz), HD de 10
MB, monitor EGA (640x350, com 64 cores) e já usava disquetes de 5¼" de
1.2 MB.
Como a memória RAM ainda era um item muito caro, existiam versões com
de 256 KB a 2 MB de RAM. Embora fosse extremamente raro usar mais de
2 MB, existia a possibilidade de instalar até 16 MB:
PC AT
Uma curiosidade é que o 286 foi lançado pela Intel em fevereiro de 1982,
apenas 6 meses depois do PC original. Entretanto, o projeto do AT demorou
para decolar, já que foi necessário migrar todo o projeto para o barramento
de 16 bits utilizado por ele e esperar pela queda nos preços dos
componentes, uma demora que foi acentuada pela burocracia e um longo
período de testes antes do lançamento.
Atualmente, o período de desenvolvimento dos periféricos é muito mais
curto. Quase sempre, quando um novo processador é lançado, placas-mãe
para ele são disponibilizadas quase que imediatamente, pois o
desenvolvimento é feito de forma simultânea, com a Intel e a AMD
disponibilizando as especificações e versões de desenvolvimento dos chips
para os fabricantes de placas vários meses antes.
Voltando ao PC AT, o 286 trouxe vários avanços sobre o 8088. Além de
incorporar novas instruções, ele passou a utilizar um barramento de 16 bits,
que resultou em um ganho considerável de desempenho e trouxe a
possibilidade de usar periféricos mais avançados, incluindo placas de vídeo
VGA e controladoras de disco mais rápidas.
Para manter compatibilidade com os periféricos de 8 bits usados no PC
original e no XT, a IBM desenvolveu os slots ISA de 16 bits, que permitem
usar tanto placas de 8 bits, quanto de 16 bits. As placas de 8 bits são menores
e usam apenas a primeira série de pinos do slot, enquanto as placas de 16
bits usam o slot completo. Devido à sua popularidade, o barramento ISA
continuou sendo usado por muito tempo. Em 2004 (20 anos depois do
lançamento do PC AT) ainda era possível encontrar algumas placas-mãe
novas com slots ISA, embora atualmente eles estejam extintos.
Apple Lisa
Embora não houvesse nada melhor no mercado, o Lisa acabou não
atingindo o sucesso esperado. No total, foram produzidas cerca de cem mil
unidades em dois anos, porém a maior parte delas foram vendidas com
grandes descontos, muitas vezes abaixo do preço de custo (como um lote de
5000 unidades vendido para a Sun em 1987, depois que o Lisa já havia sido
descontinuado). Como a Apple investiu aproximadamente US$ 150 milhões
no desenvolvimento do Lisa, a conta acabou ficando no vermelho.
Apesar disso, o desenvolvimento do Lisa serviu de base para o Macintosh,
um computador mais simples, lançado em 1984. Ao contrário do Lisa, ele
fez um grande sucesso, chegando a ameaçar o império dos PCs. A
configuração era similar à dos PCs da época, com um processador de 8
MHz, 128 KB de memória e um monitor de 9 polegadas. A grande arma do
Macintosh era o MacOS 1.0 (derivado do sistema operacional do Lisa,
porém otimizado para consumir muito menos memória), um sistema
inovador sob vários pontos de vista.
Ao contrário do MS-DOS, ele era inteiramente baseado no uso da interface
gráfica e mouse, o que o tornava muito mais fácil de ser operado. O MacOS
continuou evoluindo e incorporando novos recursos, mas sempre mantendo a
mesma ideia de interface amigável.
Windows 2.1
O Windows emplacou mesmo a partir da versão 3.11 (for Workgroups), que
foi também a primeira versão do Windows com suporte a compartilhamentos
de rede. Ele era relativamente leve do ponto de vista dos PCs da época (os
386 com 4 ou 8 MB de RAM já eram comuns), e suportava o uso de
memória swap, que permitia abrir vários aplicativos, mesmo que a memória
RAM se esgotasse. Na época, a base de aplicativos para o Windows já era
muito maior (os títulos mais usados eram o Word e o Excell, não muito
diferente do que temos em muitos desktops hoje em dia) e sempre existia a
opção de voltar para o MS-DOS quando alguma coisa dava errado.
Foi nesta época que os PCs começaram a recuperar o terreno perdido para os
Macintoshs da Apple. Embora fosse instável, o Windows 3.11 contava com
um grande número de aplicativos e os PCs eram mais baratos que os Macs.
Por estranho que possa parecer, o Windows 3.11 era ainda um sistema de 16
bits, que funcionava mais como uma interface gráfica para o MS-DOS do
que como um sistema operacional propriamente dito. Ao ligar o PC, o MS-
DOS era carregado e você precisava digitar "win" no prompt para carregar o
Windows. Naturalmente, era possível configurar o PC para carregar o
Windows por default, adicionando o comando no arquivo autoexec.bat, mas
muitos (possivelmente a maioria) preferiam chamá-lo manualmente, para ter
como arrumar as coisas pelo DOS caso o Windows passasse a travar durante
o carregamento.
Em agosto 1995 foi lançado o Windows 95, que marcou a transição da
plataforma para os 32 bits. Além de todas as melhorias na interface e da
nova API, o Windows 95 trouxe duas mudanças importantes, que eram o
suporte a multitarefa preemptiva e proteção de memória.
O Windows 3.11 usava um tipo primitivo de multitarefa, batizado de
multitarefa cooperativa. Nele, não é usada proteção de memória, não existe
multitarefa real e todos os aplicativos possuem acesso completo a todos os
recursos do sistema. A ideia é que cada aplicativo usasse o processador por
um certo tempo, passasse para outro programa e esperasse novamente chegar
sua vez para executar mais um punhado de operações.
Esse sistema anárquico dava margem para todo o tipo de problemas, já que
os aplicativos podiam monopolizar os recursos do processador e travar
completamente o sistema em caso de problemas. Outro grande problema era
que sem a proteção de memória, os aplicativos podiam invadir áreas de
memória ocupados por outros, causando um GPF ("General Protection
Falt"), o erro geral que gerava a famosa tela azul do Windows.
A proteção de memória consiste em isolar as áreas de memória utilizadas
pelos aplicativos, impedindo que eles acessem áreas de memória usadas por
outros. Além da questão da estabilidade, esta é também uma função básica
de segurança, já que impede que aplicativos maliciosos tenham acesso fácil
aos dados manipulados pelos demais aplicativos.
Embora fosse suportada desde o 386, a proteção de memória passou a ser
suportada apenas a partir do Windows 95, que introduziu também a já
comentada multitarefa preemptiva, isolando as áreas de memória ocupadas
pelos aplicativos e gerenciando o uso de recursos do sistema.
O grande problema era que embora fosse um sistema de 32 bits, o Windows
95 ainda conservava muitos componentes de 16 bits e mantinha
compatibilidade com os aplicativos de 16 bits do Windows 3.11. Enquanto
eram usados apenas aplicativos de 32 bits, as coisas funcionavam
relativamente bem, mas sempre que um aplicativo de 16 bits era executado,
o sistema voltava a utilizar a multitarefa cooperativa, o que dava margem
aos mesmos problemas.
Na época, o Windows enfrentava a concorrência do OS/2 da IBM, que
fulgurava como uma opção de sistema mais robusto, destinado sobretudo ao
público corporativo.
O OS/2 surgiu de uma parceria entre a IBM e a Microsoft para o
desenvolvimento de um novo sistema operacional para a plataforma PC,
capaz de suceder o MS-DOS (e também as primeiras versões do Windows,
que rodavam sobre ele). Inicialmente, o OS/2 foi desenvolvido para
aproveitar os recursos introduzidos pelo 286 (novas instruções, suporte a 16
MB de memória, etc.) mas ele foi logo reescrito como um sistema
operacional de 32 bits, capaz de aproveitar todos os recursos do 386 em
diante.
Entretanto, o sucesso do Windows 3.x fez com que a Microsoft mudasse de
ideia, passando a enxergar o Windows (e não o OS/2) como o futuro da
plataforma PC. As tensões foram aumentando, até que em 1991 a parceria
foi rompida, o que levou a Microsoft e a IBM a se tornarem concorrentes. A
IBM continuou investindo no desenvolvimento do OS/2, enquanto a
Microsoft usou o código desenvolvido para iniciar o desenvolvimento do
Windows NT, que passou a desenvolver paralelamente ao Windows 95.
OS/2 Warp 3
Embora o OS/2 fosse tecnicamente muito superior ao Windows 95, foi a
Microsoft quem acabou levando a melhor, pois o Windows 95 era mais fácil
de usar e contava com a familiaridade dos usuários com o Windows 3.11,
enquanto a IBM derrapava numa combinação de falta de investimento, falta
de apoio aos desenvolvedores e falta de marketing.
Graças aos termos do acordo anterior, a IBM foi capaz de incluir suporte aos
aplicativos Windows no OS/2. Entretanto, o tiro acabou saindo pela culatra,
pois desestimulou ainda mais o desenvolvimento de aplicativos nativos para
o OS/2, fazendo com que ele acabasse concorrendo com o Windows em seu
próprio território. Rodar aplicativos do Windows dentro do OS/2 era mais
problemático e o desempenho era inferior, fazendo com que mais e mais
usuários preferissem usar o Windows diretamente.
Embora esteja oficialmente morto, o OS/2 ainda é utilizado por algumas
empresas e alguns grupos de entusiastas. Em 2005 a Serenity comprou os
direitos sobre o sistema, dando origem ao eComStation.
Um sistema muito mais bem-sucedido, que começou a ser desenvolvido no
início da década de 90, é o Linux, que todos já conhecemos. O Linux tem a
vantagem de ser um sistema aberto, que atualmente conta com a colaboração
de milhares de desenvolvedores voluntários espalhados pelo globo, além do
apoio de empresas de peso, como a IBM, HP, Oracle e praticamente todas as
outras grandes empresas de tecnologia.
Apesar disso, no começo o sistema era muito mais complicado que as
distribuições atuais e não contava com as interfaces gráficas exuberantes que
temos hoje em dia. Embora o Linux seja forte em servidores desde o final da
década de 90, o uso do sistema em desktops vem crescendo em um ritmo
mais lento.
De volta à história do Windows, com o lançamento do NT a Microsoft
passou a manter duas árvores de desenvolvimento separadas, uma dela com
o Windows 95, destinada ao mercado de consumo e a outra com o Windows
NT, destinado ao público corporativo.
A árvore do Windows 95 deu origem ao Windows 98, 98 SE e ME, que
apesar dos avanços em relação à API e aos aplicativos, conservaram os
problemas fundamentais do Windows 95 em relação à estabilidade. Outro
grande problema é que estas versões do Windows foram desenvolvidas sem
um modelo de segurança, em uma época em que os arquivos eram trocados
através de disquetes e as máquinas eram acessadas apenas localmente. Isso
permitiu que o sistema fosse fácil de usar e rodasse com um bom
desempenho nas máquinas da época, mas começou a se tornar um pesado
fardo conforme o acesso à web se popularizava e o sistema passava a ser
alvo de todo tipo de ataques.
A árvore do Windows NT, por outro lado, teve muito mais sucesso em criar
um sistema operacional moderno, bem mais estável e com uma fundação
bem mais sólida do ponto de vista da segurança. O Windows NT 4 deu
origem ao Windows 2000, que por sua vez foi usado como fundação para o
Windows XP e o Windows 2003 Server, dando início à linhagem
subsequente, com o Vista (que devido a uma combinação de fatores acabou
compartilhando da má fama do Windows ME), o Windows 7 e o Windows
2008 Server.
A Apple, por sua vez, passou por duas grandes revoluções. A primeira foi a
migração do MacOS antigo para o OS X, que por baixo da interface polida, é
um sistema Unix, derivado do BSD. A segunda aconteceu em 2005, quando
a Apple anunciou a migração de toda a sua linha de desktops e notebooks
para processadores Intel, o que permitiu que se beneficiassem da redução de
custo nos processadores e outros componentes para micros PCs, mas ao
mesmo tempo conservassem o principal diferencial da plataforma, que é o
software.
Mac OS X
Do ponto de vista do hardware, os Macs atuais não são muito diferentes dos
PCs: você pode inclusive rodar Windows e Linux através do Boot Camp.
Entretanto, só os Macs são capazes de rodar o Mac OS X, devido ao uso do
EFI e de um chip TPM.
A lei de Moore
Em 1965, Gordon Moore (co-fundador da Intel) publicou um artigo
constatando que a miniaturização vinha permitindo dobrar o número de
transistores em circuitos integrados a cada ano (enquanto o custo permanecia
constante), uma tendência que deveria se manter por pelo menos mais 10
anos. Em 1975 (precisamente dez anos depois), ele atualizou a previsão,
profetizando que o número passaria a dobrar a cada 24 meses, cunhando a
célebre lei de Moore.
Na época ninguém poderia prever que em 2010 estaríamos usando PCs com
processadores Core i7 e módulos de memória DDR3 em dual-channel, mas a
previsão continua surpreendentemente apurada, acertando quase em cheio a
cada nova geração. Basta fazer as contas:
O processo de litografia
Máscaras e steppers
Encapsulamento e binning
Placa FPGA com um Altera Cyclone II, chip de boot, RAM e interfaces
A possibilidade de fazer download de projetos de chips e gravá-los em um
FPGA pode parecer tentadora, mas é importante ter em mente que os FPGAs
são muito mais caros que chips produzidos em série, pois cada célula lógica
é um dispositivo relativamente complexo, que é usado para simular um
único componente.
O Altera Cyclone II usado na placa da foto anterior, por exemplo, possui
somente 68 mil elementos programáveis, o que é apenas uma pequena fração
do que seria necessário para simular um processador moderno, que são
formados por centenas de milhões de transistores. Apesar disso, ele é mais
do que suficiente para simular um chip 8088, um ARM7, ou outro projeto
moderadamente complexo.
Embora o custo unitário seja relativamente alto, os FPGAs são uma opção
muito usada em situações em que são necessárias apenas algumas centenas
de unidades de um design exclusivo, uma quantidade que não justificaria a
criação das máscaras de litografia e todo o caro processo de produção
comercial de um chip. Imagine o caso do ramo da automação industrial, por
exemplo.
Os supercomputadores
No outro extremo da escala de performance temos os supercomputadores,
que embora muito grandes e caros, oferecem um poder de processamento
milhares de vezes superior ao de qualquer desktop doméstico.
As aplicações são muitas, englobando principalmente pesquisas científicas,
aplicações militares e diversos tipos de aplicativos financeiros,
meteorológicos e simulações complexas; tarefas que envolvem um volume
absurdo de cálculos e são necessárias para governos e instituições que
podem pagar vários milhões por um computador o mais rápido possível.
O termo "supercomputador" começou a ser usado na década de 60 para
distinguir os sistemas de alto desempenho dos computadores de pequeno e
médio porte, destinados a tarefas secundárias. Antes disso, o termo não faria
muito sentido, já que todos os computadores eram "super" no sentido de
serem muito grandes e caros.
Na época existiam também os "minicomputadores", que eram sistemas do
tamanho de um armário, capazes de executar tarefas especializadas. Como
pode imaginar, o termo "microcomputador" foi cunhado com o surgimento
dos computadores pessoais, que eram muito menores. Hoje em dia esses
termos não fazem muito sentido (afinal, hoje em dia um notebook de 2 kg é
considerado "grande"), mas não deixam de ser uma curiosidade interessante.
Voltando ao tema central, o primeiro supercomputador de sucesso comercial
foi o CDC 6600, lançado em 1964. Ele oferecia um poder de processamento
de cerca de 3 megaflops (similar ao desempenho de um 486), um valor
impressionante para a época, considerando que ele ainda era baseado em
placas de circuito com transistores individuais e não em microchips.
Para atingir esse nível de desempenho, foi adotado o uso de um conjunto de
instruções bastante simples, que permitia que os circuitos de processamento
operassem a uma frequência de 10 MHz, compensando a falta de
flexibilidade com simplicidade e potência bruta. Esta filosofia levou ao
aparecimento dos processadores RISC, cujo legado pode ser encontrado
mesmo nos processadores atuais da Intel e AMD, que combinam unidades
de execução simplificadas com circuitos de apoio destinados a manter a
compatibilidade com as instruções x86.
Assim como outros supercomputadores da época, o CDC 6600 já rodava um
sistema operacional primitivo e era usado através de terminais burros, que
incluíam teclado e monitor. Isso permitia que ele fosse acessado por vários
usuários simultaneamente, ajudando a justificar o custo. Também eram
usadas unidades de armazenamento em fita, impressoras, leitores de cartões
(cartões perfurados, não cartões de memória... :) e diversos outros
periféricos.
O Jaguar incluiu nada menos que 4.672 gabinetes como este, ligados através
de uma topologia proprietária de rede, com um total de 300 TB de memória
e 10 PB de armazenamento centralizado.
Naturalmente, supercomputadores como este eram acessíveis apenas para
apenas algumas poucas empresas e governos. Uma opção mais barata para
instituições que precisavam de um supercomputador, mas não possuíam
muito dinheiro disponível, era usar um sistema de processamento
distribuído, ou cluster. Um cluster formado por vários PCs comuns ligados
em rede.
Um dos exemplos mais famosos de processamento distribuído é o projeto
Seti@Home , onde cada voluntário instala um pequeno aplicativo que utiliza
os ciclos de processamento ociosos da máquina para processar as
informações relacionadas ao projeto.
Esse tipo de sistema pode ser construído usando, por exemplo, a rede interna
de uma empresa. Rodando o software adequado, todos os PCs podem fazer
parte do sistema, alcançando juntos um poder de processamento equivalente
ao de um supercomputador. O mais interessante é que esses PCs poderiam
ser usados normalmente pelos funcionários, já que o aplicativo rodaria
utilizando apenas os ciclos ociosos do processador.
A tecnologia de cluster mais usada atualmente são os clusters Beowulf,
formados por vários computadores interligados em rede. Não é necessário
nenhum hardware muito sofisticado: um grupo de PCs parrudos, ligados
através de uma rede gigabit já é o suficiente para montar um cluster Beowulf
capaz de rivalizar com muitos supercomputadores em poder de
processamento. A ideia é criar um sistema de baixo custo, que possa ser
utilizado por universidades e pesquisadores com poucos recursos.
O primeiro cluster Beowulf foi criado em 1994 na CESDIS, uma subsidiária
da NASA. Ele era formado por 16 PCs 486 DX-100 ligados em rede. Para
manter a independência do sistema e baixar os custos, os desenvolvedores
optaram por utilizar o Linux.
Os clusters não servem para processar dados em tempo real (um jogo
qualquer por exemplo), mas apenas para processar grandes quantidades de
dados, que podem ser quebrados em pequenas partes e divididos entre os
vários computadores. Uma área onde são populares é na aplicação de efeitos
especiais e renderização de imagens para filmes de cinema. Há inclusive
casos de filmes como o Shrek e o Final Fantasy , que foram renderizados
inteiramente utilizando clusters Beowulf.
This le was downloaded from Z-Library project
Z-Access
https://wikipedia.org/wiki/Z-Library
ffi
fi