AEDB Associação Educacional Dom Bosco Faculdade de Engenharia de Resende Processamento de Dados Gabriel Pitágoras Silva e Brenner gabrielbrenner@gmail.com
Sobre o Professor Professor da Dom Bosco desde 2004 em cadeiras relacionadas a Engenharia de Software e Sistemas Experiência de mais de 10 anos na área de desenvolvimento Dezenas de sistemas desenvolvidos Pós-graduado em Engenharia de Software Analista de Sistemas das Indústrias Nucleares do Brasil S/A Palestrante sobre desenvolvimento de sistemas +/- 40 artigos publicados sobre desenvolvimento de sistemas Coordenador do curso de Sistemas de Informação
Objetivos com a Cadeira Ensinar o que é um dado e como funciona o processo de transformação desse dado em Informação Abordar os diferentes tipos de computadores, Sistemas Operacionais e Sistemas Demonstrar, como os dados devem ser armazenados e quais são os meios de transportes existentes Aulas teóricas, práticas e dinâmicas, com participação ativa dos alunos Trazer informações úteis para o futuro profissional de Engenharia
Plano de Ensino - Ementa Introdução ao Processamento de Dados Sistemas Operacionais Tecnologias de Desenvolvimento Tecnologias de Armazenamento Modelo Cliente-Servidor e Redes Sistemas Gerenciadores de Banco de Dados Internet Padrões de Transmissão de Dados Técnicas de abordagem para criação de projetos de processamento
Plano de Ensino - Avaliação Avaliações bimestrais Trabalhos valendo 30% da Nota Prova Teórica e Prática valendo 70% da Nota 75% de presença durante o ano 2ª Chamada, prova individual teórica, valendo 100% da nota, invalidando o trabalho Os trabalhos em sala de aula serão sem prévio aviso, no início ou no final das aulas.
O que é Processamento de Dados É o tratamento dos dados por meio de máquinas, com o fim de obter resultados da informação representada pelos dados (diz-se apenas processamento). Ou conjunto de operações que transformam DADOS em INFORMAÇÕES, sendo DADO um fato isolado e INFORMAÇÃO um conjunto de fatos inteligentemente organizados. Ex.: o valor de um produto vendido é um DADO, vários produtos vendidos por um caixa, após o processamento, gera a nota de venda e com todos os valores de produtos vendido e o valor total da venda como resultado desse processamento. Ainda, como resultado de processamento, pode-se obter o fechamento do caixa, no final do dia.
Como Funciona? Dados Processamento Informação Entrada de Dados: Automáticas Manuais que normalmente são formadas por formulários eletrônicos, que estruturam os dados Possui dois componentes: Hardware: Responsável pelo processamento propriamente dito Software: Conjunto de programas Sistemas de Informação Precisa ser Armazenada: Memórias temporárias Memórias permanentes Organização Lógica da Informação Técnicas de Armazenamento e Recuperação Técnicas de Transmissão
Entradas de Dados Automatizadas Parte Mecânica, Eletromecânica e Eletrônica C P U Software de Controle Dados Temporários Máquina de Produção Comunicação Interfaces p/ Usuário Software de Gerenciamento Saídas para Usuário CPU Auxiliar Dados Permanentes Sistema de Gerenciamento A comunicação pode se dar em Tempo Real e/ou em Lotes, de tempos em tempos ou quando solicitada pelo usuário final (esse último é semiautomático).
Entradas de Dados Manuais Necessitam de interação manual intensa do usuário final. O meio de entrada, é constituído, basicamente, por formulários eletrônicos, que estruturam e particionam os dados
O que é um Computador? Basicamente uma máquina, eletrônica automática, que lê dados, efetua cálculos e fornece resultados. Ou seja, máquina que recebe dados, compara valores, armazena dados e move dados; portanto trabalha com dados e estes, bem colocado, tornam-se uma informação. Para controlar todas as operações dos circuitos integrados existem os programas.
O que é um Programa? O que é um programa? É um conjunto ordenado de instruções, estabelecendo o que deve ser feito. São eles que mantém a máquina funcionando e permitem sua utilização de forma fácil e eficiente. Dessa maneira surge o Processamento de Dados. Hardware: Conjunto formado pelos circuitos eletrônicos e partes eletromecânicas de um computador. É a parte física, visível do computador: impressora, modem, monitor, teclado, os mais variados tipos de placas, etc. Software: É um conjunto de programas, rotinas e procedimentos envolvidos na operação de um computador. São de qualquer tipo e em qualquer linguagem, que são introduzidos na máquina para fazê-la trabalhar, passo a passo, e produzir algum resultado. Podem ser desde um sistema operacional tal como o Windows, até um utilitário ou aplicativo, ou mesmo um programa armazenado em um chip ROM. O hardware sozinho não funciona sem instruções(software) do que e quando fazer.
Como programas são criados? Para que as pessoas se entendam e possam comunicar-se entre si, é necessário que ambas falem uma linguagem comum. O mesmo acontece na relação homem-máquina. Quando surgiram os primeiros computadores, no final dos anos 40, tornou-se necessário programá-los. Isto era feito diretamente, determinando-se as instruções por meio de chaves localizadas no painel de controle do computador. Entretanto, esse tipo de programação era demasiadamente improdutivo, principalmente porque sempre que se fosse repetir o processamento, era necessário gastar diversas horas para ajustar as chaves no painel do computador. Sentiu-se a necessidade de desenvolver um modo alternativo e que fosse mais simples para se obter os resultados esperados do computador
Como programas são criados II? Assim, em vez de chaves, as instruções eram inseridas no computador através de cartões ou fitas perfurados, que continham seqüências de números 0 e 1. Quando duas pessoas, que falam idiomas diferentes, precisam se comunicar,existem duas saídas: ou uma delas aprende e procura se expressar no outro idioma, ou ambas continuam falando suas línguas com o auxílio de um tradutor para intermediá-las. O mesmo ocorre quando uma pessoa utiliza o computador. Ou aprende a expressar a linguagem de máquina, ou se expressa em linguagens semelhantes à linguagem humana, que são chamadas linguagens de alto nível. Neste caso, fez-se então necessário o uso de tradutores tipo os compiladores e interpretadores, como forma de codificar uma linguagem entendida por nós seres humanos para uma linguagem entendida pelas máquinas.
Compiladores Traduz todo o programa para a linguagem de máquina antes de sua execução pelo computador. Programa Fonte em Linguagem de Programação Compilador Executável em Linguagem de Máquina
Interpretadores Traduz somente o trecho do programa que será executado em seguida, normalmente uma linha. Após a execução da linha, ele traduz a próxima que será executada e assim, sucessivamente, até o final do programa. Programa Fonte em Linguagem de Programação Interpretador Execução da Instrução ou Linha de Comando
Níveis de Linguagens Para facilitar a classificação de todas as linguagens existentes, costuma-se dizer que uma linguagem de computação encontra-se em um determinado nível em relação à linguagem humana. Desta forma. Uma linguagem é de Baixo Nível quando a sua estrutura está próxima à linguagem entendida pelo computador. No outro extremo, encontramos as linguagens de Alto Nível, como o C, JAVA, PASCAL, BASIC e outras. Dizemos que uma linguagem é de Alto Nível quando sua estrutura assemelha-se à linguagem humana, normalmente baseada em palavras do idioma inglês como BEGIN (início), END (fim), IF(se), Else (Se não), etc.
Níveis de Linguagens II Comparativamente, podemos estabelecer a seguinte relação entre os níveis de linguagens: Quanto maior o nível de uma linguagem, mais simples é o processo de aprendizado, programação e de manutenção de programas já desenvolvidos. Quanto menor o nível de uma linguagem, maior quantidade de instruções é necessário para obtenção do resultado desejado. E conseqüentemente, maior é a dificuldade para o desenvolvimento de um programa.
Níveis de Linguagens III As linguagens de Alto Nível destinam-se ao desenvolvimento de aplicações práticas, e apresentam as seguintes características: compatibilidade entre computadores e transparência (independência) do Sistema Operacional, facilidade na elaboração e manutenção de programas e facilidade na contratação de mão-de-obra. As linguagens de Baixo Nível orientam-se para o desenvolvimento de aplicações específicas, tais como Sistemas Operacionais, Compiladores, Utilitários, Gerenciadores de Banco de Dados, etc.
Níveis de Linguagens IV Linguagem Máquina: representação simbólica de zeros e uns (0 ou 1). Linguagem Assembly: representação simbólica de instrução da CPU. Linguagem de Alto Nível: permite programa ser independente da máquina (necessitam de interpretadores e compiladores). Tradicionais = COBOL e FORTRAN Modernas = PASCAL, C e ADA Orientada a Objetos = C ++, OBJECT, DELPHI, C#, Java, Visual Basic.NET, etc... Especializadas = APL, LISP, OPS5, PROLOG ( para aplicações específicas ) Linguagens de Quarta Geração: Criação automática de código, SQL, Linguagens de banco de dados(p-sql, T-SQL, etc)
Tipos de Software Software básico: É o conjunto de programas que supervisionam e auxiliam a execução dos diversos softwares aplicativos. O software básico é. em geral, formado pelos seguintes programas principais: Sistema Operacional - é responsável pela interface (interação) entre hardware e o usuário, o hardware e outros softwares aplicativos, como está representado na figura abaixo.(exemplos: WINDOWS 95, 98, XP, VISTA, UNIX, LINUX, DOS, OS2, etc) Compiladores e Interpretadores: que traduzem ou interpretam os programas escritos em diferentes linguagens. O software básico é fornecido pelo próprio fabricante do computador e, em geral, está escrito em linguagem de máquina.
Tipos de Software II Software de Tempo Real - monitora, analisa e controla eventos do mundo real: sistema de controle de tráfego aéreo, relógio digital,... Software Comercial - sistemas de operações comerciais e tomadas de decisões administrativas: folha de pagamentos, contas a pagar e a receber,... Software Científico e de Engenharia - caracterizado por algoritmos de processamento de números: astronomia, análise de fadiga da mecânica de automóveis, biologia molecular, projeto CAD,.. Software de Computador Pessoal software aplicativo - envolve processadores de textos, planilhas eletrônicas, computação gráfica, diversões, etc. Outros - Software Embutido, Software de Inteligência Artificial, softwares educacionais, tutores inteligentes, de apoio a decisão, geográficos, web.
Tipos de Software III OBSERVAÇÃO: Tanto o software, trabalham em linguagem de máquina, isto é, em código binário, que é a única codificação aceita pelo hardware ou arquitetura do computador. O usuário, em geral, não manipula diretamente valores ou códigos binários. Os programas do software básico encarregam-se de efetuar a tradução dos códigos e a conversão dos valores. Os programas que fazem as traduções de valores para código nativo (código de máquina) são os compiladores ou interpretadores.
Evolução do Processamento de Dados Hardware: maior desempenho, menor tamanho e custo A segunda era Multiusuário Tempo real Banco de Dados Os primeiros anos Software Houses Orientação batch Distribuição limitada Software customizado A terceira era Sistemas Distribuídos Inteligência embutida Hardware de baixo custo (PCs) Impacto de consumo A quarta era Tecnologia O. O. Sistemas Especialistas Redes Neurais Computação Paralela 1950 1960 1970 1980 1990 2000
Evolução dos Computadores I Ábaco A primeira calculadora que se tem notícias é o ábaco, de origem chinesa, do século V a.c. (antes de Cristo) capaz de efetuar operações algébricas elementares. Calculadoras mecânicas Anteriormente à década de 40 já existiam calculadoras mecânicas, dentre elas, pode-se destacar: a calculadora de Charles Babbage.
Evolução dos Computadores II Primeira geração - ENIAC Foi na década de 40 que surgiram as primeiras válvulas eletrônicas, o exército americano necessitava de um equipamento para efetuar cálculos de balística, foi quando se iniciaram os estudos neste sentido. Cada válvula era capaz de representar um bit de informação (somente aceita dois estados, ligada ou desligada). Os bytes eram compostos por oito válvulas. Como não se tinha muita confiança nos resultados, devido à constante queima de válvulas, cada cálculo era efetuado por três circuitos diferentes e os resultados comparados, se dois deles coincidissem, aquele era considerado o resultado certo. Os computadores eram verdadeiros monstros eletrônicos que ocupavam muito espaço e consumiam muita energia. O ENIAC (Eletronic Numerical Integrator and Computer), construído em 1948 tinha 19.000 válvulas e consumia cerca de 200 quilowatts, um absurdo para a época.
Evolução dos Computadores III Segunda Geração Foi em 1947 que surgiu o primeiro transistor. Características: revolucionou a eletrônica, os circuitos passaram a consumir muitíssimo menos energia, a ocupar menos espaço, isto a um custo bem satisfatório. Os transistores eram e são muito mais confiáveis que as válvulas. São feitos de cristal de silício, o elemento mais abundante na Terra. Em 1954 a Texas Instruments iniciou a produção comercial de transistores. Da mesma forma os transistores, nos circuitos digitais foram utilizados para representar os dois estados: ligado/desligado, ou seja, zero/um. Nos anos 60 e 70 devido ao emprego do transistor nos circuitos, se deu a explosão, o boom do uso de computadores. Ocupavam menos espaço e tinham um custo satisfatório. Curiosidade: Em 1968 chegou o primeiro computador da UNICAMP, um IBM 1130, com 16KB de memória e um disco de 1 MB, foi um acontecimento, ele trabalhava com cartões perfurados. Rodava programas em ASSEMBLER, Fortran, e PL1.
Evolução dos Computadores IV Terceira geração Nos anos 60, iniciou-se o encapsulamento de mais de um transistor num mesmo receptáculo, surgiu assim o Circuito Integrado - CI, os primeiros contavam com cerca de 8 a 10 transistores por cápsula ( chip ).
Evolução dos Computadores IV Terceira geração Nos anos 60, iniciou-se o encapsulamento de mais de um transistor num mesmo receptáculo, surgiu assim o Circuito Integrado - CI, os primeiros contavam com cerca de 8 a 10 transistores por cápsula ( chip ).
Evolução dos Computadores V Quarta geração Em novembro de 1971, a Intel introduziu o primeiro microprocessador comercial, o 4004, inventado por três engenheiros de Intel. Primitivo aos padrões de hoje, ele continha somente 2.300 transistores e executava cerca de 60.000 cálculos por segundo.
Evolução dos Computadores VI Quinta geração Pentium P55C ou MMX A evolução das aplicações de multimídia, envolvendo gráficos, imagens e sons tornou uma necessidade a implementação de instruções que facilitassem sua execução. A Intel adicionou ao Pentium, 57 novas instruções voltadas para este tipo de processamento, são as chamadas instruções MMX, ou seja, Multimedia Extentions. São várias instruções comuns, executadas por hardware e propiciam um bom ganho em velocidade de processamento. Há uma melhoria de performance da ordem de 10% nos processamentos ditos normais, não envolvendo as funções MMX.
Evolução dos Computadores VII Sexta geração Equipamentos Multi Processados, com vários núcleos, implementando paralelismo de processamento. São exemplos de processadores com mais de um núcleo: Dual Core, Core 2 duo e Quad Core
Processamento de Dados Gabriel Pitágoras Silva e Brenner PERGUNTAS?