Bem vindo!

Mundo computacional

sábado, 4 de dezembro de 2010

Conheça primeiro como surgiu o primeiro Computador

Hoje em dia, os computadores estão presentes em nossa vida de uma forma  nunca vista anteriormente. Sejam em casa, na escola, na faculdade, na empresa, ou em qualquer outro lugar, eles estão sempre entre nós. Ao contrário do que parece, a computação não surgiu nos últimos anos ou décadas, mas sim há mais de 7 mil anos atrás.

Por este motivo, desenvolvi este artigo, que conta a história e a evolução da computação e dos computadores em geral, desde a antiguidade até os dias de hoje. Desta maneira, você poderá ficar por dentro das principais formas de computação utilizadas pela humanidade. O texto está dividido em 4 partes e irá abordar temas diversos como ábaco: máquina de pascal, lógica de Boole, computadores mainframes, Steve Jobs, Bill Gates, entre vários outros.

Para começar, vamos falar sobre uma forma de calcular muito simples mas que também foi muito útil nas culturas antigas: o ábaco.

Ábaco, a primeira calculadora da história

Exemplo de ábaco russo 
Muitos povos da antiguidade utilizavam o ábaco para a realização de cálculos do dia-a-dia, principalmente nas áreas de comercio de mercadorias e desenvolvimento de construções civis. Ele pode ser considerado como a primeira máquina desenvolvida para cálculo, pois utilizava um sistema bastante simples, mas também muito eficiente na resolução de problemas matemáticos. É basicamente um conjunto de varetas de forma paralela, que contém pequenas bolas que realizam a contagem.

Seu primeiro registro é datado no ano de 5500 a.c., pelos povos que constituíam a Mesopotâmia. Contudo, o ábaco também foi usado posteriormente por muitas outras culturas: Babilônia, Egito, Grécia, Roma, Índia, China, Japão, etc. Cada um destes povos possui uma versão de específica desta máquina, entretanto, preservando a sua essência original. Seu nome roma antiga era "Calculus", termo de onde a palavra cálcuo foi derivada.

O fato deste instrumento ter sido difundido entre todas estas culturas se deve principalmente a dois fatores. O contato entre povos distintos é o primeiro deles, o que fez com que o ábaco fosse copiado de um lugar para vários outros no mundo. Por outro lado, a necessidade da representação matemática fez com os sistemas de contagens utilizados no cotidiano fossem implementados de forma mais prática.

Sobre as operações matemáticas, ele é bastante útil para a soma e subtração. Já a multiplicação e divisão, o ábaco comum não é muito recomendado, somente algumas versões mais complexas que padrão.

Régua de Cálculo

Durante vários séculos, o ábaco foi sendo desenvolvido e aperfeiçoado, sendo a principal ferramenta de cálculo por muito tempo. Entretanto, os principais intelectuais da época do renascimento necessitavam descobrir maneiras mais eficientes de efetuar cálculos. Logo, em 1638, depois de Cristo, um padre inglês chamado William Oughtred , criou uma tabela muito interessante para a realização de multiplicações muito grandes. A base de sua invenção foram as pesquisas sobre logaritmos, realizadas pelo escocês John Napier.
Régua de Cálculo
Até este momento, a multiplicação de números muito grandes era algo muito trabalhoso e demorado de ser realizado. Porém, Napier descobriu várias propriedades matemáticas interessantes e as deu o nome de logaritmos.  Após, disso, multiplicar valores se tornou uma tarefa mais simples.

O mecanismo do William era consistido de um régua que já possuía uma boa quantidade de valores pré-calculados, organizados em forma que os resultados fossem acessados automaticamente. Uma espécie de ponteiro indicava o resultado do valor desejado.

Máquina de Pascal

Apesar da régua de cálculo de William Oughtred ser útil, os valores presentes nela ainda eram pre-definidos, o que não funcionaria  para calcular números que não estivessem presentes na tábua. Pouco tempo depois, em 1642, o matemático francês Bleise Pascal desenvolveu o que pode ser chamado da primeira calculadora mecânica da história, a máquina de Pascal.

Máquina de Pascal


Seu funcionamento era baseado no uso de rodas interligadas, que giravam na realização dos cálculos. A ideia inicial de Pascal era desenvolver uma máquina que realizasse as quatro operações matemáticas básicas, o que não aconteceu na prática, pois ela era capaz apenas de somar e subtrair. Por esse motivo, ela não foi muito bem acolhida na época.

Alguns anos após a Máquina de Pascal, em 1672, o alemão Gottfried Leibnitz conseguiu o que pascal não tinha conseguido, criar uma calculadora que efetuava a soma e a divisão, além da raiz quadrada.

O Advento da programação funcional

Em todas as máquinas e mecanismos mostrados na parte 1, as operações já estavam previamente programadas, não sendo possível inserir novas funções. Contudo, no ano de 1801, o costureiro Joseph Marie Jacquard desenvolveu um sistema muito interessante nesta área.

A indústria de Jaquard atuava no ramo de desenhos em tecidos, tarefa que ocupava muito tempo de trabalho manual. Vendo este problema, Joseph construiu a primeira máquina realmente programável, com o objetivo de recortar os tecidos de forma automática.

Tal mecanismo foi chamado como Tear Programável, pois aceitava cartões perfuráveis com entrada do sistema. Desta maneira, Jaquard perfurava o cartão com a desenho desejado, e a máquina o reproduzia no tecido. A partir desse momento, muitos esquemas foram influenciados pelo Tear, incluindo o que vamos explicar logo abaixo.

A Máquina de Diferenças e o Engenho Analítico


No ano de 1822, foi publicado um artigo científico que prometia revolucionar tudo o que existia até o exato momento, no ramo do cálculo eletrônico. O seu autor, Charles Babbage, afirmou que sua máquina era capaz de calcular funções de diversas naturezas (trigonometria, logaritmos), de forma muito simples. Este projeto possuía o nome de Máquina de Diferenças.
Máquina de Diferenças
Houve um grande boom na época por causa disso, pois as ideias aplicadas no projeto estavam muito a frente do seu tempo. Por causa de limitações técnicas e financeiras, a Máquina de Diferenças só pôde ser implementada muitos anos depois.

Engenho AnalíticoApós um período, no ano de 1837, Babbage lançou uma nova máquina, chamado de Engenho Analítico (Máquina Analítica). Ela aproveitava todos os conceitos do Tear Programável, como o uso dos cartões.  Além disso, instruções e comandos também poderiam ser informados pelos cartões, fazendo uso de registradores primitivos. A precisão chegava a 50 casas decimais.

Novamente, ela não pôde ser implementada naquela época, pelo mesmo motivo de limitações técnicas e financeiras. Simplesmente a tecnologia existente não era avançada o suficiente   para a execução do projeto. Contudo, a contribuição teórica de Babbage foi tão grande, que muitas de suas idéias são usadas até hoje.

A Teoria de Boole

Se Babbage é o avô da computador do ponto de vista de arquitetura de hardware, o matemático George Boole pode ser considerado o pai da lógica moderna. Boole desenvolveu, em 1847, um sistema lógico que reduzia a representação de valores através de dois algarismos: 0 ou 1.

Em sua teoria, o número “1” tem significados como: ativo, ligado, existente, verdadeiro. Por outro lado, o “O” representava o inverso: não ativo, desligado, não existente, falso.  Para representar valores intermediários, como “mais ou menos” ativo, é possível usar dois ou mais algarismos(bits) para a representação. Por exemplo:
  • 00 – desligado
  • 01 – carga baixa
  • 10 – carga moderada
  • 11 – carga alta

Todo o sistema lógico dos computadores atuais, inclusive o do qual você está usando, usa a teoria de Boole de forma prática. 
 
Máquina de Hollerith

O conceito de cartões desenvolvidos na máquina de Tear Programável também foi muito útil para a realização do censo de 1890, nos estados unidos. Nessa ocasião, Hermann Hollerith desenvolveu uma máquina que acelerava todo o processo de computação dos dados computados.

Ao invés da clássica caneta para marcar X em “sim” e “não” para perguntas como sexo, idade, os agentes do censo perfuravam estas opções nos cartões. Uma vez os dados coletados, o processo de computação da informação demorou aproximadamente 1/3 do comum.  Foi praticamente uma revolução na maneira de se coletar dados.

Máquina de Hollerith

Aproveitando todo o sucesso ocasionado por sua máquina, Hollerith fundou sua própria empresa, a Tabulation Machine Company, no ano de 1896. Após algumas fusões com outras empresas e anos no comando do empreendimento, Hoolerith veio a falecer. Quando um substituto assumiu o seu lugar, em 1916,  o nome da empresa foi alterado para Internacional Business Machine, a mundialmente famosa IBM.

Computadores Pré-modernos

Na primeira metade do século XX, várias computadores mecânicos foram desenvolvidos, sendo que com o passar do tempo, componentes eletrônicos foram sendo adicionados aos projetos. Em 1931, Vannevar Bush implementou um computador com uma arquitetura binária propriamente dita, usando os bits 0 e 1.  A base decimal exigia que a eletricidade assumisse 10 voltagens diferentes, o que era muito difícil de ser controlado. Por isso, Bush fez uso da lógica de Boole, onde somente dois níveis de voltagem já eram suficientes.

A segunda guerra mundial foi um grande incentivo no desenvolvimento de computadores, visto que as máquinas cada vez mais estavam se tornando mais úteis em tarefas de desencriptação de mensagens inimigas e criação de novas armas mais inteligentes.  Entre os projetos desenvolvidos neste período, o que mais se destacou foi o Mark I, no ano de 1944, criado pela Universidade de Harvard (EUA), e o Colossus, em 1946, criado por Allan Turing.
Painel lateral do Mark I
 
Sendo uma das figuras mais importantes da computação, Allan Turing focou sua pesquisa na descoberta de problemas formais e práticos que poderiam ser resolvidos através de computadores. Para aqueles que apresentavam solução, foi criada a famosa teoria da “Máquina de Turing”, que através de um número finito de operações, resolvia problemas computacionais de diversas ordens diferentes. A máquina de Turing foi colocada em prática através do Computador Colosssus, citado acima.
 
Computação moderna
 
A computação moderna pode ser definida pelo uso de computadores digitais, que não utilizam componentes analógicos com base de seu funcionamento. Ela pode ser dividida em várias gerações:
 
Primeira Geração (1946 - 1959)
 
A primeira geração de computadores modernos tinha com principal característica o uso de válvulas eletrônicas, possuindo dimensões enormes. Eles utilizavam quilômetros de fios, chegando a atingir temperaturas muito elevadas, o que frequentemente causava problemas de funcionamento.  Normalmente, todos os programas eram escritos diretamente na linguagem de máquina.  Existiram várias máquinas dessa época, contudo, vamos focar no ENIAC, que foi a famosa de todas.
 
ENIAC
 
No ano de 1946, ocorreu uma revolução no mundo da computação, como o lançamento do computador ENIAC (Electrical Numerical Integrator and Calculator), desenvolvido pelos cientistas norte-americanos John Eckert e John Mauchly. Esta máquina era em torno de 1000 vezes mais rápida que qualquer outra que existia na época.

Um pedaço de um computador ENIAC

A principal inovação nesta máquina é a computação digital, muito superior aos projetos mecânicos-analógicos desenvolvidos até o exato momento. Com o ENIAC, a maioria das operações eram realizadas sem a necessidade de movimentar peças de forma manual, mas sim somente pela entrada de dados no painel de controle. Cada operação podia ser acessada através de configurações padrões de chaves e switches.

As dimensões desta máquina são muito grandes, com aproximadamente 25 metros de comprimento por 5,50 m de altura. O seu peso total era de 30 toneladas. Esse valor representa algo como um andar inteiro de um prédio.  

Segunda Geração (1959 - 1964)

Na segunda geração, houve a substituição das  válvulas eletrônicas por transístores, o que diminiu em muito tamanho do hardware. A tecnologia de circuitos impressos também foi criada, assim evitando que os fios e cabos elétricos ficassem espalhados por todo lugar. É possível dividir os computadores desta geração em duas grandes categorias: supercomputadores e mini-computadores.

IBM 7030IBM 7030

O IBM 7030, também conhecido por Strech, foi o primeiro supercomputador lançado na segunda geração, desenvolvido pela IBM. Seu tamanho era bem reduzido comparado com máquinas como o ENIAC, podendo ocupar somente uma sala comum. Ele era utilzado por grandes companhias, custando em torno de 13 milhões de dólares na época. 

Esta máquina executava cálculos na casa dos microssegundos, o que permitia até um milhão de operações por segundo.  Desta maneira, um novo patamar de velocidade foi atingido. Comparado com os da primeira geração, os supercomputadores, como o IBM 7030, eram mais confiáveis.

Várias linguagens foram desenvolvidas para os computadores de segunda geração, como Fortran, Cobol e Algol. Assim, softwares já poderiam ser criados com mais facilidade Muitos Mainframes (modo como as máquinas dessa época são chamadas) ainda estão em funcionamento em várias empresas no dias de hoje, como na própria IBM.


PDP-8


PDP-8 foi um dos mini-computadores mais conhecidos da segunda geração. Basicamente, foi uma versão mais basica do supercomputador, sendo mais atrativo do ponto de vista financeiro (centenas de milhões de dólares).  Eram menores do que os supercomputadores, mas mesmo assim ainda ocupavam um bom espaço no cômodo.

Terceira geração (1964 – 1970)

Painel de controle do IBM 360Os computadores desta geração foram conhecidos pelo uso de circuitos integrados, ou seja, permitiram que uma mesma placa armazenasse vários circuitos que se comunicavam com hardwares distintos ao mesmo tempo. Desta maneira, as máquinas se tornaram mais velozes, com um número maior de funcionalidades. O preço também diminuiu consideravelmente.

Um dos principais exemplos da Terceira geração é o IBM 360/91, lançado em 1967, sendo um grande sucesso em vendas na época. Esta máquina já trabalhava com dispositivos de entrada e saída modernos para a época, como discos e fitas de armazenamento, além da possibilidade de imprimir todos os resultados em papel. 

O IBM 360/91 foi um dos primeiros a permitir programação da CPU por microcódigo, ou seja, as operações usadas por um processador qualquer poderiam ser gravadas através de softwares, sem a necessidade do projetar todo o circuito de forma manual.

No final deste período, houve um preocupação com a falta de qualidade nos desenvolvimento de softwares, visto que grande parte das empresas estavam só focadas no hardware.

Quarta geração (1970 até hoje)

A quarta geração é conhecida pelo advento dos microprocessadores e computadores pessoais, com a redução drástica do tamanho e preço das máquinas. As CPUs atingiram o incrível patamar de bilhões de operações por segundo, permitindo que muitas tarefas fossem implementadas agora. Os circuitos acabaram se tornado ainda mais integrados e menores, o que permitiu o desenvolvimento dos microprocessadores. Quanto mais o tempo foi passando, mais fácil foi comprar um computador pessoal. Nesta era, os softwares e sistemas se tornaram tão importantes quanto o hardware.

Altair 8800

O Altair 8800, lançado em 1975, revolucionou tudo o que era conhecido como computador até aquela época. Com um tamanho que cabia facilmente em uma mesa e um formato retangular, também era muito mais rápido que os computadores anteriores. O projeto usava o processador 8080 da Intel, fato que propiciou todo esse desempenho.

Altair 8800

Com todo o boom do Altair, um jovem programador chamado Bill Gates se interessou pela máquina, criando a sua linguagem de programação Altair Basic. O Altair funcionava através de cartões de entradas e saída, sem uma interface gráfica propriamente dita.
 
Apple, Lisa e Macintosh
 
MacintoshVendo o sucesso do Altair, Steve Jobs (fundador da Apple) sentiu que ainda faltava algo no projeto: apesar de suas funcionalidades, este computador não era fácil de ser utilizado por pessoas comuns.  
 
Steve sempre foi conhecido por ter um lado artístico apurado, portanto, em sua opinião, um computador deveria representar de maneira gráfica o seu funcionamento, ao contrário de luzes que acendiam e apagavam. Por isso, o Apple I, lançado em 1976, pode ser considerado como o primeiro computador pessoal, pois acompanhava um pequeno monitor gráfico que exibia o que estava acontecendo no PC. Como o sucesso da máquina foi muito grande, em 1979 foi lançado o Apple II, que seguia a mesma ideia.
 
Seguindo na mesma linha, com os computadores Lisa (1983)  e Macintosh(1984), foram os primeiros a usarem o Mouse e possuírem a interface gráfica como nós conhecemos hoje em dia, com pastas, menus e área de trabalho. Não é um preciso dizer que esses PC tiveram um sucesso estrondoso, vendendo um número enorme de máquinas. 

 
Microsoft e os processadores Intel                                             
 
Paralelamente a Apple, Bill Gates fundou a Microsoft, que também desenvolvia computadores principiais. No começo de sua existência, no final dos anos 70 e até meados dos anos 80, Gates usou as ideias contidas nas outras máquinas para construir a suas próprias. Utilizando processadores 8086 da Intel, o primeiro sistema operacional da Microsof, MS-DOS, estava muito aquém dos desenvolvidos por Steve Jobs. Por esse motivo, Bill Gates acabou criando uma parceria com Jobs, e após algum tempo, copiou toda a tecnologia gráfica do Macintosh para o seu novo sistema operacional, o Windows.
 
Desta forma, em meados dos anos 80, O Machintosh e o Windows se tornaram fortes concorrentes. Com a demisão de Steve Jobs da Apple, a empresa acabou muito enfraquecida. Assim, a Microsoft acabou se tornando a líder do mercado de computadores pessoais. Desta aquela época, vários processadores da Intel foram lançados, acompanhados de várias versões de Windows. Entre os modelos da  Intel, podemos citar: 8086, 286, 386, 486, Pentium, Pentium 2, Pentium 3, Pentium 4, Core 2 Duo, i7. A AMD entrou no ramo de processadores em 1993, com o K5, lançando posteriormente k6, k7, Atlhon, Duron, Sempron, entre outros.
Processadores Pentium

Todos os computadores pessoais novos que são lançados atualmente, são bastante derivados das idéias criadas pela Apple e pela Microsoft.

Multi-core


Uma das principais tendências dos últimos anos do mercado de desktops é o chamado “multi-core”, que consiste em vários processadores trabalhando paralelamente. Assim, as tarefas podem ser divididas e executadas de maneira mais eficiente. No início da década de 2000, os transístores usados no processador já estavam muito pequenos, causando um aquecimento maior que o normal. Desta maneira, foi necessário dividir a CPU em vários núcleos.
 
Computação de Bolso

IPhoneFinalizando este artigo, vamos falar sobre a computação de bolso, que está cada vez mais presentes nas nossas vidas. De alguns anos para cá, cada vez mais computadores móveis são lançados no mercado, os quais podem ser carregados dentro do bolso, por isso o seu nome.

Entre estes dispositivos, podemos citar primeiramente os celulares, que cada vez mais executam funções existentes nos computadores, possuindo sistemas operacionais completos. Além deles, Palmtops, pendrives, mp3-9, câmeras fotográficas, tvs portáteis. 

Na verdade, a principal tendência do futuro, que já está ocorrendo agora,  é a união de muitas funcionalidades em um mesmo aparelho. Por isso, após alguns anos, vai ser muito comum que as pessoas tenham somente um único dispositivo portátil, que irá executar todas as tarefas desejadas. O IPhone, da Apple, é o aparelho portátil que se mais aproxima deste dispositivo único.