Introdução à Computação Aulas 03 e 04 Cristiane B. R. Ferreira, M.Sc. Universidade Federal de Goiás (UFG) Instituto de Informática [email protected] Resumo da Aula Histórico Conceitos Básicos 1 Histórico Desde que o homem começou a processar dados, ele tentou construir máquinas para ajudá­lo em seu trabalho. Primeiros métodos de cálculo • • Próprios dedos Ábaco (2000 a.C.) Conhecido por ter existido na Babilônia Antiga e no Egito. Usado no Extremo Oriente até tempos recentes. Usado por comerciantes para fazer contas. Depois de 4000 anos de uso, foi inutilizado pela invasão mundial das calculadoras de bolso. Curiosidade: Em 1947, um contador japonês que usava o ábaco disputou com um soldado do exército americano que tinha a mais moderna calculadora eletromecânica. O ábaco ganhou cada correspondência, exceto para a competição de multiplicação. Auxílios manuais nos cálculos escritos • Método Tabular (árabes) → originou o método de multiplicação atual. Exemplo: Produto de 217 por 14. 2 1 4 1 2 8 7 1 4 7 2 8 3 0 3 8 217 é colocado no alto da tábua 14 é colocado à esquerda da tábua O produto de 217 por 1 é colocado na primeira linha O produto de 217 por 4 é colocado na segunda linha O produto de 217 por 14 é dado pela soma dos dígitos nas diagonais: → 8 → 4 + 2 + 7 = 3 (vai 1) → (vai 1) + 8 + 1 = 0 (vai 1) → (vai 1) + 2 = 3 Auxílios mecânicos • Máquina de Pascal (1642) – calculadora de soma e subtração baseada na rotação de rodas dentadas. • Calculadora de Leibniz (1673) – realiza multiplicação e divisão. Utiliza­se do fato da multiplicação ser a soma de uma parcela um certo número de vezes. Auxílios mecânicos automáticos • Tear de Jacquard (início do séc. XIX) – Joseph Marie Jacquard desenvolveu um tear que podia ser programado através do uso de grandes cartões perfurados que permitiam ou não a passagem de agulhas de um tear para controlar o padrão (floral ou geométrico) do tecido no material. Sucesso imediato, pois na época apenas os mais ricos podiam comprar roupas com padrões elaborados. Automatização da indústria têxtil. • Charles Babbage (1822) – Engenho Diferencial: máquina a vapor construída a partir de engrenagens com o mecanismo de relógio para calcular polinômios. A tecnologia disponível na época de Babbage não permitiu a produção das milhares de engrenagens necessárias com a precisão exigida. • (1833) Babbage construiu a Máquina Analítica: uma calculadora mecânica automática, com mecanismo digital sofisticado para realizar operações matemáticas. Alguns historiadores a consideraram um computador moderno em pleno desenvolvimento com um reconhecido ciclo de entrada, processamento, saída e armazenamento, que utilizava cartões perfurados de Jacquard para entrada de dados. • (1842) Augusta Ada Byron: auxiliou Babbage com a formulação da noção de programação da Máquina Analítica para executar funções diferentes. Ela é considerada uma das primeiras programadoras do mundo. Existe uma linguagem de programação denominada Ada em sua homenagem. Augusta Ada Byron (Figura extraída de Nosso Futuro e o Computador, Meyer, Baber, Pfaffenberger) Babbage gastou grande parte de sua fortuna tentando construir a Máquina Analítica, que nunca conseguiu terminar e colocar para funcionar. O Governo Britânico perdeu interesse no projeto e retirou o financiamento. Entretanto, no início do Séc. XX, os princípios propostos por Babbage se mostraram corretos e, com base neles, máquinas foram construídas. Por esse motivo Babbage é considerado o pai da computação. 1991 → Science Museum (Londres) construiu um Engenho Diferencial (aproximadamente US$ 1 milhão) com doações. A máquina funcionou perfeitamente, dando resultados de 31 dígitos de exatidão. • George Boole (1854) – publicou um trabalho em que introduzia conceitos de que a lógica poderia ser representada por equações algébricas, a Álgebra Booleana, base das operações de processamento dos computadores. • Herman Hollerith (1889) 1880 – censo americano: tempo para catalogação dos dados = mais de 7 anos (técnicas de processamento manuais). Hollerith desenvolveu uma máquina se inspirando nos cartões de Jacquard. As inovações propostas por Hollerith permitiram que o censo de 1890 fosse concluído em dois anos e meio (avanço significativo quando comparado ao censo de 1880). Após a conclusão do censo, Hollerith aperfeiçoou a máquina (equipamento de cartão perfurado) e fundou a Tabulating Machine Company (1896), que, posteriormente, tornou­se a gigante IBM – Internation Business Machine. Máquina de Hollerith (Figura extraída de Nosso Futuro e o Computador, Meyer, Baber, Pfaffenberger) • Alan Mathison Turing (1937) – Turing elaborou a Teoria da Máquina Universal. A “máquina de Turing” era capaz de resolver qualquer cálculo arbitrário, desde que carregada com um programa pertinente. • William Hewlett e David Packard (1938) – criação da Hewlett­Packard (HP) em uma garagem em Palo Alto, Califórnia. • 1942 – John Vincent Atanasoff e Clifford Berry concluíram o ABC (Atanasoff­Berry Computer), uma máquina capaz de resolver problemas reduzidos a até 30 equações. • 1973 – A justiça norte­americana reconheceu o ABC como o “primeiro computador eletrônico”. Primeira Geração de Computadores Modernos • 1946 – Apesar de o ABC ser considerado legalmente o primeiro computador eletrônico da História, os historiadores e os cientistas da computação consideram este o ano do início da “história da computação moderna”, com o lançamento do ENIAC (Eletronic Numeric Integrator and Computer). O projeto inicial do ENIAC tinha aplicação militar específica: calcular trajetórias de mísseis. Embora autorizado pelo exército para ser usado na guerra, o ENIAC não foi concluído até 1946, depois do término da guerra. Era um computador digital programável e não uma calculadora eletrônica. Reportagens nos jornais da época – “cérebro eletrônico” → 30 segundos para calcular trajetórias versus 40 horas de cálculos manuais ENIAC (Figura extraída de Nosso Futuro e o Computador, Meyer, Baber, Pfaffenberger) Problemas com ENIAC: Consumia uma enorme quantidade de energia elétrica. Não funcionava por mais de alguns minutos sem estourar uma válvula, o que fazia com que o sistema parasse. Toda vez que surgia um novo problema, a equipe tinha de inserir instruções substituindo a fiação da máquina inteira. Trocar o “programa” do computador levava vários dias. Cada máquina era única – programas de um computador não funcionavam em outro. Curiosidades: Medidas: 3,3 m de altura, 1 m de largura, 33,3 m de comprimento, 30 toneladas. Na Filadélfia, as luzes sofriam uma queda de intensidade toda vez que o ENIAC era ligado. • John Von Neumann, Burks e Goldstine – tentaram diminuir a dificuldade de programar o ENIAC e apresentaram o conceito de programa armazenado → armazenando o programa e os dados na memória do computador. A partir daí surgiu a idéia da Arquitetura de von Neumann – dados e instruções representados da mesma forma, por meio de bits, ambos podem ser armazenados juntos dentro do computador. • 1947 ­ surge o transistor, pequeno dispositivo eletrônico usado para controlar o fluxo de eletricidade em circuito eletrônico, mas com uma fração mínima do peso, do consumo de energia e da saída de calor das válvulas a vácuo → computadores mais rápidos, menores e mais confiáveis. Transistor (Figura extraída de Nosso Futuro e o Computador, Meyer, Baber, Pfaffenberger) • Antes de 1951: computadores eletrônicos ­ uso exclusivo de cientistas, engenheiros e militares. • 1951 – J. Presper e Mauchly – construção do primeiro computador disponível comercialmente, o UNIVAC (Universal Automatic Computer). UNIVAC – melhor do que o ENIAC (uso de quantidade menor de válvulas); permitia que os usuários executassem programas diferentes; computador de uso geral. Em 1952: UNIVAC previu corretamente o vencedor da eleição presidencial americana. UNIVAC (Figura extraída de Nosso Futuro e o Computador, Meyer, Baber, Pfaffenberger) Válvulas a vácuo (Figura extraída de Nosso Futuro e o Computador, Meyer, Baber, Pfaffenberger) • 1957 – Surgimento da primeira linguagem de programação de alto nível, o Fortran. Segunda Geração de Computadores • Praticamente todos os computadores dessa geração eram transistorizados. • Surgimento da primeira linguagem de programação para uso comercial: Cobol (Common Business Oriented Language). • Processamento de programas em lote: tarefas executadas seqüencialmente com um programa monitor controlando a operação. • 1961: apresentação do primeiro Circuito Integrado (CI) disponível comercialmente (componente eletrônico que compactava, numa única pastilha de silício, vários transistores) • Em 1964: System/360 (da IBM) – eliminação da distinção entre computadores projetados para os negócios e os projetados para a ciência. • Surgimento de idéias como multiprogramação (diversos programas na memória). Terceira Geração de Computadores • Surgimento dos primeiros computadores incorporando circuitos integrados (B2500 e B3500, lançados pela Burroughs). • Conceito de timesharing (compartilhamento de tempo) → computador projetado para ser usado por muitas pessoas simultaneamente, acessando o mesmo remotamente através de terminais, dispositivos de controle, equipados com vídeo e teclado. • 1968 – Robert Noyce, Andy Grove e Gordon Moore estabeleceram a Intel. • DEC (Digital Electronic Corporation): lançou a indústria de minicomputador (menor que um computador de grande porte, projetado para organizações de pequeno e médio porte ou departamentos de grandes organizações). Primeiro minicomputador comercial disponível: PDP­8, da DEC. Alguns modelos cabiam no porta­malas de um carro. Podia ser acessado por usuários de locais diferentes no mesmo edifício. Preço: ~ 1/4 do custo do computador de grande porte tradicional. Primeiro minicomputador comercial PDP­8 (Figura extraída de Nosso Futuro e o Computador, Meyer, Baber, Pfaffenberger) • 1969: A Intel lança o primeiro microprocessador disponível comercialmente (Intel 4004). O microprocessador é um circuito integrado que compacta milhares de transistores em um único chip e reúne vários circuitos integrados em um único componente. • 1969: IBM decide desvincular seus sistemas e vender software e hardware separadamente → deslancha a indústria de software. • Desenvolvimento de padrões para redes de computadores: ARPA (Advanced Research Projects Agency) patrocinava um projeto para desenvolver uma rede de longa distância. Esse projeto criou uma rede de teste (ARPANET) que conectou várias universidades que tinham contratos de pesquisa com o Departamento de Defesa. O resultado desse projeto (a Internet) balançou o mundo mais tarde. ARPANET → projetada para permitir que cientistas acessassem supercomputadores distantes. Entretanto, a maioria dos usuários considera a ARPANET um meio de comunicação. Eles desenvolveram um sistema de chat em tempo real, correio eletrônico e newsgroups. Quarta Geração de Computadores • 1972: Lançamento do “Patinho Feio”, primeiro computador brasileiro. Desenvolvido na Universidade de São Paulo. • 1973: Apresentação do protótipo do primeiro computador pessoal, o Alto, da Xerox. Usava mouse, ligava­se em rede e tinha interface gráfica. • 1976: Steve Jobs e Steve Wozniak montaram a Apple Computer Inc. e desenvolveram seu primeiro produto: o Apple I, através do qual adquiriram experiência e construíram o Apple II (com teclado, monitor, unidade de disquete e um sistema operacional (SO). Era baseado no microprocessador Motorola 6502). Apple I (Figura extraída de Nosso Futuro e o Computador, Meyer, Baber, Pfaffenberger) • 1976: Bill Gates e Paul Allen fundaram a Microsoft. • 1981: O IBM­PC Personal Computer é lançado com o microprocessador 8088 feito pela Intel Corporation e o Sistema Operacional MS­DOS, desenvolvido em parceria com a Microsoft. • O IBM­PC tornou­se sucesso comercial e tinha arquitetura aberta, o que possibilitou a qualquer empresa fazer computadores baseado nele. Foram criados “clones” do IBM­PC (IBM­PC compatíveis) que foram vendidos a preços inferiores ao do original. O IBM­PC tornou­se o primeiro padrão para computadores (o PC), visto que, antes, os software eram criados de acordo com o tipo de computador e, a partir desse momento, as empresas de software passaram a desenvolver o mesmo programa para todos os fabricantes de IBM­PC. Esse tipo de computador tornou­se o mais vendido no mundo. • Atualmente, o PC é conhecido como um computador pessoal baseado no processador Intel e não tem nenhuma ligação com o PC original da IBM, visto que várias empresas fabricam seus próprios computadores com tecnologias próprias. • Uma das poucas empresas que sobreviveram à massificação do padrão PC foi a Apple Computer, que permanece como uma das grandes empresas desse mercado. • 1984: Apple lança o Macintosh, com sistema operacional baseado em ícones, janelas, controle de mouse, menus suspensos etc. • O mundo dos computadores pessoais hoje em dia é dividido entre PC e Macintosh (Apple). • 1985: Richard Stallman lança o projeto GNU, que almejava desenvolver um Sistema Operacional totalmente baseado em Software Livres. • 1985: Microsoft lança o Windows 1.0. Macintosh (Figura extraída de Nosso Futuro e o Computador, Meyer, Baber, Pfaffenberger) • Liderança da Apple ameaçada pela Microsoft, lançando uma versão melhorada do Microsoft Windows para ser executada em computadores compatíveis com o IBM (muito mais numerosos e, geralmente, mais baratos que os Macintosh). 1990 – hoje • 1991: Linus Torvarlds, um aluno de Ciências da Computanção da Universidade de Helsinque na Finlândia, lança na Internet uma versão inicial do núcleo de Sistema Operacional (S.O.) Linux, que era licenciado livremente e que junto com o projeto GNU, formaram um S.O. completo, o GNU/Linux. • 1993: Intel lança o processador Pentium. • 1994: Netscape Communications faz o lançamento do Netscape Navigator 1 (programa para buscar informações na Internet (browser)). • 2000: Intel lança o Pentium IV. • Hoje em dia: computadores modernos com alta capacidade de memória e processamento, baixo custo. Indústria direcionando seus esforços para a computação móvel por meio de palmtops e telefones celulares. • Várias áreas atualmente estão ligadas de alguma maneira com a informática. Alguns exemplos são apresentados a seguir: Comércio e Indústria Ciência e Medicina Residências Governo Comunicação Transportes Educação Projeto de novos produtos, controle de produção, controle administrativos, comércio eletrônico, operações bancárias on­ line etc Colaboração remota entre cientistas, simulação de modelos complexos, medicina a distância (consultas, operações) etc Computação embutida em eletrodomésticos, computadores pessoais etc Imposto de Renda, controle da Previdência social etc Telefones com acesso à Internet, controle de tráfego telefônico etc Automóveis inteligentes, sistemas de navegação controlados por satélite (GPS), treinamento virtual de pilotos, sistemas de controle de vôos em aeroportos etc Ensino à distância, acesso a bibliotecas virtuais etc