Processamento
de
Dados
Gabriel Pitágoras Silva e Brenner
[email protected]
AEDB – Associação Educacional Dom Bosco
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
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
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 dadosPossui 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 Comunicação
Máquina de Produção Sistema de Gerenciamento Dados Permanentes Software de Gerenciamento CPU Auxiliar Saídas para Usuário Interfaces p/ Usuário
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 é semi-automá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,
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,
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
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
1950 1960 1970 1980 1990 2000 Os primeiros anos •Orientação batch •Distribuição limitada •Software customizado A segunda era •Multiusuário •Tempo real •Banco de Dados •Software Houses 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
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
Processamento de Dados – Módulo 01 - Aula 01/02 – Versão 1.2
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
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