por Chedas Sampaio Época 1998/1999 Engenharia de Máquinas- Marítimas Engenharia de Máquinas Marítimas M04 Computadores e Programação M04 Computadores e Programação Introdução aos Computadores Sumário Introdução Evolução histórica da Antiguidade até ao Séc XX 1ª Geração (1945-1956) 2ª Geração (1956-1960) 3ª Geração (1960-1971) 4ª Geração (1971-presente) 5ª Geração (presente-futuro) Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Introdução O impacto da revolução da Informação na nossa sociedade é imenso. O desenvolvimento tecnológico que daí adveio e o boom das telecomunicações transformou o mundo numa imensa Aldeia. O Computador desempenhou e continua a desempenhar um papel primordial nessa revolução. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Introdução No nosso crescente desejo de controlar o que nos rodeia procuramos compreender a tecnologia contemporânea mas também deveremos olhar o passado e nele procurar explicações que nos ajudem no futuro. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Introdução Como chegámos aqui? Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica Desde há milénios que o Homem utiliza os mais diversos dispositivos para o auxiliar no Cálculo Numérico, particularmente na manutenção de inventários (nº de animais, quantidade de comida) ou nas trocas comerciais. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica São exemplos os entalhes no cajado, utilizados pelos pastores para contar os animais dos seus rebanhos, e o Ábaco (inventado há 5000 anos na Ásia), ainda hoje comum nalguns países desse continente. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica O uso do papel e da escrita, especialmente na Europa, fez decair a importância do Ábaco, mas 12 séculos foram necessários para que surgisse um novo avanço na computação. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica Em 1642, Blaise Pascal (francês) com apenas 18 anos inventou um calculador numérico a rodas dentadas para ajudar o seu pai (cobrador de impostos) no trabalho. O Pascaline executava adições até 8 dígitos Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica Em 1694, o matemático e filósofo Gottfried Leibniz (alemão) melhorou o Pascaline criando uma máquina que também multiplicava. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica Em 1820, o francês Charles Colmar inventou uma máquina (arithometer) capaz de executar as quatro operações aritmétricas. O arithometer foi largamente usado até à 1ª Guerra Mundial (1914-1918). Apesar de outros inventores lhe sucederem, refinando o seu invento, Colmar iniciou, juntamente com Pascal e Leibniz, a era da Computação Mecânica. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica No entanto, o verdadeiro início dos computadores que hoje conhecemos deve-se ao professor de matemática inglês Charles Babbage. Foi ele quem primeiro descobriu que as máquinas podiam executar operações repetitivas (automação). Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica Charles Babbage inventou em 1822 uma máquina para resolver equações diferenciais. Esta máquina, Difference Engine, alimentada por vapor e grande como uma locomotiva, podia armazenar um programa, efectuar cálculos e imprimir os resultados automaticamente. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica Depois de dedicar 10 anos a desenvolver a difference engine, Babbage começou a trabalhar que é considerado o 50 000 naquele componentes, input na forma primeiro de cartõescomputador, perfurados o Analytical Engine. (invenção de 1801 do francês Jacquard), capacidade de armazenamento de 1000 nºs com 50 dígitos Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica A condessa Augusta Ada King, filha do poeta inglês Lord Byron, foi assistente de Babbage ajudando-o na programação do computador, tornando-se assim na primeira mulher programadora. Nos anos 80, o governo dos EUA deu o seu nome à avançada linguagem de programação ADA. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica Em 1890, o inventor americano Herman Hollerith aplica o mesmo conceito de Jacquard do cartão perfurado. A diferença relativamente a Babbage é que o cartão em vez de conter instruções de programação contém dados para serem processados pela máquina. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica O objectivo de Hollerith era reduzir o census dos EUA em 1890. O anterior, 1880, levara cerca de 7 anos a ser calculado. Esperava-se que o de 1890 demoraria 10 anos devido ao crescimento populacional. A máquina de Hollerith levou 6 semanas a efectuar esse census. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica Hollerith comercializou o seu leitor de cartões, fundando em 1896 a Tabulating Machine Company que em 1924, após várias transformações, levou à criação da International Business Machines (IBM). A utilização de cartões perfurados e leitores durou até aos anos 60. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 1940, prof.Atanasoff e seu assistente Clifford Berry (Iowa State University) são os primeiros a aplicar a álgebra de Boole (1854) nos circuitos do computador agora totalmente electrónico. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 1ª Geração dos computadores modernos (1945-1956) Howard Aiken, engenheiro da IBM, cria em 1944 um calculador totalmente electrónico (Harvard-IBM Automatic Sequence Controlled Tinha metade do comprimento de Calculator ou MARK I). A finalidade deste era a um campo de futebol e cerca de 800 criação de cartas balísticas para a USNavy. km de fios Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 1ª Geração dos computadores modernos (1945-1956) Grace Hopper em 1945, enquanto trabalhava no MARK II, encontrou o primeiro bug de computador no sentido literal do termo (uma barata morta num relé). Daí para diante ela e os colegas, sempre que o computador parava, diziam a Howard Aiken que estavam fazendo debugging ao computador. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 1ª Geração dos computadores modernos (1945-1956) Outro computador resultante dos esforços de guerra da 2ª Guerra Mundial surge em 1946, o ENIAC (Electronic Numerical Integrator and Computer). Este computador resulta de uma parceria entre o governo dos EUA e a Universidade da Pensilvânia. Mauchly & Eckert Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 1ª Geração dos computadores modernos (1945-1956) O ENIAC tinha 18000 tubos de vácuo, 70000 resistências e 5 milhões de juntas soldadas. Consumia 160 kW de energia eléctrica. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 1ª Geração dos computadores modernos (1945-1956) John von Neumann, da Universidade da Pensilvânia, lança em 1945 o conceito de memória de computador para armazenamento de programas e dados bem como a transferência de controlo condicional. Estes coneitos perdurariam nos próximos 40 anos. Neumann e a sua equipa criam o EDVAC (Electronic Discrte Variable Automatic Computer). Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 1ª Geração dos computadores modernos (1945-1956) A 1ª geração de computadores era caracterizada por cada computador ser programado para uma tarefa específica. Cada computador tinha uma linguagem binária diferente (código máquina). Outras características destes computadores eram a utilização de tubos de vácuo (responsáveis pelas enormes dimensões) e os tambores magnéticos para armazenamento de dados. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 2ª Geração dos computadores modernos (1956-1960) Em 1948, a invenção do transistor contribui para uma significativa mudança nos computadores. Desde esta data que os computadores vêm decrescendo em dimensão. Em 1956 o transistor começa a ser montado nos computadores. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 2ª Geração dos computadores modernos (1956-1960) A segunda geração de computadores substitui a linguagem máquina com o assembly, que já permitia a utilização de códigos abreviados em substituição dos longos e difíceis códigos binários. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 2ª Geração dos computadores modernos (1956-1960) No início dos anos 60 surgem os primeiros computadores comercializados (Burroughs, Control Data, IBM,…) com sucesso em áreas como as universidades, negócios e governos. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 2ª Geração dos computadores modernos (1956-1960) Estes computadores continham transistores em substituição dos tubos de vácuo. Também possuíam os componentes que hoje associamos aos computadores modernos: impressoras, fitas e discos magnéticos para armazenamento, memória e programas armazenados. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 2ª Geração dos computadores modernos (1956-1960) Um importante exemplo destes computadores era o IBM 1401 que foi o mais popular no mundo dos negócios. Este computador , e o IBM 1620 (para escolas e universidades), foram os primeiros com a fugir á tendência da época para os supercomputadores. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 2ª Geração dos computadores modernos (1956-1960) Foi o armazenamento do programa em memória e a linguagem de programação que deu aos computadores a flexibilidade para serem suficientemente baratos e eficazes para terem aplicação comercial. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 2ª Geração dos computadores modernos (1956-1960) É durante este período que surgem as linguagens de alto nível, muito parecidas com a linguagem humana, Fortran (Formula Translator), 1957, e Cobol (Common BusinessOriented Language), 1960. É com estas John Backus linguagens que começa toda1957 a indústria de (IBM) software. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 3ª Geração dos computadores modernos (1960-1971) Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 3ª Geração dos computadores modernos (1960-1971) Mas o transistor aquecia o que provocava muitas avarias. É então que surge o quartzo e o silício. Jack Kilby da Texas Instruments desenvolve o conceito de circuito integrado em 1958 e a partir daí começa a miniaturização de componentes em chips. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 3ª Geração dos computadores modernos (1960-1971) Como resultado, os computadores são cada vez mais pequenos. Também marca esta geração o desenvolvimento do chamado sistema operativo (programa central que controla as tarefas mais básicas do computador deixando aos programas o trabalho mais específico). Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 3ª Geração dos computadores modernos (1960-1971) Em 1963 é criado o ASCII (American Standard Code for Information Interchange) com o objectivo de normalizar e tornar possível a comunicação entre computadores. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 3ª Geração dos computadores modernos (1960-1971) Em 1964 é criada por John Kemeny e Tom Kurtz a linguagem de programação BASIC , que teve uma extraordinária aceitação pelos jovens, e a IBM anuncia o System/360 como a sua primeira família de computadores compatíveis . Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 3ª Geração dos computadores modernos (1960-1971) Em 1968 Edsger Dijkstra lança a primeira pedra na fundação do que viria a ser a Programação Estruturada ao escrever uma carta ao editor entitulada “GOTO statement considered harmful”. O início da criação de programas mais fiáveis e de mais fácil manutenção estava lançado. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 3ª Geração dos computadores modernos (1960-1971) Em 1969 começa o trabalho na ARPAnet que viria a ser o embrião da Internet. Em 1971 é criada a Intel Corporation. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 4ª Geração dos computadores modernos (1971-presente) Depois dos circuitos integrados só restava diminuir a dimensão do computador. Primeiro apareceram circuitos integrados com centenas de componentes num chip. Nos anos 80 já se conseguiam centenas de milhares e agora já vão em milhões de componentes num chip. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 4ª Geração dos computadores modernos (1971-presente) É na década de 70 que os fabricantes de computadores (Commodore, Radio Shack e Apple) decidem levar estes ao consumo doméstico. Para isso desenvolvem-se aplicações especialmente de processamento de texto e folhas de cálculo. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 4ª Geração dos computadores modernos (1971-presente) Em 1975 a IBM lança o seu primeiro Personal Computer,o 5100, para uso em casa, escritório e escola. Aparecem então no mercado os clones do IBM PC cuja garantia de qualidade era anunciada pela frase “IBM compatível”. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 4ª Geração dos computadores modernos (1971-presente) Em competição directa com a IBM aparece em 1976 o Apple II que revoluciona o mercado ao introduzir pela primeira vez um sistema operativo com um interface amigável baseado & Wozniak no conceitoJobs do rato e da janelas (windows). Neste mesmo ano a Microsoft e a Apple são fundadas. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 4ª Geração dos computadores modernos (1971-presente) Em 1981 a IBM lança no mercado o IBM “PC” com um sistema operativo, DOS, completamente diferente do até então usado por todos, o CP/M. Em 1982 a Times elege o computador o Homem do Ano. Desde esse ano o computador passa a ser ferramenta indispensável na indústria do cinema. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 4ª Geração dos computadores modernos (1971-presente) A utilização dos computadores pessoais tem um crescimento notável, não mais parando até hoje: •1981 - 2 milhões de PC’s em uso •1982 - 5.5 milhões •1992 - 65 milhões Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 4ª Geração dos computadores modernos (1971-presente) O tamanho também não parou de diminuir, primeiro os desktop e os tower, depois os laptop e agora os palmtop. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 4ª Geração dos computadores modernos (1971-presente) A utilização dos computadores pessoais generaliza-se começando a substituir os grandes computadores centrais (Mainframes) e os minicomputadores. Os computadores começam a ser ligados entre si formando redes, desenvolvem-se protocolos de comunicação entre PC’s e o software sofre um aumento fantástico. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 4ª Geração dos computadores modernos (1971-presente) Os anos 90 marcam o aparecimento da Internet como rede global. A web, o e-mail, o protocolo de transferência de ficheiros, o acesso remoto por telnet, os newsgroups e a comunicação de computadores por TCP/IP são alguns dos muitos serviços que passam a ter utilização mundial e que revolucionam a forma de comunicação, de comércio, de educação e de informação. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 5ª Geração dos computadores modernos (presente-futuro) Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 5ª Geração dos computadores modernos (presente-futuro) O futuro já se antevê no presente com a evolução espectacular dos microprocessadores (processamento paralelo, velocidade de processamento) liderados pela Intel, com a evolução do sistema operativo Windows com liderança incontestável da Microsoft e com a evolução das telecomunicações (supercondutores, fibra óptica). Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica 5ª Geração dos computadores modernos (presente-futuro) O computador, provavelmente, deixará de se chamar computador uma vez que cada vez mais integra funções que antes eram desempenhadas por diferentes equipamentos (fax, televisão, vídeo, telefone) passando a ser mais uma consola de comunicações, de trabalho e de lazer. Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores Evolução histórica Referências bibliográficas e multimédia Introdução à Programação Estruturada, Artur Ferreira da Silva, INA www.digitalcentury.com/encyclo/update/comp_hd.html www.computer.org/50/history Engenharia de Máquinas Marítimas M04 Computadores e Programação Introdução aos Computadores FIM Engenharia de Máquinas Marítimas M04 Computadores e Programação