Você está na página 1de 30

Algoritmos e Programao de

Computadores

Disciplina: 113476

PROFESSORES

Luiz Augusto F. Laranjeira Matheus Sousa Faria


luiz.laranjeira@gmail.com matheus.sousa.faria@gmail.com

Universidade de Braslia UnB Campus Gama

Material produzido pela Profa. Carla Denise Castanho e adaptado para a UnB/FGA
2a. CONCEITOS BSICOS

Material produzido pela Profa. Carla Denise Castanho e adaptado para a UnB/FGA
Hardware X Software

3
Hardware X Software

Hardware: as partes fsicas e eletrnicas de um


computador.

Software: as instrues que controlam o que o


computador faz; constitui os programas de
computador.

4
Hardware
Hardware:
Corresponde parte material, os componentes fsicos do sistema;
o computador propriamente dito. (Incluindo perifricos de
entrada e sada; a mquina, seus elementos fsicos, carcaas,
placas, fios, e componentes em geral.)
Um hardware sozinho no nada, a menos que ele tenha uma
funo a executar e um programa que lhe diga como execut-la.
Hardware
Arquitetura (componentes bsicos) de um computador:

MEMRIA

MEMRIA AUXILIAR/DISCO Baseado na arquitetura


de Von Neumann!

MEMRIA PRINCIPAL

UNIDADE DE MEMRIA
CONTROLE CACHE UNIDADE
UNIDADE DE
ENTRADA DE SADA
UNIDADE LGICA E
ARITMTICA
CPU
Hardware
Arquitetura: (componentes bsicos) de um computador

Arquitetura sem Arquitetura com


barramento barramento

MEMRIA
MEMRIA

BARRAMENTO

IN CPU OUT
IN OUT
CPU
Hardware
Processador/CPU:
o crebro do computador, a parte que interpreta e executa
instrues. (Um programa = instrues ordenadas logicamente.)
O termo CPU (Central Processing Unit Unidade Central de
Processamento) usado genericamente para se referir ao
processador de um computador.
A CPU no o gabinete do computador, mas sim um chip, que se
localiza na placa me (motherboard) que est dentro do gabinete.
Nos computadores pessoais (PC), o processador um nico chip
chamado de microprocessador.
Hardware
Processador/CPU:
UNIDADE DE CONTROLE: determina a execuo e interpretao
dos dados que esto sendo processados
analisa cada instruo de um programa;
controla as informaes na memria principal e na memria cache;
ativa a unidade lgica e aritmtica;
ativa os canais de entrada ou sada, selecionando os dados a serem
transferidos e o dispositivo que ser empregado na transferncia.

UNIDADE LGICA E
ARITMTICA: s se comunica UNIDADE DE MEMRIA
com a unidade de controle, CONTROLE CACHE
serve para realizar os clculos
UNIDADE LGICA E
de tipo aritmtico e tipo lgico ARITMTICA
(comparaes).
CPU
Hardware

Processador/CPU (cont.):
MEMRIA CACHE: acompanha a velocidade do processador (CPU).
bem mais rpida que a memria principal;
para cada processador novo, uma memria cache que o acompanhe
precisa ser projetada;
muito mais cara que a memria principal.

UNIDADE DE MEMRIA
CONTROLE CACHE
UNIDADE LGICA E
ARITMTICA
CPU
Hardware
Memria
um termo genrico usado para designar as partes do computador
ou dos dispositivos perifricos onde os dados e programas so
armazenados.
Sem uma memria de onde os processadores podem ler e
escrever informaes, no haveria nenhum computador digital de
programa armazenado.

HIERARQUIA DE MEMRIA

MEMRIA AUXILIAR/DISCO

MEMRIA PRINCIPAL

MEMRIA CACHE
Hardware
Barramento
um conjunto de linhas de comunicao que permitem a
interligao entre os componentes do computador: a CPU, a
memria e os perifricos (dispositivos de entrada e sada).

Estas linhas de comunicao


esto divididas em trs
conjuntos:
Via de dados: onde
trafegam os dados;
Via de endereos: onde
trafegam os endereos;
Via de controle: sinais de
controle que sincronizam
as duas anteriores.
Hardware
Barramento (cont.)
O desempenho do barramento medido por:
Largura de banda: quantidade de bits que podem ser transmitidos ao
mesmo tempo), geralmente potncias de 2, 8 bits, 16 bits, 32 bits, 64
bits, etc.
Velocidade da transmisso: medida em bps (bits por segundo), por
exemplo, 10 bps, 160 Kbps, 100 Mbps, 1 Gbps etc.
Hardware
Memria
MEMRIA PRINCIPAL MEMRIA AUXILIAR
(RAM - Random Access (SECUNDRIA)
Memory ) DISCOS
- Acesso mais rpido, - Acesso mais lento
- Capacidade mais restrita. - Capacidade bem
- Armazena informaes maior.
temporariamente durante - Armazena grande
um processamento conjunto de dados que
realizado pela CPU. a memria principal
- Voltil no suporta.
- No voltil

Os dados e programas devem primeiro ser transferidos


da memria auxiliar para a memria principal
antes de serem processados
Hardware
Tipos de Memria Principal
RAM: Random Access Memory
Pode ser escrita e lida (on-line)
Voltil

ROM: Read-Only Memory


S pode ser lida (on-line)
Mais lenta que a memria RAM
Necessita de um procedimento especial (off-line) para ser escrita
No voltil
Normalmente utilizada no boot/bios do computador
Tipos de memria ROM
PROM: Programmable Read-Only Memory
EPROM: Erasable Programmable Read-Only Memory
Necessita de um procedimento especial (off-line) para ser apagada

EEPROM: Eletrically Erasable Programmable Read-Only Memory


Hardware
Tipos de Memria Secundria
Dispositivos de armazenamento interno: disco rgido (HD)
usado para guardar no s seus arquivos como
tambm todos os dados do seu sistema operacional.

Dispositivo de armazenamento externo

disquete disquete DVD pen-drive


Hardware
Hierarquia de Memria
Hardware
Dispositivos de Entrada/Sada: (Perifricos)
Muitas vezes chamados de dispositivos de I/O (Input/Output)

Compreende todas as maneiras pelas quais o computador se


comunica com os usurios, outras mquinas ou dispositivos.
Hardware
Dispositivos de Entrada
Seu objetivo obter dados que sero colocados na memria do
computador para que sejam posteriormente usados pelo
processador em clculos aritmticos ou lgicos.

Exemplos:

mouse teclado microfone escaneador


Hardware
Dispositivos de Sada
Seu objetivo obter dados da memria do computador e mostr-
los ou pass-los para o usurio.

Exemplos:

vdeo impressora auto-falantes plotador


Hardware
Dispositivos de Entrada e Sada
Alguns dispositivos so de entrada e sada ao mesmo tempo, isto ,
podem ser usados para obter dados do exterior para o computador
e para obter dados do computador e pass-los para o usurio.

Exemplos:

tela tocvel fio


(touchpad)
Software
Software:
So instrues escritas em linguagem de programao que diro
ao computador o que fazer e auxiliaro o usurio em suas
atividades. Ou seja, os programas e os sistemas de programao
utilizados por um computador e que permitem atender s
necessidades do usurio.
CLASSIFICAO
- Sistemas Operacionais
- Compiladores
- Interpretadores
- Utilitrios
- Aplicativos
Gerenciadores de Banco de Dados
Editores de Texto
Editores Grficos
Planilhas Eletrnicas
Lazer
Software
Sistema Operacional, Utilitrios e Aplicativos
Sistema Operacional: programa que interage diretamente com o
hardware acessando e controlando a CPU, memria e perifricos.
Utilitrios: programas utilizados para suprir deficincias dos
sistemas operacionais (compactao de dados, limpeza de disco, etc).
Aplicativos: programas que executam tarefas especficas de
interesse dos usurios, em geral ligadas ao processamento de
dados.
SOFTWARE

UTILITRIOS APLICATIVOS

SISTEMA OPERACIONAL

HARDWARE
Sistema Operacional
SISTEMA OPERACIONAL:
O sistema operacional cria um ambiente onde os usurios podem
preparar seus programas e execut-los sem se preocupar com
detalhes de hardware.
Um conjunto de programas, que desempenham rotinas
necessrias ao funcionamento do computador, tais como:
gerenciamento da memria
Exemplos:
administrao dos dados Linux, Unix, Windows,
acionamento dos dispositivos DOS, MAC OS X
execuo de programas utilitrios
Pode ser considerado um intrprete e um gerenciador das
atividades realizadas entre o usurio e o computador/hardware.
Cada SO desenvolvido em consonncia com as caractersticas
de determinado microprocessador.
Linguagens de Programao
LINGUAGEM DE PROGRAMAO:
um conjunto de termos (vocabulrio) e regras (sintaxe) que
permitem a formulao de instrues a um computador.
Permite construir programas para a resoluo de problemas,
(construo de aplicativos, utilitrios e at de sistemas
operacionais).
Existem vrias linguagens diferentes, cada uma com recursos que
facilitam aplicaes especficas.

Para um programador mais importante compreender


os fundamentos e tcnicas da programao
do que dominar esta ou aquela linguagem.
Linguagens de Programao

Linguagem de Linguagem de Baixo Linguagem de Alto


Mquina Nvel Nvel
- Um programa escrito - So linguagens de - So linguagens de
em linguagem de programao nas quais programao nas quais
mquina consiste de uma os programas so se pode escrever
srie de nmeros binrios escritos em uma notao programas em uma
e muito difcil de ser que est prxima da notao prxima
entendido pelas pessoas. linguagem de mquina maneira natural de
- Uma CPU somente Instrues fornecidas expressar o problema
compreende instrues pelo fabricante, diferentes que se deseja resolver.
na sua linguagem de para cada computador.
mquina.
Ex: Assembler Ex: Delphi, Visual Basic,
Pascal, C, C++, Java,
etc.
Compiladores e Interpretadores
COMPILADOR (+ Linker)
Programa utilizado pelo computador para traduzir os comandos
simblicos de uma linguagem de alto nvel, para linguagem de
mquina (cdigo executvel).

Programa Compilador Programa Programa


Fonte (+ Linker) Executvel Executvel

Sistema Sistema
Operacional Operacional

Gerao do programa executvel Execuo do programa

Aparecem nesse processo dois tipos de ERROS, cuja correo consiste


em boa parte da tarefa do programador: Exemplos de
- Erros de compilao: sintaxe errada, que so mais fceis de corrigir; linguagens
- Erros de execuo: podem ser fceis como uma diviso por zero, compiladas:
ou podem ser mais difceis de corrigir, originados por erros de raciocnio Pascal, C e C++
na elaborao do programa.
Compiladores e Interpretadores
INTERPRETADOR
L e executa uma declarao do programa por vez. Nenhuma fase
intermediria de compilao necessria. A execuo do
programa interpretado requer que o interpretador da linguagem
esteja sendo executado no computador.

Programa
Interpretador
Fonte

Sistema
Operacional

Execuo de um programa

Exemplos de linguagens
interpretadas:
Javascript, Python, Perl
Detalhamento da Compilao

COMPILADOR
Programa Cdigo
Programa utilizado pelo Fonte
Compilador
Objeto
computador para traduzir os
comandos simblicos de uma Sistema
linguagem de alto nvel, para Operacional
linguagem de mquina (cdigo Gerao do programa em cdigo objeto
objeto).

LINKER Cdigo Programa


Linker
Programa utilizado pelo Objeto Executvel

computador para compor o


programa executvel (em
Sistema
linguagem de mquina) a
Bibliotecas
(Cd. Objeto) Operacional
partir do(s) programa(s) em
cdigo objeto. Gerao do programa executvel
Ciclo de Desenvolvimento de uma Aplicao

Edio do
Programa Compilao Linkagem Execuo
Fonte

Testes/Depurao

Você também pode gostar