Escolar Documentos
Profissional Documentos
Cultura Documentos
1.3. Informática
Informática é a ciência que estuda como as informações são coletadas (dados), organizadas, tratadas e
comunicadas. Essa ciência busca meios para obter maior rapidez no processamento e maior proteção (segurança)
para as informações geradas através do mesmo.
1.4. O Computador
O computador é uma máquina que realiza processamento de dados em um menor espaço de tempo e com
maior segurança, auxiliando com isso a informática. Outro conceito muito utilizado é que o computador é um
equipamento capaz de obedecer a instruções que alterem seus dados da maneira desejada, e de realizar pelo
menos algumas dessas operações sem a intervenção humana.
1.5. Funções Básicas do Computador
Entrada de dados;
Processamento de dados;
Saída de informações;
Armazenamento de informações.
1.6. Tipos de Computador
a) Computadores Analógicos: são os que processam sinais elétricos e que costumam ser aplicados a
problemas de controle de processo. O seu funcionamento é baseado na comparação de grandezas
físicas e são típicos para medição.
b) Computadores Digitais: são os que a programação e os dados são representados por meio de dígitos.
São os computadores utilizados para contagem e cálculos que exijam precisão.
1.7. Linguagem de Computador – Respresentação de Dados
Por serem máquinas os computadores trabalham com um tipo de linguagem chamada Linguagem de
Máquina. Conceitualmente, Linguagem de Máquina é a linguagem que permite que os computadores executem
tarefas específicas predeterminadas pelos seres humanos.
O computador, em sua linguagem, só considera pulsos elétricos que refletem dois estágios opostos, ligado e
desligado, como por exemplo. Para facilitar o trabalho com computadores, esses estados eletrônicos, foram
representados pelo 0 e 1, sendo o 0 representante do desligado e 1 o representante do ligado.
Acredita-se que a criação de números veio com a necessidade de contar, seja o número de animais,
alimentos, ou coisas do gênero. Como a evolução nos legou algumas características, como os cinco dedos em
cada mão e cinco dedos em cada pé, seria muito natural que os primeiros sistemas de numeração fizessem uso
das bases 10 (decimal) e 20 (vigesimal). O número 80 em francês, por exemplo, escrito como quatre-vingt (ou,
quatro vezes o vinte), é remanescente de um sistema vigesimal.
Computadores modernos, por outro lado, usam “chaves elétricas” para representar números e caracteres.
Cada chave pode estar ligada ou desligada e a combinação dos estados de um conjunto destas chaves representa
algo (número ou caracter). Visto que o “cérebro” de um computador é simplesmente um conjunto de chaves
elétricas, onde cada chave possui apenas dois estados possíveis (ligada/desligada), computadores “pensam”
Professor Luis Octavio - 1
CPC - Parte I - Conceitos Básicos
usando apenas 2 dígitos: 0 e 1 (0 para desligada e 1 para ligada). Portanto, computadores se utilizam de uma
forma de representação de dados para descrever números e caracteres na forma de um conjunto de 0s e 1s.
Linguagens humanas usam palavras que contêm um número variável de caracteres. Computadores não
possuem a capacidade de trabalhar com palavras de tamanho variável.
Por isso, suas “palavras” (representação de caracteres e números) têm um número predeterminado de
caracteres, que, na linguagem binária, são chamados de bits (binary digits). Os primeiros computadores pessoais
que se tornaram populares usavam 8 bits (1 byte- binary term) para representar uma “palavra”. Assim, o
computador sabia onde começava uma palavra e onde ela acabava apenas contando o número de bits. A partir da
evolução dos computadores, as “palavras” evoluíram para 16 bits (PC 286), 32 bits (PC 386-Pentium) e 64 bits
(maioria dos computadores de hoje). Dessa forma, uma “palavra” do computador passou a não ser mais composta
apenas por um byte, mas por 2, 4 e agora 8 bytes. Essa evolução permitiu que cada vez mais coisas pudessem
ser representadas através das palavras do computador, aumentando o número de instruções inteligíveis por ele
(1 1 1 0)
0 x 20 =0x1=0
1 x 21 =1x2=2
1 x 22 =1x4=4 1110B => 14D
1 x 23 =1x8=8
14
Professor Luis Octavio - 2
CPC - Parte I - Conceitos Básicos
b) Transformando Octal em Decimal
Ex: transformar o número binário 2137 em base decimal.
(2 1 3 7)
7 x 80 =7x1= 7
3 x 81 =3x8 = 24
1 x 82 = 1 x 64 = 64 2137O => 1119D
2 x 83 = 2 x 512 = 1024
1119
c) Transformando Hexadecimal em Decimal
Ex: transformar o número binário CFA em base decimal.
(C F A)
10 x 160 = 10 x 1 = 10
715 x 161 = 15 x 16 = 240
12 x 162 = 12 x 256 =3072
24 CFAH => 3322D
64 3322
a) 2
0 5 2 10D = 1010B
1 2 2
0 1 Sempre forme o número de baixo para cima.
257 8
1 32 8 257D = 401O
0 4
Sempre forme o número de baixo para cima.
939 16
11 58 16 939D = 3ABO
10 3
Sempre forme o número de baixo para cima.
b) Adição em Binário
11
+11
110
O sistema binário só aceita números de 0 a 1 e quando obtemos um número igual ou superior a 2, pegamos
esse valor diminuímos de 2 e acrescentamos 1 na próxima casa à esquerda (Ex: da direita para esquerda =>
quando somamos 1+1 = 2, depois diminuímos 2-2 = 0 (fica à direita) e vai 1 para a próxima casa à esquerda,
somamos 1 (que foi enviado) + 1 +1 = 3, novamente um número superior a 2, por isso novamente diminuímos de 2
o 3 e ficará1 que será enviado 1 para próxima casa. Ficando assim, 110)
c) Adição em Octal
27
+14
43
O sistema octal só aceita números de 0 a 7 e quando obtemos na soma dos números da casa mais a direita
um número igual ou superior a 8, pegamos esse valor e diminuímos de 8 e acrescentamos 1 na próxima casa à
esquerda (Ex: da direita para esquerda => quando somamos 7+4 = 11, depois diminuímos 11-8 = 3 e vai 1 para a
próxima casa à esquerda ficando 7, temos somamos 1 (que foi enviado) + 2 + 1 = 4. Ficando assim, 43)
d) Adição em Hexadeximal
EB
+39
124
O sistema hexadecimal só aceita números de 0 a 15 (lembrando que A = 10, B = 11, C=12, D =13, E = 14 e
F = 15) e quando obtemos na soma dos números da casa mais a direita um número igual ou superior a 15,
pegamos esse valor e diminuímos de 15 e acrescentamos 1 na próxima casa à esquerda (Ex: da direita para
esquerda => quando somamos B (11)+9 = 20, depois diminuímos 20-16 = 4 e vai 1 para a próxima casa à
esquerda ficando 4, temos que somar 1 (que foi enviado) + E (14) + 3 = 18, diminuímos 18 – 16 = 2 e é enviado 1
para esquerda. Ficando assim, 124)
e) Subtração em Decimal
23
- 8
15
Quando o número de cima é inferior ao de baixo “pedimos 1 (representa 10) para podermos subtraímos,
então somamos 10 ao número de cima e diminuímos do número de baixo. Como pedimos emprestados para casa
à esquerda temos que retirar 1 da casa à esquerda (Ex: 3 < 8, sendo assim, pedimos 1 para a casa à esquerda,
então somamos 10 + 3 – 8 =5. Depois retiramos de 2 – casa à esquerda – o 1 que pedimos emprestado e fica 1.
Sendo a resposta 15)
f) Subtração em Binário
10
- 1
15
Quando o número de cima é inferior ao de baixo “pedimos 1 (representa 2) para podermos subtraímos, então
somamos 2 ao número de cima e diminuímos do número de baixo. Como pedimos emprestados para casa à
esquerda temos que retirar 1 da casa à esquerda (Ex: 0 < 1, sendo assim, pedimos 1 para a casa à esquerda,
então somamos 2 + 0 – 1 =1. Depois retiramos de 1 – casa à esquerda – o 1 que pedimos emprestado e fica 0.
Sendo a resposta 1)
g) Subtração em Octal
34
- 5
27
Quando o número de cima é inferior ao de baixo “pedimos 1 (representa 8) para podermos subtraímos, então
somamos 8 ao número de cima e diminuímos do número de baixo. Como pedimos emprestados para casa à
h) Subtração em Hexadecimal
B4
- 8
AC
Quando o número de cima é inferior ao de baixo “pedimos 1 (representa 16) para podermos subtraímos,
então somamos 16 ao número de cima e diminuímos do número de baixo. Como pedimos emprestados para casa
à esquerda temos que retirar 1 da casa à esquerda (Ex: 4 < 8, sendo assim, pedimos 1 para a casa à esquerda,
então somamos 16 + 4 – 8 = 12 (C). Depois retiramos de B (11) – casa à esquerda – o 1 que pedimos emprestado
e fica 10 (A). Sendo a resposta AC)
3. Álgebra Booleana
São operações lógicas realizadas de forma binária, onde o 1=V e o 0 =F, e cujo resultado será sempre 0 ou
1. Para matemática relacionamos a chamada de TABELA VERDADE
A
B X
X = A.B
ELEMENTOS RESULTADO
A B X = A.B
0 0 0
0 1 0
1 0 0
1 1 1
A
B X
X = A+B
ELEMENTOS RESULTADO
A B X = A+B
0 0 0
0 1 1
1 0 1
1 1 1
A X
ELEMENTO RESULTADO
A X=A
0 1
1 0
3.4. Operação NÃO E (NAND ou NOT NAND)
Nessa operação o resultado será o inverso do resultado da operação E, ou seja, o resultado do E será 1 (V)
apenas quando todos os elementos são 1(V) e o resultado do NAND será 0 e caso contrário será 1
A
B X
X = A.B
ELEMENTOS RESULTADO
A B X = A.B
0 0 1
0 1 1
1 0 1
1 1 0
A
B X
X = A+B
ELEMENTOS RESULTADO
A B X = A+B
0 0 1
0 1 0
1 0 0
1 1 0
A
B X
X=A+B
ELEMENTOS RESULTADO
A B X=A+B
0 0 0
0 1 1
1 0 1
Tipo Freqüência
FPM Até 33 MHz
EDO 66 MHz
SDRAM 100 e 133 MHz
DDR-SDRAM DDR - 200, 266, 333, 400 MHz; DDR2 – 400, 533, 667, 800
DDR3 - 800 , 1067 ,1333 , 1667MHz e até 3 GHz
RDRAM 400, 600, 800 e 1066 MHz
L2 CPU L2 CPU
CPU L1 L1 L2
RAID => é um hardware composto por vários discos rígidos, utilizado para agilizar o processo de acesso a dados
de um servidor (onde o arquivo é dividido em partes de tamanho iguais e distribuídos entre os diversos discos –
ditribuição de dados) ou por motivos de segurança (onde o arquivo é salvo em um HD e automaticamente é criado
um backup do mesmo que é salvo em outro HD – espelhamento)
IDE X SATA
Serial ATA ou simplesmente SATA é o padrão de discos rígidos criado para substituir os discos ATA,
também conhecidos como IDE. A taxa de transferência máxima teórica de um disco Serial ATA é de 150 MB/s ou
300 MB/s, contra os 133 MB/s de um disco rígido IDE.
A porta IDE tradicional transfere dados de forma paralela. A vantagem da transmissão paralela é que ela é
mais rápida do que a transmissão em série, pois transmite vários bits por vez. Sua grande desvantagem, porém, é
em relação ao ruído. Como terão de existir muitos fios (pelo menos um para cada bit a ser transmitido por vez), um
fio gera interferência no outro. É por esse motivo que os discos rígidos ATA-66 e superiores precisam de um cabo
especial, de 80 vias. A diferença entre esse cabo de 80 vias e o cabo IDE comum de 40 vias é que ele possui um
fio de terra entre cada fio original, funcionando como uma blindagem contra interferências.
No Serial ATA, por outro lado, a transmissão dos dados é feita de modo serial, ou seja, transmitindo um bit
por vez. Utiliza um clock maior nesta transmissão e com isso, ela é mais rápida do que a transmissão paralela.
Professor Luis Octavio - 9
CPC - Parte I - Conceitos Básicos
Portas IDE tradicionais utilizam um conector de 40 pinos e um cabo de 80 vias. As portas Serial ATA utilizam
um conector de sete pinos e um cabo com sete fios. Isto ajuda e muito no fluxo de ar dentro do micro, já que cabos
mais finos não obstruem a passagem do ar.
b) Disquete (disco flexível)
Trilha
Setor
Sistemas de Arquivos
FAT (File Alocation Table – Tabela de Alocação de Arquivos)
Os arquivos são salvos em locais chamados cluster (unidade de alocação de arquivos) e com isso há
um grande desperdício de espaço no disco.
Só visualiza unidades de discos de até 2 GB. Sendo assim, se utilizarmos um HD com tamanho
superior será necessário particionar o disco em várias unidades.
Sistemas Operacionais: MS-DOS e Windows 95
FAT32
Os arquivos são salvos em cluster (unidade de alocação de arquivos) menores e com isso há um
menor desperdício de espaço no disco.
Visualiza unidades de discos de até TB.
Sistemas Operacionais: Windows 98, ME e 2000
NTFS
Os arquivos são salvos sequencialmente e não mais em clusters e com isso não há desperdício de
espaço no disco.
Apresenta sistema de segurança no nível de arquivo.
Permite dividir o disco em cotas de utilização para os usuários.
Sistemas Operacionais: Windows 2000, XP e 2003
c) Zip disquete
3 ½”
capacidade: 100, 250 e 500 MB
d) Jaz disquete
3 ½”
f) CD
Tipos: CD-ROM – somente para leitura; CD-R – gravável e CD-RW – regravável.
Capacidade: 600, 741 e 800 Mb
Taxa de transferência padrão (x): 150 KB/s
g) DVD
Tipos: DVD-ROM – somente para leitura; DVD-R – gravável e DVD-RW OU DVD+RW 0U DVD –
RAM – regraváveis.
Capacidade: 4.7 GB a 17 GB
Taxa de transferência padrão (x): 1352 KB/s
Alta resolução
h) Fitas Magnéticas
São utilizadas para backup (cópia de segurança) em servidores. Normalmente em PC os usuários utilizam ZIP
disquete, JAZ disquete e CD-RW para criação de Backup.
Características do Backup
Cópia não utilizável, ou seja, deve ser restaurada para ser utilizada;
Cópia compactada, ocupando assim, menos espaço;
Existe cópia de atualização feita pelo Windows.
Tipos de Backup do Windows
Tipo Características Marca ou não os arquivos
que receberam backup
Normal Cria backup de todos os arquivos que forem sim
selecionados
Diferencial (atualização) Cria backup apenas dos arquivos que forem não
criados ou alterados após o último backup. É
mais seguro que o incremental, repete o backup
dos arquivos dos backups anteriores. Se a
empresa utilizar um esquema de backup normal
e backups diferenciais terá, para recuperar os
arquivos originais, que ter o backup normal e o
último diferencial
Incremental Cria backup apenas dos arquivos que forem sim
(atualização) criados ou alterados após o último backup. Se a
empresa utilizar um esquema de backup normal
e backups incrementais terá, para recuperar os
arquivos originais, que ter o backup normal e
todos os incrementais.
Diário Cria backup apenas dos arquivos que forem não
criados ou alterados no dia do backup.
QIC (Quarter Inch Cartidge): devido à sua construção bastante sólida, é um padrão preferido para
arquivamento de dados. Esse padrao possui modelos que recebem na nomenclatura MC – Mini
Cartidge (cartuchos de 3 1/2”) com capacidades variando de 40 MB até 1,8 GB e modelos com
DC – Data Cartidge (cartuchos de 5 1/4”) com capacidades de 525 MB até 25 GB.
DAT (Digital Audio Tape): descendente direto do videocassete, o sistema DAT (Digital Audio
Tape) foi concebido como um formato de gravação de áudio com qualidade de CD, que foi
posteriormente padronizado pela HP e Sony para dados, sob o nome DDS. Sua capacidade é de 2
GB, as novas especificações foram criadas até chegar ao padrão mais recente, o DDS-4 capaz de
Travan: é o padrão criado pela 3M, que oferece mídias de alta capacidade mantendo
compatibilidade com alguns padrões QIC, pois possuem gravação linear. Seus drives sao mais
simples e com custos menores. Apresenta modelos 400 MB até 20 GB.
8 mm: é o padrao semelhante ao da DAT, pois também possui gravação heliocoidal, mas com 8
mm de largura (DAT possui 4 mm) e com capacidades entre 3,5 GB e 35 GB.
DLT (Digital Linear Tape): formato que usa cartuchos de fita de 12,7 mm montados em apenas um
carretel. Originalmente criada pela DEC (Digital Corporation) e posteiormente adquirida pela
Quantum, Sua gravação é linear e um de seus principais atrativos sao: a capacidade de
armazenamento (40 GB não comprimidos), confiabilidade e velocidade de transmissão de dados
(até 6 MB por segundo no modo nativo). Existem modelos de 20 GB até 110 GB. A Compaq, assim
como outras empresas, comercializa quatro modelos de bibliotecas baseadas em DLT (TL881, TL
891, TL 895 e ESL 9000), esta última com capacidade de 326 slots, 16 leitoras de 35 GB,
totalizando mais de 11,4 TB.
Carretel (Rolo, Open Real Tape): era muito utilizada em minicomputadores e microcomputadores.
i) Pen drive (USB drive)
Alta durabilidade: 10 anos.
Capacidade: até 2 GB
Taxa de transferência: 450 KB/s
Não necessita de drive, pois utiliza porta USB (barramento universal serial – permite que 127
dispositivos diferentes utilizem a mesma porta, enquanto o barramento FIREWIRE permite 63
dispositivos, mas com taxas de transferências superiores).
j) Novas Mídias
I - HD DVD (High Density Digital Versatile Disc - Disco Digital Versátil de Alta Densidade ou High
Definition Digital Video Disc - Disco Digital de Vídeo de Alta Definição)
É um formato de mídia óptica digital, desenvolvido como sendo o primeiro padrão de vídeo de alta definição.
HD DVD é similar ao seu competidor, o disco Blu-ray, que também utiliza o mesmo tamanho de disco óptico
(120 mm de diâmetro) de mídia de compartimento óptico de dados e 405 nm leitura de ondas de laser azul.
O HD DVD utiliza um laser azul-violeta de 400 nm para ler informação dos discos enquando os DVD usam
um laser vermelho de 650nm.(O Blu-Ray usam um laser Azul-violeta de 405 nm). A pequena duração de
ondas reduz a refração e mantém o tamanho menor do laser. Isso permite que os arquivos sejam lidos com
alta densidade na superfície do disco.
O HD DVD tem a capacidade simples de 15 GB e capacidade dupla camada de 30 GB. A Toshiba anunciou
que um disco de camada tripla está em fase de pesquisa e desenvolvimento, que poderá oferecer 45 GB de
compartimento, pouco menos que o concorrente Blu-Ray. A superfície de cada camada de um HD DVD é de
0,6 mm, o mesmo do tamanho do DVD porém, 0,1 mm a menos do que a camada de um disco Blu-ray. A
abertura numérica do cabeçote de feixe ótico tem 0,65 mm, comparado aos 0,6 mm do DVD. Ambos
formatos serão compatíveis com o DVD e ambos serão utilizados assim como as técnicas de vídeo
compressão: Mpeg-2. Video Codec 1 (vc1, baseado no formato do Windows Media 9) e H.264/ Mpeg-4 AVC.
II – BD - Blu-ray
É um formato de disco óptico da nova geração de 12 cm de diâmetro (igual ao CD e ao DVD) para vídeo de
alta definição e armazenamento de dados de alta densidadApe. Compete para se converter no padrão de
discos ópticos sucessor do DVD. Seu rival é o HD-DVD. O disco Blu-Ray faz uso de um laser de cor violeta
de 405 nanometros permitindo gravar mais informação num disco do mesmo tamanho (o DVD usa um laser
de cor vermelha de 650 nanometros). Blu-ray obteve o seu nome a partir da cor azul do raio laser ("blue ray"
em inglês significa "raio azul"). A letra "e" da palavra original "blue" foi eliminada porque, em alguns países,
não se pode registar, para um nome comercial, uma palavra comum. Este raio azul mostra uma longitude de
onda curta de 405 nm e, conjuntamente com outras técnicas, permite armazenar substancialmente mais
dados que um DVD ou um CD. Blu-ray e HD-DVD dividem as mesmas dimensões e o aspecto externo.
O tamanho do "ponto" mínimo no qual um laser pode gravar está limitado pela difracção, e depende do
comprimento de onda de luz do laser e da largura da lente utilizada para gravar. No caso do laser azul-
violeta utilizado nos discos Blu-ray, o comprimento de onda é menor que nas tecnologias anteriores,
aumentando portanto o aproveitamento do espaço físico no Blu-ray (0.85, comparado com 0.6 para DVD).
Com ele, e graças a um sistema de lentes duplas e a uma camada protetora mais larga, o raio laser pode
direcionar-se de forma muito mais precisa na superfície do disco. Os pontos de informação legíveis no disco
são muito menores e, portanto, o mesmo espaço pode conter muito mais informação. Por último, mesmo
com as melhorias na tecnologia, os discos Blu-ray incorporam um sistema melhorado de codificação de
dados que permite guardar ainda mais informação.
O Blu-ray possui uma resistência aos arranhões e impressões digitais devido à sua morfologia. Os discos
têm uma capa de substrato, cujo nome comercial é Durabis, que é composta por uma camada de substrato
de 1,1 mm para um lado e 1 mm para o outro para permitir a criação de mais ficheiros de dados e o uso de
um só lado.
Tipos:
BD-ROM: Um disco que é só de leitura.
BD-R: Disco gravável.
BD-RW: Disco regravável.
Dimensões Capacidade de uma camada Capacidade com camada dupla
12 cm, lado único 25GB (23.3GiB) 50GB (46.6GiB)
12 cm, dois lados 50GB (46.6GiB) 100GB (93.2GiB)
8 cm, lado único 7.8GB (7.3GiB) 15.6GB (14.5GiB)
8 cm, dois lados 15.06GB (14.5GiB) 30.12GB (29GiB)
2. Processadores
2.1 Conceitos Importantes
a) Partes:
ULA – Unidade de Lógica e Aritmética: responsável por executar as instruções que corresponde as
operações de processamento.
UC – Unidade de Controle: responsável por controlar tudo que entra e sai da CPU e as interrupções
(solicitações feitas a CPU para interromper a execução da instrução atual, para executar uma nova
instrução de maior prioridade).
Registradores: armazenam os dados que estão sendo processados (RDM), o endereço dos dados
(REM), as instruções que estão sendo executadas (RI) e o endereço da próxima instrução que será
executada (RI).
Clock: responsável por gerar os pulsos elétricos necessários para o processamento e para buscar dados
em memória.
b) Instrução de máquina: conjunto de bits que representa uma operação realizada pelo computador.
c) Von Neumann e Pipeline
Von Neumann – era uma estrutura utilizada até o computador Pentium MMX, que permite que a
instrução seja divida em estágios que são executados seqüencialmente.
Pipeline –estrutura utilizada a partir do computador Pentium Pro até o Pentiu III, que permite que a
instrução seja divida em estágios que são executados de forma paralela
Superpipeline – estrutura utilizada no computador Pentium IV, onde a instrução é dividida em estágios
que são divididos em subestágios.
HT – estrutura utilizada no computador Pentium HT, onde acontece a simulação de dois núcleos para
que sejam executadas quase duas instruções ao mesmo tempo.
Duo Core - estrutura que utiliza dois núcleos
Extreme – núcleo duplo com tecnologia HT
Core Quad – quatro núcleos
Obs: Centrino - não é um processador para notebooks, mas sim uma plataforma composta por um conjunto de
componentes específicos ditados pela Intel: um determinado processador, um determinado chipset e uma
determinada rede sem fio.
d) RISC X CISC
RISC CISC
Computador com um conjunto reduzido de instruções Computador com um conjunto complexo de instruções
Utiliza pipeline Utiliza Von Neumann
As instruções são executadas diretamente pela CPU, pois As instruções não são executadas diretamente pela CPU,
são criadas em linguagem de máquina pois são criadas em linguagem de alto nível e por isso tem
que ser traduzidas para serem utilizadas
Utiliza muitos registradores e pouca memória RAM Utiliza poucos registradores e muita RAM
Os programas são criados diferentemente para Os programas são gerais, sendo assim, podem ser
computadores de fabricantes diferentes. utilizados por equipamentos de fabricantes diferentes.
Alto desempelho Baixo desempenho em relação as máquinas RISC
Obs: até o processador Pentium MMX utilizava-se a tecnologia CISC. A partir do Pentium Pro os processadores utilizam
tecnologia híbrida RISC/CISC, formada por núcleo RISC e um decodificador CISC.
e) Velocidade
É a quantidade de instruções que são executadas em um determinado tempo.
Medida: MIPS (milhares de instruções por segundo)
Depende unicamente do tipo de processador.
f) Frequência
É a quantidade de pulsos elétricos que são emitidos em um segundo.
Medida: MHz e GHz
Clock – equipamento que gera os pulsos elétricos para buscar dados em memória RAM (clock
externo – depende da memória) e para realizar um processamento (clock interno – dependa da
CPU)
Barramento Característica
ISA 8 bits e 16 bits
EISA 16 e 32 bits
PCI 32 e 64 bits
AGP 64 bits
USB Permite interligar 127 dispositivos diferentes
FIREWIRE 63 dispositivos, mais rápido que o USB
IRDA Infravermelho
BLUETOOTH Ondas de Rádio
Número
Velocidade
Tipo de porta máximo de
(Mbps)
dispositivos
Serial 0,25 1
Paralela EPP/ECP 3 4
SCSI-1 5 8
SCSI-2 Fast 10 8
USB 12 127
SCSI-2 Wide 20 16
SCSI-3 Ultra (Narrow) 20 8
IDE (Ultra DMA/33) 33 2
SCSI-3 Ultra Wide 40 16
Ultra2 SCSI 40 8
IEEE 1394 (FireWire) 40 63
Ultra2 Wide SCSI 80 16
Ultra3 SCSI 80 8
Ultra3 Wide SCSI 160 16
FC-AL (Fibre
400 126
Channel)
h) CHIPSET
É o nome dado ao conjunto de chips (set significa “conjunto”, daí o seu nome) usado na placa-mãe,
utilizado pelos fabricantes para substituir os vários circuitos que eram utilizados para controlar periféricos,
memória e barramentos. O CHIPSET é constituído por dois grandes chips chamados ponte norte e ponte
sul.
Ponte Norte
O chip ponte norte, também chamado de MCH (Memory Controller Hub, Hub Controlador de Memória) é
conectado diretamente ao processador e possui basicamente as seguintes funções:
Controlador de Memória (*)
Controlador do barramento AGP (se disponível)
Controlador do barramento PCI Express x16 (se disponível)
Interface para transferência de dados com a ponte sul
Ponte Sul
O chip ponte sul, também chamado ICH (I/O Controller Hub, Hub Controlador de Entrada e Saída) é
conectado à ponte norte e sua função é basicamente controlar os dispositivos on-board e de entrada e saída tais
como:
Discos Rígidos (Paralelo e Serial ATA)
Portas USB
Som on-board (*)
Rede on-board (**)
Barramento PCI
Barramento PCI Express (se disponível)
Barramento ISA (se disponível)
CPU CARACTERÍSTICAS
8086 e 8088 8 bits
286 16 bits, memória virtual
Memória cachê externa (L2)
386 386 DX – barramento interno e externo: 32 bits
386 SX – barramento interno: 32 bits e externo: 16 bits
32 bits, cachê interno (L1) de 8 KB
486 486 DX – com co-processador aritmético interno
486 SX – sem co-processador aritmético interno, mas poderia ser colocado (487)
32 bits
486 DX-2 fator de multiplicação = 2, clock externo (CE) = clock interno (CI)/2 Ex: DX-2 66 -> CI =
66 MHz e CE = CI/2 CE = 66/2 = 33 MHz
32 bits
cachê interno de 16 KB
486 DX - 4
fator de multiplicação = 3, clock externo (CE) = clock interno (CI)/3 Ex: DX-4 100 -> CI =
100 MHz e CE = CI/3 CE = 100/3 = 33 MHz
64 bits
PENTIUM clock externo = 66 MHz
fator de multiplicação variável, Ex: Pentium 100 -> CI = 100 MHz e CE = 66 MHz
MMX (MultiMedia Extension ou Math Matrix Extensions - Extensão Multimídia ou
Extensões de Matriz Matemática) - conjunto de 57 instruções cujo objetivo é manipular
vários dados pequenos de uma só vez. Por exemplo, usando um registrador de 32 bits
para carregar e executar, de uma só vez, quatro dados de oito bits. Neste exemplo, esta
PENTIUM MMX
tarefa seria quatro vezes mais rápida do que manipular os quatro dados de oito bits
individualmente.
.cachê interno de 32 KB
clock externo = 66 MHz
Primeiro computador de 6º geração => RISC e CISC (todos os outros anteriores eram
PENTIUM PRO
CISC)
L1 e L2 na CPU, L1 acessada na freqüência do clock interno e L2 acessada na metade
do clock interno
PENTIUM II
Antes do Pentium II 350 => CE = 66 MHz
Pentium II 350 e posteriores => CE = 100 MHZ
PENTIUM CELERON Não possui L2, o Pentium Celeron – A possui L2 pequeno de 128 KB
Para empresas, para ser utilizado como Servidor de Rede
L1 e L2 sendo acessadas na mesma freqüência do clock interno
32 KB de cache L1
PENTIUM II XEON 512 KB, 1 MB e 2 MB de cache de memória L2.
Clock interno de 400 e 450 MHz externo de 100 MHz.
núcleo “Deschutes” - com tecnologia de fabricação de 0,25 µm e com 7,5 milhões
de transistores, ocupando uma área de 203 mm2.
Tecnologia MMX-2 ou SSE com 70 instruções, trabalhando com números de ponto
flutuante de até 32 bits, enquanto a tecnologia MMX só trabalha com números inteiros.
Até o Pentium III 550 => clock externo = 100 MHz
Pentium III posteriores => clock externo = 133 MHz
Melhor desempenho na Internet
Primeiro computador que ultrapassou o clock interno de 1GHz
14 estágios de pipeline
Para empresas, para ser utilizado como Servidor de Rede
L1 e L2 sendo acessadas na mesma freqüência do clock interno
32 KB de cache L1 dividido
512 KB, 1 MB e 2 MB de cache de memória L2.
PENTIUM III XEON Clock interno de 500, 550, 600, 667, 700, 733, 800, 866, 900 MHz e 1GHz e clock
externo de 100 MHz até o modelo Pentiu III 550 e 133 para os posteriores..
núcleo “Deschutes” - com tecnologia de fabricação de 0,25 µm e com 7,5 milhões
de transistores, ocupando uma área de 203 mm2.
Tecnologia SSE2 – 144 instruções cujo objetivo é manipular vários dados pequenos de
uma só vez, trabalhando com números de ponto flutuante de até 64 bits.
Tecnologia SSE3 nos processadores com núcleo Prescott - Trata-se de um conjunto de
Pentium IV 13 instruções cujo objetivo é aumentar o desempenho do micro. Entre estas instruções
estão instruções de conversão de números de ponto flutuante para inteiros,
sincronização de threads e uma especificamente para a codificação de vídeo.
20 estágios de pipeline
núcleo Willamette - 256 KB de cache L2, clock externo de 400 MHz, clock
interno de 1,4 GHz até 2 GHz, suporte a tecnologia de instruções SSE2,
tecnologia de construção de 0,18 µm e tinha 42 milhões de transistores
ocupando uma área de 217 mm2. O metal utilizado para fazer a conexão dos
transistores e de outros componentes dentro do núcleo era o alumínio.
núcleo Northwood – tecnologia de construção de 0,13 µm. O núcleo
Northwood pode ser encontrado em versões de 512 KB ou 2 MB de cache L2,
barramento externo rodando a 400 MHz, 533 MHz ou 800 MHz, clock interno
de 1,6 GHz até 3 GHz suporte a instruções SSE2 e uso de 55 milhões de
transistores, ocupando uma área de 131 mm2. O metal utilizado para fazer a
interconexão dos transistores e de outros componentes dentro do núcleo é o
cobre.
Os processadores Core 2 Duo, Core 2 Quad e Core 2 Extreme são baseados na nova
microarquitetura Core, lançada para substituir a microarquitetura Netburst que era
usada no Pentium 4 e processadores derivados deste. Neste tutorial listaremos todos
os modelos já lançados destes processadores bem como as suas principais
características técnicas.
A família dos processadores Core 2 é formada por três membros: Core 2 Duo, um
processador de dois núcleos que substitui o Pentium 4 e o Pentium D; Core 2 Quad,
que é formado por dois processadores Core 2 Duo em um mesmo invólucro sendo,
portanto, um processador de quatro núcleos; e o Core 2 Extreme, que substitui o
Pentium Extreme Edition, com modelos de dois e quatro núcleos. O Core 2 Extreme
trabalha com clocks mais elevados e tem o multiplicador de clock destravado, o que
permite fazer overclock alterando o multiplicador de clock do processador.
64 KB de cache L1 (32 KB de dados + 32 KB de instruções) por núcleo
Tecnologia de dois ou quatro núcleos.
Tecnologia fabricação de 65 nm ou 45 nm.
Core 2 Soquete 775.
Barramento externo de 800 MHz (200 MHz transferindo quatro dados por pulso
de clock), 1.066 MHz (266 MHz transferindo quatro dados por pulso de clock),
1.333 MHz (333 MHz transferindo quatro dados por pulso de clock) ou 1.600
MHz (400 MHz transferindo quatro dados por pulso de clock).
2 MB, 3 MB, 4 MB ou 6 MB de cache de memória L2 compartilhado. Nos
processadores de quatro núcleos, cada par de núcleos tem seu próprio cache,
compartilhado entre os dois núcleos mas independente dos outros dois.
Tecnologia de Virtualização (exceto no Core 2 Duo modelos E4x00, E7x00 e
E81xx).
Tecnologia Intel EM64T.
Instruções SSE3.
Instruções SSE4.1 nos modelos de 45 nm.
Execute Disable.
Intelligent Power Capability.
Tecnologia Enhanced SpeedStep.
Professor Luis Octavio - 19
CPC - Parte I - Conceitos Básicos
É um processador de baixo consumo da Intel que dissipa pouco calor (menos de 3 W),
voltado para os mercados de notebooks e de dispositivos móveis com acesso à internet
– chamados MIDs pela Intel, ou Mobile Internet Devices.
Compatibilidade total com o conjunto de instruções x86, o que significa que ele
pode rodar diretamente programas e sistemas operacionais para PCs. Vários
outros processadores voltados para o mercado de dispositivos móveis têm
conjunto de instruções proprietário.
Baixíssima dissipação térmica (TDP): 4 W para o modelo 230, 2,5 W para o
modelo N270 e entre 2 W e 2,64 W para os modelos Z5xx.
Tecnologia HyperThreading.
Tecnologia de Virtualização.
Execute Disable.
Conjunto de instruções SSE3
Clock externo de 400 MHz ou 533 MHz (100 MHz ou 133 MHz transferindo
quatro dados por pulso de clock).
Atom
Caminho de dados interno de 128 bits (“Digital Media Boost”).
32 KB de cache L1 de instruções e 24 KB de cache L1 de dados.
512 KB de cache L2.
Tamanho de cache dinâmico: capacidade de desligar porções do cache de
memória quando o processador entra nos modos de economia de energia C4
ou C4E (não disponível nos modelos Atom 2xx).
Pipeline de 16 estágios.
Fabricado com tecnologia de 45 nm.
Pode trabalha em conjunto com um chipset móvel da classe Intel 945 (Atom
modelos 2xx e Nxxx) ou com um chipset Intel US15W (“Poulsbo”), Atom
modelos Z5xx. Os modelos 2xx e Nxxx são voltados para o mercado de
notebooks, enquanto que os modelos Z5xx são voltados para o mercado de
dispositivos móveis com acesso à internet.
237 pinos (modelos “Diamondville”, ou seja, 2xx e Nxxx) ou 441 pinos
(modelos “Silverthorne”, ou seja, Z5xx).
É o codinome do novo processador da Intel com controlador de memória integrado que
chegará ao mercado em breve e será chamado Core i7; esta arquitetura também será
usada nos processadores para servidores (Xeon) e, daqui a alguns anos, também será
usada nos processadores para PCs “populares”. Os processadores baseados nesta
arquitetura terão um controlador de memória DDR3 integrado de três canais, três níveis
de cache, a volta da tecnologia HyperThreading, um novo barramento externo chamado
QuickPath
Baseado na microarquitetura Intel Core.
De dois a oito núcleos.
Controlador de memória DDR3 integrado com três canais de memória.
Caches de memória L2 individuais de 256 KB para cada núcleo.
Cache de memória L3 de 8 MB.
Novo conjunto de instruções SSE 4.2 (sete novas intruções).
Tecnologia HyperThreading.
Modo Turbo (overclock automático).
Nehalem Aprimoramentos na microarquitetura (suporte a fusão de instruções no modo
de 64 bits, detector de laços aprimorado, seis portas de despacho, etc).
Aprimoramentos na unidade de previsão de desvios, com a adição de um
segundo Buffer de Desvios (BTB, Branch Target Buffer).
Um segundo Buffer de Tradução de Endereços (TLB, Translation Look-aside
Buffer) com 512 entradas.
Otimizado para as instruções SSE desalinhadas.
Aumento do desempenho da tecnologia de virtualização (melhora de 60% na
latência de virtualização em relação aos processadores Core 2 de 65 nm e
melhora de 20% em relação aos processadores Core 2 de 45 nm, segundo a
Intel).
Novo barramento externo QuickPath.
Nova unidade de controle de energia.
Tecnologia de fabricação de 45 nm no lançamento, com futuros modelos de 32
nm (processadores com codinome “Westmere”).
Novo soquete com 1.366 pinos.
c) Mouse para deficientes físicos: é o tipo de mouse criado para permitir o acesso dos deficientes físicos.
Existem vários modelos, entre eles o mostrado abaixo (Head Mouse ou Mouse Ocular), que é utilizado por
tetraplégicos;
Scanner de Mesa (Flatbed Scanner) => o processo consiste em colocar a imagem no scanner e através do
software capturar a imagem.
Scanner de Página (Page Scan) => o processo consiste em colocar a imagem na bandeja vertical do scanner
e o mesmo puxa a imagem, transportando-o para a memória do computador.
Scanner a Tambor (Drum Scan) => é o scanner que possui a mais alta resolução.
- +
Resolução
O scanner é um dispositivo que funciona em conjunto com alguns programas:
Software para captura de imagens =>esse programa envia a imagem para a tela;
Software de tratamento de imagens => esse programa permite a manipulação das imagens. São
exemplos: Photopaint, Photoshop, Photoedit, Photostyler;
OCR (Optical Character Recognition ou Reconhecedor Ótico de Caracteres) => esse programa
resgata o texto da imagem. Ele converte os caracteres para o código ASCII equivalente, permitindo que o
texto seja manipulado por outro programa chamado de Processador de texto;
Processador de Texto => permite a manipulação do texto. São exemplos: Word, Wordperfec, Wordpad.
3.5. Bar Code Reader (Leitora de Código de Barras)
Código de Barra (Bar Code) é um padrão de barras verticais largas e estreitas usado para representar
códigos numéricos de forma que possam ser lidos por uma máquina. Sua função principal é identifcar produtos.
O código de barra obedece ao Universal Product Code (UPS), que é um formato de código de barras que
inclui o código de identificação do fabricante e código do produto. Quando se passa o código pela leitora, o
computador compara o código do produto com o banco de dados e mostra outras características do produto.
3.11. Microfone
Esse equipamento alimenta o computador de sons. O som humano é formado por ondas mecânicas que pode
ser transformada em sinais elétricos e posteriormente transformado em sinais digitais. O microfone capta o som
mecânico e o leva para o computador em sinais digitais através de uma placa de som.
25
CPC - Parte I - Conceitos Básicos
3.15. Drive de CD-ROM
Como será visto posteriormente, CD-ROM é um tipo de memória secundária que só serve para leitura. O
aparelho que faz a leitura de CD-ROM (Drive ou Acionador) trabalha com leitura ótica. A leitura é feita da seguinte
forma: um laser reconhece as diferenças de reflexão de luz causadas pelos minúsculos “buracos” que são
“queimados” na superfície refletora e que identificam os bits gravados.
A dimensão do CD-ROM é de 4.75” , a velocidade de leitura se encontra nos dias atuais entre 2X a 100X.
4. Periféricos de Saída
4.1. Monitor ou Vídeo
Resolução
O vídeo é composto por vários pontos (pixels) na vertical e horizontal. A multiplicação dos pixels da horizontal
pela vertical dará a resolução final do vídeo.
a) Baixa Resolução - monitores que apresentam até 200.000 pixels. Como exemplo, os primeiros micros da
linha Apple II e CGA (Color Graphic Adapter);
b) Média Resolução - entre 200.000 e 400.000 pixels, como os monitores EGA (Enhanced Graphics Adapter)
e VGA (Vídeo Graphics Adapter) e MDA (Monocrome Display Adapter);
c) Alta Resolução - entre 400.000 e 800.000 pixels, como nos monitores padrão Super VGA (SVGA);
d) Altíssima Resolução - acima de 800.000 pixels, como em alguns monitores padrão XGA (Extended
Graphics Array) e UGA (Ultra Graphics Array) .
Definição
a) Quantida de pixels – quanto maior, maior será a definição;
b) Quantidade de cores – quanto maior, maior será a definição;
c) Distância entre os pontos – quanto maior, menor será a definição.
Entrelaçados X Não-Entrelaçados
a) Não-entrelaçados => nele a imagem é formada (varredura) com o feixe de elétrons percorrendo cada linha
da tela uma vez a cada ciclo.
b) Entrelaçados => neste método a varredura é feita com o feixe de elétrons percorrendo primeiramente as
linhas pares e depois nas ímpares.
4.2. Impressoras
As impressoras são periféricos exclusivos de saída de dados. Existem vários modelos de impressoras, que
podem variar de velocidade de impressão, qualidade do texto impresso, ou qualidade de desenhos gráficos. A
velocidade de impressão pode variar de modelo para modelo. A resolução é medida como nos scanners em DPI.
Veja abaixo os códigos existentes para definir a velocidade de impressão destes periféricos:
CPS - caracteres por segundo
LPM - linhas por minuto
PPM - páginas por minuto
Para atingir tais velocidades, as impressoras são dotadas de sistemas de impressão diferentes e que
permitem maior ou menor velocidade. Conforme o sistema adotado o preço do equipamento será maior ou menor.
Observe a seguir os sistemas de impressão mais comuns:
I - IMPRESSORAS DE IMPACTO
São impressoras que pressionam uma fita de tinta contra o papel ou utilizam mecanismo que entre em contato
com o mesmo, gerando assim, os caracteres.
a) Impressora Matricial - esse tipo de impressora utiliza um sistema de cabeça de impressão composta por
uma matriz de agulhas (normalmente de 9 a 24 agulhas) que se movimentam independentemente uma das outras.
Conforme o caractere a ser impresso, as agulhas correspondentes à formação do mesmo são ativadas, e ao
encostar em uma fita própria que possui a tinta, o caractere é impresso no papel. Este tipo de sistema de
impressão permite uma boa velocidade de impressão.
Média velocidade
Baixa resolução
Barulhentas
Utilizada para impressão de documentos fiscais.
26
CPC - Parte I - Conceitos Básicos
b) Impressora de Linha – esse tipo de impressora utiliza uma cinta metálica onde os caracteres são
colocados em alto relevo, a cinta gira a uma velocidade alta, existindo ainda uma série de martelos por trás da fita.
Quando o caractere a ser impresso está em posição, o martelo é disparado, batendo na cinta, que por sua vez
bate na fita com a tinta gerando em seguida o caractere no papel. As impressoras de linha permitem uma média
velocidade de impressão em relação às impressoras de não-impacto e alta em relação às de impacto.
c) Impressora Margarida – Essas impressoras utilizam um elemento de impressão(engrenagem) na forma
circular, formado por um conjunto de caracteres moldados na extremidade de lâminas, uma para cada caractere.
Para imprimir, a engrenagem gira até alinhar o caractere a ser impresso com o dispositivo de impacto. Essas
impressoras utilizam o mesmo mecanismo das máquinas de datilografia. São impressoras lentas (40 CPS) e em
desuso.
a) Impressora Laser – essa impressoras geram uma imagem da página, que será impressa, em um
dispositivo chamado tambor. O tambor atrai e mantém preso o toner, que é um pó químico. Quando uma folha de
papel, sensibilizada anteriormente, passa pelo tambor, retira o toner, fixando-o no papel. Depois a folha recebe
calor para fundir o toner no papel e gerar assim os caracteres ou imagens gráficas.
Altíssima velocidade (até 300 PPM)
Altíssima resolução
Utilizada para impressão digital
Alto custo
b) Impressora Deskjet (Jato de Tinta) – esse tipo é formado por um cabeçote de impressão que possui um
cartucho de tinta. Através do aquecimento ou vibração, a tinta evapora e com isso minúsculas gotículas de tinta
são enviadas ao papel, através de pequenos orifícios baseadas nos padrões dos caracteres ou gráficos que serão
impressos.
Alta velocidade (até 20 PPM)
Alta resolução, algumas com impressão de qualidade de foto;
Alguns modelos imprimem frente e verso.
c) Impressora Térmica - esse modelo utiliza pinos que são aquecidos e entram em contato levemente com
um tipo de papel especial. Ao entrar em contato com o calor o papel é descolorido, gerando assim, o caractere .
Possuem o mesmo tipo de impressão que as máquinas de fax e com isso, possuem as mesmas desvantagens:
impressão monocromática e perda de informações com o tempo.
27
CPC - Parte I - Conceitos Básicos
28
CPC - Parte I - Conceitos Básicos
29
CPC - Parte I - Conceitos Básicos
5.3. Modem e Placa de Fax Modem
Pense na comunicação entre dois computadores sendo feita via telefone. A comunicação via telefone é feita
através de sinais analógicos e os computadores trabalham com sinais digitais. Para resolver isso, utilizamos um
aparelho chamado MODEM. Esse aparelho converte sinais digitais em sinais analógicos (Modelador) na
transmissão e sinais analógicos em digitais (Demodulador) na recepção.
Você está pensando em mandar uma mensagem por computador utilizando-se da linha telefônica. Para isso,
você tem um MODEM ligado ao seu computador e esse à linha telefônica. As suas informações são transmitidas
pelo seu computador através de sinais digitais, enquanto o seu MODEM converte estes sinais em analógicos para
o seu telefone. O interlocutor recebe essa mensagem em sinais analógicos, e terá que ter também um MODEM,
que transforme estes sinais em digitais, para que a informação seja recebida e mostrada no vídeo que o mesmo
está usando.
Sinal Analógico
Sinal Digital Sinal Digital
MODULADOR
DEMODULADOR
Padrão Significado
V.22 Provê 1200 bits ppr segundo a 600 baud
V.22bis O primeiro padrão "mundial", define 2400 bits por segundo a 600 baud
V.32 Provê 4800 e 9600 bits por segundo a 2400 baud
V.32bis Provê 14,400 bits por segundo e retroativamente a 12,000, 9600, 7200, e 4800 bits por segundo
V.32terbo Provê 19,200 bits por segundo e retroativamente a 12,000, 9600, 7200, e 4800 bits por segundo;
pode operar a taxas ainda maiores com compressão; não é um padrão da CCITT/ITU
V.34 Provê 28,800 bits por segundo e retroativamente a 24,000 e 19,200 bits por segundo e compatível
retroativamente com o V.32 e V.32bis
V.34bis Provê até 33,600 bits por segundo e retroativamente a 31,200 ou taxas de transferências do V.34
V.35 Interface entre dispositivo de acesso a rede e rede de pacotes, com taxas de transferência maiores
que 19.2 Kbps. V.35 pode usar bandas de vários circuitos de telefonia como um grupo. Normalmente
utilizados em links digitais de dados, e geralmente este padrão só é disponibilizado em modens
especiais.
V.42 Mesmas taxas de transferência que o V.32, V.32bis, e outros padrões, porém com melhor correção de
erro, e conseqüentemente mais estável e confiável.
V.42bis Mesmas taxas de transferência que o V.42 porém com algoritmo de compressão mais eficiente, e
maior estabilidade.
V.90 Provê até 56,000 bits por segundo na teoria (mas na prática, alguma coisa menor). Derivada da
tecnologia x2 da 3Com (US Robotics) e da tecnologia K56flex da Rockwell.
V.92 Provê até 56.000 bits por segundo porém com vantagens na transferência de dados bilateral além de
melhorias na velocidade de equalização (handshaking) entre modens e chamada em espera. Este
padrão foi definido tendo como meta principal, melhorar os acessos discados à internet.
30
CPC - Parte I - Conceitos Básicos
Capítulo III – Sistemas Operacionais - Concorrência
2. System Calls
Os programas solicitam serviços ao Sistema Operacional através das chamadas de sistema (system call).
Elas são semelhantes às chamadas de sub-rotinas. Entretanto, enquanto as chamadas de sub-rotinas são
transferências para procedimentos normais do programa, as chamadas de sistema transferem a execução para o
sistema operacional.
A parte do sistema operacional responsável por implementar as chamadas de sistemas é normalmente
chamada de núcleo ou kernel. Os principais componentes do kernel de qualquer sistema operacional são a
gerência de processador, a gerência da memória, o sistema de arquivos e a gerência de entrada e saída.
Em função da complexidade interna de um kernel completo, muitos sistemas operacionais são
implementados em camadas. Primeiro, um componente de software chamado micronúcleo ou microkernel
implementa os serviços mais básicos associados com sistemas operacionais. Em cima do microkernel, usando os
seus serviços, o kernel implementa os demais serviços.
Alguns sistemas permitem que as aplicações acessem tanto as chamadas de sistema suportadas pelo kernel
quanto aos serviços oferecidos pelo microkernel. Entretanto, na maioria das vezes, apenas o código do kernel
pode acessar os serviços do microkernel, enquanto aplicações ficam restritas às chamadas de sistemas do kernel.
Partes do System Calls
Gerência de Memória: responsável pela alocação e desalocação de memória;
Gerência de Processos: responsável pela criação, estados, sincronização e eliminação de processos;
Gerência de Entrada e Saída: responsável pela operações de entrada e saída.
3. Shel l
O mais importante programa de sistema é o interpretador de comandos: SHELL. Sua tarefa é receber
comandos do usuário e executa-los através das chamadas de sistemas. O Shell não precisa, obrigatoriamente, ser
um programa de sistemas, ou seja, um módulo a parte do sistema operacional. Ele pode fazer parte do sistema
operacional.
4. Modos de Acesso
31
CPC - Parte I - Conceitos Básicos
As instruções solicitadas pelas aplicações podem ser privilegiadas ou não-privilegiadas. As privilegiadas
são as que colocam em risco a segurança do sistema e as que não colocam em risco, são chamadas de não-
privilegiadas.
Modos de acesso são mecanismos, armazenados em registradores, que permitem que as aplicações
executem instruções privilegiadas (modo Kennel) ou instruções não privilegiadas (modo usuário).
Para instruções de modo usuário, essas são executadas pela aplicação que solicitou. Para execução de
instruções de modo Kennel, o mecanismo funciona da seguinte forma:
1º - Aplicação solicita o serviço pela System Call;
2º - System Call altera o modo usuário para o modo Kennel;
2º - O sistema operacional realiza a solicitação feita;
3º - Modo retorna para usuário;
4º - Programa continua sua execução;
32
CPC - Parte I - Conceitos Básicos
vários processos filhos. Os processos filhos, por sua vez, podem criar outros processos. O Sistema Operacional
suspende a execução do processo pai até que o filho termine.
6.3. Estados de um processo
Um processo poderá adquirir vários estados, desde a sua criação até a sua destruição:
Criação(start): criação do processo;
Apto(ready): após ser criado ele entra em um ciclo de processador. Deixando de forma clara a
aptidão do processo ou prontidão de execução deste. Caso o processador esteja ocupado com
outro processo, este deverá esperar(“fila de apto” ou “ready queue”).
Executando(running): o processo está ocupando o processador para execução deste, fazendo ou
não chamadas de sistema.
Bloqueado(blocked): caso o processo esteja executando e até chamada seja atendida, o processo
não pode continuar sua execução. Ele fica bloqueado e só volta a disputar o processador após a
conclusão da chamada. Somente após a ocorrência de evento, ou seja uma interrupção, é que este
processo voltará a estar apto.
Destruição(destroy): a destruição do processo poderá ser devido a uma função de chamada do
sistema ou por solicitação do próprio processo. Entretanto, alguns sistemas podem resolver abortar
o processo, caso um erro crítico tenha acontecido durante uma operação de E/S.
O escalonador (scheduler) é o responsável por efetuar a seleção dos processos na fila de apto.
6.4. Considerações sobre os Processos
estado do processo;
memória alocada;
valores do contador de programa + ponteiro de pilha;
estado dos seus arquivos abertos;
prioridade;
tudo o que for necessário para que o processo possa retomar a sua execução mais tarde do ponto
onde parou na troca de contexto.
6.5. Proteção entre processos
Na multiprogramação diversos processos compartilham o computador. É necessário que o Sistema
Operacional ofereça proteção aos processos e garanta a utilização correta do sistema. Há vários tipos de
proteções dentro do próprio computador onde é oferecida pelo Sistema Operacional:
Modos de operação do processador (usuários): para obter a proteção apropriada para o sistema é
necessário o auxílio da arquitetura do computador, onde define dois modos de operação: modo usuário e
modo supervisor. O modo supervisor não há restrições de execução de instruções, quanto ao modo
usuário há algumas instruções (instruções privilegiadas) que não podem ser executadas;
Proteção dos periféricos: para proteger os periféricos, as instruções de E/S são tornadas privilegiadas. Se
um processo de usuário acessar diretamente um periférico, ocorre uma interrupção. O sistema
operacional é ativado, já em modo supervisor, e o processo de usuário é abortado. A única forma do
processo de usuário realizar uma operação de E/S é através de uma system call.
Proteção da memória: para que nenhum processo carregue em parte da memória onde haja outro processo
há a necessidade de uma proteção. Uma das formas mais simples e eficaz são os registradores de
limites. Estes servem simplesmente para determinar os limites (início e fim) de um processo; evitando
assim o carregamento em uma parte “privada” de outro processo.
6.5. Interrupções
O mecanismo de interrupções é um recurso comum dos processadores de qualquer porte. A função
específica das interrupções é fazer com que um controlador de periféricos1 chame a atenção do processador.
Após o desvio da atenção do processador, o tratador de interrupções será responsável por atendê-la. Este realiza
as ações necessárias em função da ocorrência da interrupção. Quando um tratador termina, a execução volta para
a rotina interrompida, sem que essa percebe que foi interrompida.
É importante frisar que uma interrupção pode ser ativada por software(traps), como exemplificado, ou por
hardware. No caso de ativação por hardware, o momento exato não pode ser previsto pelo programa. A princípio, o
tratador poderá ser ativado em qualquer ponto da execução de um programa.
Quando uma interrupção acontece, são guardadas todas as informações necessárias para que este
recomece exatamente do mesmo ponto; ou seja, o conteúdo de todos os registradores deverá ser o mesmo que no
momento em que ocorreu a interrupção. O local mais indicado é a pilha de execução. Portanto, o processador
guarda o conteúdo de todos os registradores na pilha de execução e dispõe de uma instrução (retorno de
interrupção) onde repõe o conteúdo original dos registradores e faz o processador retomar a execução do
programa interrompido.
Como dentro do computador há diversos controladores capazes de gerar interrupções, a forma mais simples
de identificar a origem de uma interrupção é associada a cada controlador um tipo diferente de interrupção. Cada
tipo de interrupção é identificado por um número, definidas pelos projetistas do sistema.
33
CPC - Parte I - Conceitos Básicos
Somente em alguns casos em específico uma interrupção não pode ser executada. Para isso, é necessário
desligar o mecanismo de interrupções temporariamente, enquanto o programa realiza uma tarefa crítica que não
pode ser interrompida (habilitar e desabilitar interrupções). Portanto, há uma prioridade entre as interrupções.
A função específica das interrupções é fazer com que um controlador de periféricos chame a atenção do
processador.
A Intel define uma interrupção como "elas [as interrupções] alteram o fluxo normal do programa para
manipular eventos externos ou para reportar erros ou condições de exceção".
Esta definição é um tanto simplista e deixa de fora alguns aspectos relevantes. O primeiro deles é como
ocorre uma interrupção.
Uma interrupção pode ser gerada por software ou por hardware. Tomemos como exemplo uma interrupção
de hardware quando uma tecla é digitada. Se tudo estiver configurado corretamente, quando uma tecla é digitada,
o teclado envia um pedido de interrupção para a CPU. Neste caso, a CPU pára o código em execução e chama
uma função que fará a leitura da porta 0x60 (a porta de saída do teclado) para determinar o que o teclado está
enviando. Esta função, então, deverá devolver o controle para o que estava sendo executado antes do teclado ter
enviado o pedido de interrupção.
O código original, com freqüência, nem fica sabendo que ocorreu uma interrupção. Uma interrupção também
pode ser gerada através de software através da instrução Assembly INT <número da interrupção>.
6.6. Pilha
A pilha é uma área especial de memória dentro do processador.
Informações que se guarda na pilha (com PUSH) são colocadas no topo. Quando informações são tiradas da
pilha, estas também são tiradas do topo. Isto resulta numa regra simples: os últimos dados que entram na pilha
são os primeiros a sair. A pilha é muito utilizada pelas rotinas dos códigos operacionais do computador.
Como as interrupções podem ser usadas
O teclado, assim como qualquer outro dispositivo do computador pode disparar uma interrupção: HDs, drives
de disquete, placas de som, drives de CD-ROM, placas de rede, etc.
Todos utilizam interrupções por dois motivos: para avisar o sistema operacional que completaram alguma
tarefa ou que possuem dados para o sistema operacional.
O PIT (Programable Interrupt Timer - Temporizador de Interrupções Programável) também dispara
interrupções em intervalos de tempo pré-determinados, o que é muito útil na multitarefa preemptiva.
Programas de usuários também podem usar interrupções. O MS-DOS e a BIOS fornecem várias
interrupções para este fim. As interrupções da BIOS só funcionam em modo real.
6.6.ISR
Uma ISR (Interrupt Service Routine - Rotina do Serviço de Interrupções) é o código executado quando ocorre
uma interrupção, portanto, existe uma ISR para cada interrupção. A forma como a CPU fica sabendo qual ISR
executar será analisada mais adiante.
6.7. IRQ e PIC
As IRQs (Interrupt Request - Requisição de Interrupção) são interrupções disparadas pelo hardware. Existem
16 no total e são numeradas de 0 a 15. O PIC (Programable Interrupt Controller) é a ponte entre as IRQs e a CPU.
O PIC mapeia estas IRQs em dois blocos com 8 IRQs cada. É padrão que as 8 primeiras IRQs sejam mapeadas
em interrupções de 8 a 15 e que as 8 últimas seja mapeadas em interrupções de 112 a 119.
Isto acaba interferindo com as exceções (o que seja visto adiante), de modo que se torna necessário
remapear as IRQs para um bloco diferente de números de interrupção (assunto que será tratado num módulo
próprio).
Quando ocorre uma interrupção de hardware, uma série de eventos é desencadeada. Para simplificar o
processo e aumentar a compatibilidade dos dispositivos nas diferentes plataformas, quando um dispositivo dispara
uma IRQ, ele a dirige para o PIC enviando toda a informação necessária. O PIC identifica o número da IRQ e
depois avisa a CPU. A CPU, assim que terminar a instrução corrente, executa o número da interrupção recebida.
6.8. IDT
Uma IDT (Interrupt Descriptor Table - Tabela de Descritores de Interrupção) é um array de descritores que é
usada para associar interrupções e exceções com as respectivas ISRs. É o mapa para a CPU saber qual a rotina
que precisa ser executada quando receber uma chamada de interrupção. Cada descritor é composto por 8 bytes e
a IDT pode conter no máximo 256 descritores (o total de interrupções no PC também é 256).
Quando se cria uma IDT, não é necessário que a tabela contenha 256 descritores, basta usar um para cada
interrupção que será tratada no seu sistema operacional. Para informar a localização da IDT para a CPU, usamos a
instrução Assembly LIDT.
6.9. Exceção
Uma exceção é uma interrupção que ocorre quando alguma coisa dá errado com o código que está sendo
executado. Pode ser uma divisão por zero, uma tentativa de acessar um segmento inexistente ou coisa parecida.
Existem 15 tipos de exceções na CPU x86, classificadas como interrupções de 0 a 16, o que significa que
existem algumas "falhas" na seqüência. Estas falhas correspondem a interrupções reservadas pela Intel, talvez
para uso futuro.
34
CPC - Parte I - Conceitos Básicos
37
CPC - Parte I - Conceitos Básicos
É importante ressaltar que as caixas postais permitem uma comunicação de N para N processos,
enquanto o endereçamento direto permite uma comunicação de 1 para 1 processo.
Uma forma popular de usar mensagem é a chamada remota de procedimentos (RPC – remote
procedure call). Nesse caso, o processo chamador utiliza o Send para solicitar a execução de uma
determinada rotina em outro processo, passando os parâmetros para essa rotina com parte da
mensagem. Em seguida, ele executa um Receive, para receber o pedido de execução de uma
rotina, executa a rotina com os parâmetros recebidos na mensagem e utiliza o Send para enviar os
resultados da execução ao processo chamador. Dessa forma, a comunicação entre processos
baseada em mensagens é disfarçada de uma simples chamada de subrotina.
6.14. DeadLocks
Embora deadloacks possam ocorrer em diversos pontos de um sistema operacional, eles são um dos
principais problemas dos programas concorrentes. Também é comum a ocorrência de deadlocks envolvendo
arquivos e periféricos.
Por definição, um conjunto de N processos está em deadlock quando cada um dos N processos está
bloqueado à espera de um evento que somente pode ser causado por um dos N processos do conjunto.
Obviamente, essa situação somente pode ser alterada por alguma iniciativa que parta de um processo fora
do conjunto dos N processos.
Existem 4 condições necessárias para ser possível à ocorrência de um deadlock em determinado sistema.
São elas:
Existência de recursos que precisam ser acessados de forma exclusiva;
Possibilidade de processos manterem recursos alocados enquanto esperam por recursos adicionais;
Necessidade dos recursos serem liberados pelos próprios processos que os estão utilizando;
Possibilidade da formação de uma espera circular.
Existem várias formas de tratar o problema do deadlock. Infelizmente, isso não é facilmente eliminado.
Uma forma usual é deixar acontecer o deadlock, detectá-lo e então eliminá-lo. A detecção pode ser feita de
forma automática ou manual. O deadlock é eliminado através da destruição dos processos envolvidos e da
liberação dos respectivos recursos.
38
CPC - Parte I - Conceitos Básicos
Capítulo IV – Redes
1. Conceitos de Transmissão
1.1. Modos de comunicação de Dados
Na comunicação de dados existe transmissor (pessoa que envia a mensagem) e receptor (pessoa que
recebe a mensagem). Os modos de comunicação são definidos pela quantidade de transmissores.
Simplex => Nesse modo existe um único transmissor. Como exemplo podemos citar a televisão.
Half Duplex => Nesse modo temos dois transmissores, só que ao mesmo tempo temos apenas
um transmissor. É o caso do rádio amador.
Full Duplex => Nesse modo temos dois ou mais transmissores, até mesmo no mesmo momento .
É o caso do telefone.
1.2. Tipos de Transmissão
É a forma como os bits são transmitidos.
Serial => É o tipo de transmissão onde são passados bits um a um.
Paralela => É a transmissão onde são passados vários bits ao mesmo tempo. Para cada bit,
existe um fio correspondente.
1.3. Ritmos de Transmissão
Assíncrona => para cada caractere a ser transmitido, utiliza-se um elemento de sinalização para
indicar o início do caractere (START) e outro para indicar o término do caractere (STOP).
Síncrona => utiliza-se um caractere de sincronismo no início da transmissão, transmite-se os bits
seqüencialmente e envia-se um caractere de sincronismo no fim da transmissão.
1.4. Comutação de Dados
É a alocação dos recursos da rede para transmissão.
Comutação de Circuitos => os dados são enviados por um canal dedicado.
Comutação de Mensagens => é inserido o endereço de destino, pois não é utilizado um canal
dedicado, e a mensagem é transmitida de nó em nó, até chegar no destino.
Comutação de Pacotes => é inserido o endereço de destino, pois não é utilizado um canal
dedicado, e a mensagem é divida em blocos de tamanho limitados (pacotes), sendo transmitidos
de nó em nó, até chegar no destino.
1.5. Modulação
É o processo pelo qual são modificados uma ou mais características de uma onda denominada
portadora.
FSK (Frequency Shift Keying – Modulação por desvio de freqüência) => altera a freqüência da
onda portadora.
ASK (Amplitude Shift Keying – Modulação por desvio de amplitude) => altera as
características da amplitude da onda portadora, de acordo com os dados a serem transmitidos.
PSK (Phase Shift Keying – Modulação por desvio de fase) => altera a fase da onda portadora,
de acordo com os dados a serem transmitidos.
DPSK (Differential Phase Shift Keying – Modulação por desvio de fase diferencial) => é uma
variação da PSK, mas onde cada bit não se associa a uma fase da portadora, mas sim, a uma
mudança ou não desta mesma fase, ou seja, para cada bit 0, efetua-se uma inversão de 180o na
fase e,no bit 1, não se altera a fase.
QAM (Quadrante Amplitude Modulation – Modulação por amplitude em Quadrante) =>
modifica simultaneamente duas características da portadora: amplitude e fase.
1.6. Fatores que interferem na Transmissão
Atenuação: é a perda na intensidade ou a perda na amplitude do sinal da onda, conforme esta se
vai propagando através da linha.
Ruído: é a interferência gerada por sinais indesejáveis que aparecem no canal de comunicação,
distorcendo ou mascarando os sinais de informações.
Eco: são sinais refletidos, ocasionados pela mudança de impedância na linha, que voltarão por
esta linha, podendo corromper os sinais que estão sendo transmitidos.
39
CPC - Parte I - Conceitos Básicos
Diafonia: transbordamento de sinal de um fio adjacente,ou seja, sinais de uma linha se
misturando a sinais de outras.
Drop Out: perda por um curto intervalo de tempo da onda portadora do sinal.
Gain Hits: variações bruscas no ganho de amplitude.
Phase Hits: mudanças repentinas na fase de um sinal.
1.7. Métodos de Controle de Congestionamento
Congestionamento é um excesso de pacotes em uma sub-rede, podendo gerar um deadlock (condição
de impasse). Os métodos de Controle de Congestionamento são:
Descarte de Pacotes: é um método de controle, que permite eliminar pacotes por excesso de
informação armazenada.
Pré-alocação de buffers: neste método se já estiverem reservados os buffers, cria-se uma nova
rota.
Controle isorrímico: neste método são limitados o número de pacotes em trânsito, através de
permissão.
Controle de Tráfego no Enlace: cada nó monitora a utilização de percentual de cada uma das
linhas de saída.
Obs: quando ultrapassar o limiar aceito, a linha de saída entra em estado de espera.
1.8. Detecção de Erros
Paridade Vertical ou VRC (Vertical Redundancy Check): este método pode usar a técnica de
paridade par ou paridade impar, onde a soma dos bits “1” de um caractere totaliza um valor par ou
impar. Insere-se um bit adicional na configuração normal de cada caractere, de tal maneira que na
estação transmissora gera-se um conjunto de bits mais um bit adicional de paridade para cada
caractere transmitido. A soma dos nove bits deve manter sempre par ou sempre ímpar,
dependendo da técnica escolhida.
CRC (Cyclic Redundancy Check): gera-se um caractere de verificação, adicionando bits de cada
posição dentro de cada byte do bloco de mensagem, divide todos os bits de um bloco por um
número binário predeterminado. O resto da divisão gera o caractere de verificação que será
transmitido. O receptor recalcula o caractere usando a mesma técnica, e os CRC são comparados.
Código de Razão Constante: é a técnica na qual os caracteres são gerados de tal forma que a
razão entre o numero de 1 e o número de 0 que compõe o caractere seja constante.
1.8. Técnicas de Correção de Erros
Correção Manual (Echoplexing): nela os dados enviados são devolvidos e comparados
individualmente.
Correção por Solicitação: nela a informação é enviada com um caractere de controle de erro
(BCC), com isso o receptor analisa o BCC e informa ao transmissor se houve ou não erro,
solicitando ou não a retransmissão. Nela ACK (Acknowledgement) indica um bloco bem recebido e
NACK (Negative Acknowledgement) indica que o bloco recebido contém erros.
Correção Automática: mesma que a anterior, mas sem retorno de confirmação.
2. Cabos e Conectores
2.1. Cabo Coaxial
40
CPC - Parte I - Conceitos Básicos
Este tipo de cabo é constituído pôr um núcleo de cobre sólido ou trançado cercado pôr um isolante, uma
blindagem de malha metálica (cobre ou luva de alumínio) e uma cobertura externa. Uma camada de folha
isolante e uma camada de malha metálica constitui de blindagem dupla.
Defini-se blindagem como a malha metálica (ou de outro material) entrelaçada ou retorcida que cerca
alguns tipos de cabos. A blindagem protege os dados transmitidos, absorvendo sinais eletrônicos dispersos,
chamados de ruídos, para que não cheguem ao cabo e distorçam os dados.
O núcleo de um cabo coaxial transporta os sinais eletrônicos que constituem os dados. Esse núcleo do
cabo pode ser sólido ou trançado. Se o núcleo for sólido, geralmente será de cobre. Este núcleo é cercado
por uma camada isolante que se separa da malha de fio. A malha de fio trançada funciona como um fio terra
e protege o núcleo contra ruídos elétricos e diafonia
Deve existir uma separação entre o núcleo condutor e a malha de fio. Se entrarem em contato, o cabo
estará sujeito a um curto-circuito e ruídos ou sinais dispersos da malha fluirão para o fio de cobre, destruindo
assim os dados.
O revestimento deste tipo de cabo é geralmente com materiais do tipo borracha, Teflon ou até mesmo
plástico, sendo que, esta camada é não-condutora.
O cabo coaxial é mais resistente à interferência e atenuação do que o cabo de par trançado.
A malha trançada protetora pode absorver os sinais eletrônicos ambientais, desse modo, estes não
afetam os dados que estão sendo enviados através do cabo de cobre interno. Pôr este motivo, o cabo coaxial
é uma boa opção para distâncias maiores e para suportar com segurança a taxa de dados mais altas com
equipamentos mais simples.
41
CPC - Parte I - Conceitos Básicos
a) Cabo com conector BNC - este tipo é soldado ou ajustado à extremidade do cabo.
b) Conector T BNC – este conector une a placa de interface de rede do computador ao cabo da rede.
c) Conector Barrel BNC – este conector é utilizado para unir dois cabos para formar um cabo de
tamanho maior.
d) Terminador BNC – em cada extremidade do cabo de barramento, é colocado um terminador BNC
para absorver sinais ambientais. Sem os terminadores BNC, uma rede de barramentos não funcionará.
O cabo de par trançado é constituído por dois filamentos isolados de cobre. Os vários fios de par
trançado são agrupados e fechados em um revestimento protetor para formar um cabo. O número real de
pares em um cabo varia. A torção elimina o ruído elétrico dos pares vizinhos e de outras fontes, como
motores, relés e transformadores.
Atualmente, há dois tipos básicos de cabos de par trançado. O primeiro tipo chama-se Par Trançado
Não-Blindado (UTP – Unshield Twister-Pair – 100 ohm) e o segundo tipo se chama Par Trançado Blindado
(STP- Shielded Twister-Pair – 150 ohm)
O UTP é especificado no Commercial Building Wiring Standard (padrão de cabeamento de prédios
comerciais, da Assossiação de Insdustrias Eletrônicas e Assossiação de Industrias de Telecomunicações). A
EIA/TIA 568 utilizou o UTP para criar padrões que se aplicam a várias situações de construção e
cabeamento. Esses padrões incluem seis categorias de UTP.
Categoria 1 – refere-se ao cabo telefônico UTP tradicional que pode transportar voz, mas não
dados. Utiliza conector RJ-11
Categoria 2 – esta categoria certifica o cabo UTP para transmissões de dados de até 4 Mbps.
Não é recomendado para transmissão de dados
42
CPC - Parte I - Conceitos Básicos
Categoria 3 – esta categoria certifica o cabo UTP de 100 ohms para transmissões de dados de
até 10 Mbps. 16 MHz.
Categoria 4 – esta categoria certifica o cabo UTP de 100 ohms para transmissões de dados de
até 16 Mps. 20 MHz e pouco utilizado (Token Ring).
Categoria 5 - esta categoria certifica o cabo UTP de 100 ohms para transmissões de dados de
até 100 Mps. 1000 MHz.
Categoria 5e (enhanced – aperfeiçoado): mesmo padrão do anterior, mas suporta taxa de
até 155 Mbps.
Categoria 6: suporta taxa de 255 Mbps
A maioria dos sistemas telefônicos utilizam um tipo de UTP. Na realidade, um motivo de o UTP ser tão
popular é o fato de muitos prédios serem cabeados previamente pôr sistemas telefônicos de par trançado.
Como parte de cabeamento prévio, geralmente é instalado um cabo UTP adicional, para atender as
necessidades futuras de cabeamento.
Como foi citado anteriormente, um problema potencial com todos os tipos de cabos é a diafonia. O UTP
é especialmente sucetível à diafonia. A blindagem é utilizada para reduzí-la.
O cabo par trançado utiliza os conectores do tipo RJ-45 (telefônico) para conectar-se a um computador.
Esse conector é semelhante ao conector telefônico RJ-11.Embora pareçam iguais as diferenças são nítidas, o
RJ-45 é maior e não se ajusta à tomada telefônica do RJ-11. O conector Rj-45 aloja oito conexões de cabos,
ao passo que RJ-11 permite apenas quatro.
Uma forma de transmissão moderna é a utilização de cabos de fibra óptica que transportam sinais de
dados digitais de forma de pulsos modulados de luz. Esse é um meio relativamente seguro de enviar dados
porque nenhum impulso elétrico é transportado no cabo de fibra óptica. Isso significa que não é possível
interceptar o cabo de fibra óptica e subtrair seus dados.
O cabo de fibra óptica é apropriado par transmissão de dados a grande velocidade e alta capacidade,
devido a ausência de atenuação e pureza do sinal.
Uma fibra óptica é constituída pôr um cilindro de vidro extremamente fino chamado de núcleo, cercado
pôr uma camada concêntrica de vidro, conhecida como revestimento. As fibras algumas vezes são feitas de
plástico. O plástico é mais fácil de instalar, mas não pode transportar os pulsos de luz para tão longe quanto o
vidro.
O transporte de dados via fibra óptica é unidirecional, sendo portanto, necessário a presença de dois
filamentos, com invólucros separados para que um envie e outro receba os pulsos de luz. Uma camada de
plástico de reforço circunda cada filamento de vidro e fibras kevlar proporcionam firmeza. As fibras kevlar do
conector óptico são colocadas entre dois cabos, que são revestidos de plástico.
As transmissões pôr cabo de fibra óptica não estão sujeitas à interferência elétrica e são
extremamente velozes (atualmente transmitindo cerca de 100 Mbps e 1000 Mbps, com taxas comprovadas
de até 200.000 Mbps) . Podem transportar um sinal, ou pulso de luz, pôr vários quilômetros.
43
CPC - Parte I - Conceitos Básicos
3. Equipamentos
3.1. Repetidor (Repeater)
É o dispositivo responsável por ampliar o tamanho máximo do cabeamento da rede. Este equipamento
recebe um sinal degenerado, regenera o mesmo e retransmite para o próximo ponto da rede.
Características:
Funciona na camada Física do modelo OSI;
Os pacotes e protocolos precisam ser os mesmos;
Desconhece o endereço de destino;
Não restringe o fluxo de tráfego problemático.
Regras de segmentação:
Redes Ethernet: com cinco segmentos em série pode ter até quatro repetidores e até três segmentos de
cabo coaxial. Com quatro segmentos pode ter até três repetidores e não existe limite quanto ao uso do
cabo coaxial.
Rede Fast Ethernet:
Repetidor classe I: apenas a interligação entre dois segmentos, sendo usado par trançado
e o limite de cada segmento é de 100m.
Repetidor classe II: aceita a ligação com mais um Classe II, tendo até 5 metros entre os
44
CPC - Parte I - Conceitos Básicos
dois segmentos.
Rede Gigabit Ethernet: utilizam no máximo 1 repetidor.
3.2. Hub
Equipamento que permite uma conexão central para as estações de trabalho, servidores e periféricos.
Características:
Funciona na camada Física do modelo OSI;
Trabalham com arquitetura de meio físico compartilhado, ou seja, cada estação se comunica com o hub
um de cada vez, concorrendo pelo único barramento;
É responsável por distribuir os sinais elétricos entre os vários equipamentos que compõe a rede, isolando
os problemas de cada uma das estações e garantindo maior nível de segurança e confiabilidade ao
sistema;
Tipos:
Hub Ativo: além de funcionar como concentrador, são capazes de regenerarem e retransmitir sinais
(repetidores multiportais).
Hub Passivo: são concentradores de cabos que não possuem qualquer tipo de alimentação elétrica, como
acontece com o ativo.
Hubs Híbridos: aceitam cabeamentos diferentes.
Hubs Inteligentes: aceitam qualquer tipo de monitoramento, feito via software, fornecendo relatórios
estatísticos de acesso e detectando falhas.
Hubs Empilháveis (cascatável – stackable): são os que permitem a ampliação de seu número de portas.
Eles possuem porta especial que permite interligá-los a outros hubs.
Hubs de Múltipla Velocidades: são os que podem operar com mais de uma velocidade.
Regras de segmentação:
Redes Ethernet: não podem ter mais de cinco segmentos e quatro hubs entre os dois micros mais
afastados.
Rede Fast Ethernet:
Classe I: não permite ligação de hubs.
Classe II: aceita a ligação de apena mais um Classe II.
Rede Gigabit Ethernet: não aceitam que seus hubs sejam interligados entre si.
São dispositivos que interligam 2 segmentos de rede, que conhece o endereço de destino e permite
evitar o congestionamento, pois pode armazenar o dado quando o canal está congestionado para posterior
45
CPC - Parte I - Conceitos Básicos
retransmissão.
Funções:
Ler o endereço do pacote e retransmiti-lo. Verifica o endereço de origem e destino de cada pacote,
preparando uma tabela de roteamento. Se o destino não constar na tabela, envia aos segmentos. Caso
contrário, envia para o segmento específico;
Filtrar as mensagens, de modo que pacotes com erro não sejam retransmitidos;
Armazenar os pacotes quando o tráfego for muito grande.
Características:
Funciona na camada de Enlace do modelo OSI;
Pode isolar computadores que possuam um volume muito grande de tráfego de dados;
Pode interligar meios físicos diferentes;
Não distingue protocolos diferentes;
Manipula pacotes, não retransmitindo ruídos e erros;
Não replica para outros segmentos os pacotes que tenham como destino o mesmo segmento da origem.
3.4. Switch
São pontes que possuem várias portas e que enviam quadros de dados somente para a porta de
destino.
Características:
Funciona na camada de Enlace do modelo OSI;
Ao contrário dos hubs, o switch oferece uma linha comutada dedicada a cada uma de suas conexões,
permitindo assim, que cada conexão se comunique à velocidade total da LAN.
Tipos:
Stand alone: possui número fixo de portas.
Switches empilháveis: permitem se conectar a outros switches.
Equipamento que interliga duas redes, verificando qual o melhor caminho para enviar os dados. Pode
interligar redes com protocolos e topologias diferentes, mas não de tipos diferentes.
Características:
46
CPC - Parte I - Conceitos Básicos
Funciona na camada de Rede do modelo OSI;
Pode desviar conexões lentas ou que funcionem mal;
Utiliza endereçamento IP (lógico), enquanto as pontes utilizam endereçamento físico (MAC);
Desconhecendo a localização física de uma máquina, passa o pacote para outro roteador
hierarquicamente superior;
Podem realizar a fragmentação dos pacotes, permitindo assim, trabalhar com pacotes de tamanho
diferentes.
Tipos:
Estáticos: instalação e configuração são feitas manualmente de todas as rotas.
Dinâmicos: configuração manual da primeira rota e depois verificação automática das redes e rotas
adicionais.
3.6. Gateway (Porta de Comunicação)
São dispositivos que tornam possível a comunicação entre arquiteturas e ambientes diferentes, ou
seja, entre qualquer tipo de rede. Estes equipamentos trabalham em todas as camadas do modelo OSI.
3.7. Multiplexador
Permite que vários equipamentos utilizem um único canal de comunicação, através da determinação
de um tempo de utilização do canal (TDM – Multiplexação por Divisão de Tempo) ou dividindo o canal em
canais menores, que utilizem freqüências diferentes (FDM – Multiplexação por divisão de freqüência).
4. Tipos de Rede
LAN (Rede Local): Rede que ocupa uma pequena área geográfica, correspondente a poucos Km (até 10
Km), onde os equipamentos ficam próximos e normalmente utiliza-se comunicação via cabo.
MAN (Rede Metropolitana): Rede que corresponde a uma metrópole, até 100 Km.
WAN (Rede à Longa Distância): Rede para grandes distâncias, acima de 100 Km, onde a comunicação
normalmente será feita por satélite, ondas de rádio, microondas ou cabos de fibra optica.
WLAN (Rede sem fio Local): Rede local do tipo Wireless – sem fio, onde a comunicação é feita via ondas
de rádio ou infravermelho.
47
CPC - Parte I - Conceitos Básicos
5. Topologias de Rede
Topologia Barramento
48
CPC - Parte I - Conceitos Básicos
Utilizando o componente chamado conector barrel que pode se conectar dois cabos para
formar um maior, entretanto não é indicado utilizar este método, pois os conectores enfraquecem o sinal e
devem ser aplicados com moderação (indica-se trocar o cabo pequeno por um maior formando uma conexão
contínua).
Utilizando um dispositivo chamado repetidor que amplifica o sinal antes de enviá-lo ao seu
destino melhorando a comunicação e tornando-a mais confiável.
Topologia Estrela
A topologia de estrela oferece uma conexão de computadores por meio de segmentos de cabo a um
componente centralizado chamado hub. Os sinais são transmitidos a partir do computador que está enviando
através do hub até todos os computadores na rede. Essa topologia iniciou-se nos primeiros momentos da
computação, com os computadores conectados a um computador mainframe (grande porte) centralizado.
A rede de estrela oferece recursos e gerenciamento centralizados. Entretanto, como cada computador
está conectado a um ponto central, esta topologia exige uma grande quantidade de cabos em uma instalação
grande de rede. Além disso se o ponto central falhar, a rede inteira cai.
Caso um computador pertencente a uma rede de topologia estrela falhar ou o cabo que o conecta ao
hub se partir, somente este não poderá enviar dados ou receber mensagens mas o restante da rede continua
funcionando normalmente.
Topologia Anel
49
CPC - Parte I - Conceitos Básicos
computadores. Ao contrário da topologia de barramento passiva, cada computador atua como repetidor para
amplificar o sinal e enviá-lo para o seguinte. Como o sinal passa através de todos os computadores, a falha
em um computador faz com que a rede seja totalmente paralisada.
Topologias Pontos positivos Pontos negativos
Topologia Estrela . É mais tolerante a falhas . Custo de instalação maior porque
. Fácil de adicionar usuários a recebe mais cabos.
rede
. Monitoramento centralizado
Topologia Anel (Token Ring) . Razoavelmente fácil de . Se uma estação para de funcionar
instalar. todas param.
. Requer menos cabos . Os problemas são difíceis de isolar.
. Desempenho uniforme
Topologia barramento . Simples e fácil de instalar . A rede fica mais lenta em períodos de
. Requer menos cabos uso intenso.
. Fácil de entender . Os problemas são difíceis de isolar.
6. Tecnologias de Rede
a) Ethernet (IEEE 802.3)
É uma tecnologia de rede LAN, que trabalha com taxa de 10 Mbps, utilizando topologia barramento
(Coaxial) ou Estrela (Par trançado com HUB). É a mais conhecida dentre as atualmente utilizadas, e está no
mercado há mais tempo do que as outras tecnologias de rede. A redução dos preços e uma relativa alta
velocidade de transmissão de dados fomentaram a ampla utilização da Ethernet.
Neste tipo de rede, cada PC “ouve” o tráfego na rede e se não ouvir nada, eles transmitem as
informações. Se dois clientes transmitirem informações ao mesmo tempo, eles são alertados sobre à colisão ,
param a transmissão e esperam um período aleatório para cada um antes de tentar novamente, este método
é conhecido como Carrier Sense Multiple Access with Collision Detection (CSMA/CD) .
c) FDDI
É a rede LAN token ring de fibra optica de alto desempenho, que funciona a 100 Mbps. Utiliza um
sistema de duplo anel.
7. Modelo OSI
Para facilitar o processo de padronização e obter interconectividade entre máquinas de diferentes
fabricantes, a Organização Internacional de Padronização (ISO - International Standards Organization)
aprovou, no início dos anos 80, um modelo de referência para permitir a comunicação entre máquinas
heterogêneas, denominado OSI (Open Systems Interconnection). Esse modelo serve de base para qualquer
tipo de rede,seja de curta, média ou longa distância.
O modelo OSI é uma arquitetura que divide a comunicação de rede em sete níveis (camadas). Cada
nível engloba diferentes atividades, equipamentos e protocolos de rede.
A disposição em camadas especifica funções e serviços diferentes em camadas diferentes. Cada
camada do OSI tem funções de rede bem definidas e as funções de cada camada comunica-se e trabalham
com as funções das camadas imediatamente superiores e inferiores. Pôr exemplo, a camada de Sessão deve
comunicar e trabalhar com as camadas de Apresentação e Transporte.
50
CPC - Parte I - Conceitos Básicos
Entre cada nível existe uma interface. Essa interface permite que dois níveis quaisquer troquem
informações. A interface também define quais primitivas, operações e serviços o nível inferior oferece ao
imediatamente superior.
Cada nível é independente entre si e executa somente suas funções, sem se preocupar com as funções
dos outros níveis. Assim, por exemplo, o nível 2 preocupa-se em fazer uma transmissão livre de erros, não
importando se o nível físico esteja utilizando par trançado, cabo coaxial ou fibra ótica.
7.1 Nível 1: físico
O nível físico tem a função de transmitir uma seqüência de bits através de um canal de comunicação.
As funções típicas dos protocolos deste nível são para fazer com que um bit "1" transmitido por uma estação
seja entendido pelo receptor como bit "1" e não como bit "0". Assim, este nível trabalha basicamente com as
características mecânicas e elétricas do meio físico, como por exemplo:
- Número de volts que devem representar os níveis lógicos "1" e "0";
- Velocidade máxima da transmissão;
- Transmissão simplex, half-duplex ou full-duplex;
- Número de pinos do conector e utilidade de cada um;
- Diâmetro dos condutores.
Os protocolos deste nível são os que realizam a codificação/decodificação de símbolos e caracteres em
sinais elétricos lançados no meio físico, que fica logo abaixo dessa camada.
7.2 Nível 2: enlace
O principal objetivo do nível de enlace é receber/transmitir uma seqüência de bits do/para o nível físico
e transformá-los em uma linha que esteja livre de erros de transmissão, a fim de que essa informação seja
utilizada pelo nível de rede.
O nível de enlace está dividido em dois sub-níveis: o superior é o controle lógico do enlace (LLC -
Logical Link Control), e o inferior é o controle de acesso ao meio (MAC - Medium Access Control).
51
CPC - Parte I - Conceitos Básicos
prejudicando o desempenho do sistema. Para eliminar esse problema, em alguns protocolos utiliza-se o
conceito de piggybacking, onde os bits de ACK que devem ser enviados em resposta ao quadro de dados
transmitidos pela estação A vem junto com o quadro de dados que a estação B quer transmitir para a estação
A.
Resumindo, as principais funções do nível de enlace são as seguintes:
- Entregar ao nível de rede os dados livres de erros de transmissão;
- Retransmissão de quadros errados;
- Controle de fluxo;
- Tratamento de quadros duplicados, perdidos e danificados.
7.2.2 Subnível MAC
O sub-nível MAC possui alguns protocolos importantes, como o IEEE 802.3 (Ethernet), IEEE 802.4
(Token Bus) e IEEE 802.5 (Token Ring).
O protocolo de nível superior pode usar ou não o subnível LLC, dependendo da confiabilidade esperada
para esse nível. Em intranets se utiliza TCP/IP sobre MAC direto.
Esse subnível fica muito próximo ao nível físico, não existindo confirmações de mensagens (ACK) nem
controle de fluxo. Caso a mensagem chegue errada no receptor (detectado através do CRC), ele
simplesmente descarta o quadro.
As redes baseadas em TCP/IP que utilizam o Ethernet / Token Ring em nível 2 funcionam dessa forma,
ou seja, se dá erro num pacote ele é descartado. As confirmações e verificações ficam para o nível mais alto
(TCP).
7.3 Nível 3: rede
O nível de rede tem a função de controlar a operação da rede de um modo geral. O principal aspecto é
executar o roteamento dos pacotes entre fonte e destino, principalmente quando existem caminhos diferentes
para conectar entre si dois nós da rede. Em redes de longa distância é comum que a mensagem chegue do
nó fonte ao nó destino passando por diversos nós intermediários no meio do caminho, e é tarefa do nível de
rede escolher o melhor caminho para essa mensagem.
A escolha da melhor rota pode ser baseada em tabelas estáticas, que são configuradas na criação da
rede e são raramente modificadas, pode também ser determinada no início de cada conversação, ou ser
altamente dinâmica, sendo determinada a cada novo pacote, a fim de refletir exatamente a carga da rede
naquele instante. Na prática, os roteadores atualizam suas tabelas de roteamento de tempos em tempos (30
segundos, no RIP).
Se muitos pacotes estão sendo transmitidos através dos mesmos caminhos, eles vão diminuir o
desempenho global da rede, formando gargalos. O controle de tais congestionamentos é tarefa da camada de
rede.
Normalmente, a transmissão de mensagens em redes de longa distância é cobrada pela central pública
que administra o serviço, e a contabilização é feita pela camada de rede, que deve contar o número de
pacotes ou bytes que o usuário utilizou a fim de tarifar o sujeito.
Resumindo, as principais funções do nível de rede são as seguintes:
- Roteamento dos pacotes entre fonte e destino, mesmo que tenha que passar por diversos nós
intermediários durante o percurso;
- Controle de congestionamento;
- Contabilização do número de pacotes ou bytes utilizados pelo usuário, para fins de tarifação;
Com relação às redes broadcast (do tipo Ethernet), onde a informação é escutada por todas outras
estações, o roteamento não é necessário dentro da subrede, fazendo com que a camada de rede seja muito
simples. Caso não seja tarefa da subrede, o pacote é enviado ao roteador default.
7.4 Nível 4: transporte
O nível de transporte inclui funções relacionadas com conexões entre a máquina fonte e máquina
destino, segmentando os dados em unidades de tamanho apropriado para utilização pelo nível de rede.
Sob condições normais, o nível de transporte cria uma conexão distinta para cada conexão de
transporte requisitada pelo nível superior. Se a conexão de transporte requisitada necessita uma alta taxa de
transmissão de dados, este nível pode criar múltiplas conexões de rede, dividindo os dados através da rede
para aumentar a velocidade de transmissão. Por outro lado, se é caro manter uma conexão de rede, a
camada de transporte pode multiplexar várias conexões de transporte na mesma conexão de rede, a fim de
reduzir custos. Em ambos os casos, a camada de transporte deixa essa multiplexação transparente ao nível
superior.
52
CPC - Parte I - Conceitos Básicos
O nível de transporte é o primeiro que trabalha com conexões lógicas fim a fim, ou seja, um programa
na máquina fonte conversa com um programa similar na máquina destino, diferentemente dos níveis
anteriores, que conversavam somente com o nó vizinho. Vale ressaltar que a conexão criada pelo nível de
transporte é uma conexão lógica, e os dados são transmitidos somente pelo meio físico, através do nível 1 do
modelo. Assim, os dados devem descer nível a nível até atingir o nível 1, para então serem transmitidos à
máquina remota.
Resumindo, as principais funções do nível de transporte são as seguintes:
- Criar conexões para cada requisição vinda do nível superior;
- Multiplexar as várias requisições vindas da camada superior em uma única conexão de rede;
- Dividir as mensagens em tamanhos menores, a fim de que possam ser tratadas pelo nível de rede;
- Estabelecer e terminar conexões através da rede.
7.5 Nível 5: sessão
A função do nível 5 do modelo OSI é administrar e sincronizar diálogos entre dois processos de
aplicação. Este nível oferece dois tipos principais de diálogo: half-duplex e full-duplex.
Uma sessão permite transporte de dados de uma maneira mais refinada que o nível de transporte em
determinadas aplicações. Uma sessão pode ser aberta entre duas estações a fim de permitir a um usuário se
logar em um sistema remoto ou transferir um arquivo entre essas estações. Os protocolos desse nível tratam
de sincronizações (checkpoints) na transferência de arquivos.
7.6 Nível 6: apresentação
A função do nível 6 é assegurar que a informação seja transmitida de tal forma que possa ser entendida
e usada pelo receptor. Dessa forma, este nível pode modificar a sintaxe da mensagem, mas preservando sua
semântica. Por exemplo, uma aplicação pode gerar uma mensagem em ASCII mesmo que a estação
interlocutora utilize outra forma de codificação (como EBCDIC). A tradução entre os dois formatos é feita
neste nível.
O nível de apresentação também é responsável por outros aspectos da representação dos dados, como
criptografia e compressão de dados.
7.7 Nível 7: aplicação
O sétimo nível, o de aplicação, fornece ao usuário uma interface que permite acesso a diversos serviços
de aplicação, convertendo as diferenças entre diferentes fabricantes para um denominador comum.
Por exemplo, em uma transferência de arquivos entre máquinas de diferentes fabricantes, podem haver
convenções de nomes diferentes (DOS tem uma limitação de somente 8 caracteres para o nome de arquivo,
UNIX não), formas diferentes de representar as linhas, e assim por diante. Transferir um arquivo entre os dois
sistemas requer uma forma de trabalhar com essas incompatibilidades, e essa é a função do nível de
aplicação.
O nível de aplicação sem dúvida nenhuma é o nível que possui o maior número de protocolos
existentes, devido ao fato de estar mais perto do usuário, e os usuários possuírem necessidades diferentes.
Algumas aplicações deste nível são transferência de arquivos, correio eletrônico e terminais virtuais, entre
outras.
8. Tecnologia ATM
A tecnologia ATM é uma técnica de transferência baseada em pacotes de tamanho fixo denominados
células e estruturado segundo conexões de canais e rotas virtuais que podem ser multiplexadas de forma
dinâmica em um mesmo meio físico.
Capaz de suportar diferentes tipos de serviços para atender a diferentes tipos de tráfego
(voz,dados,imagens e vídeo) em um mesmo enlace físico e a altas velocidades de transmissão. Foi projetada
para operar sobre os modernos sistemas de telecomunicações como o SDH/SONET, além disso permite uma
integração LAN/WAN sem problemas de interoperabilidade.
8.1. Arquitetura ISDN
Este modelo apresenta uma estrutura em três planos:
- O plano usuário: responsável pela transferência de informações de usuário
- O plano de controle: responsável pelas funções e protocolos de sinalização entre os diversos objetos
gerenciados.
53
CPC - Parte I - Conceitos Básicos
- O plano de gerenciamento: responsável pela manutenção da rede e responsável pelo
estabelecimento das conexões e pelo gerenciamento de todos os níveis (incluindo o plano de usuário e
controle)
O plano usuário é divido em :
- Camada física: responsável pelo envio e retirada de células ATM para o meio físico
- Camada ATM: responsável pela geração e roteamento das células ATM
- Camada de adaptação: responsável pela comunicação entre as informações das camadas superiores
e a tecnologia ATM
A camada física é dividida em dois subníveis: Transmission Convergence (TC) e Physical Medium (PM)
O subnível transmission Convegence tem como funções:
- Geração e recuperação de frames de transmissão
- Empacotamento de células ATM em frames
- Delimitação de células
- Geração e recuperação do byte HEC das células ATM
- Controle Genérico de Fluxo (GFC) da UNI
O subnível Physical Medium tem funções associadas a métodos de acesso a mídia e temporizações.
Na camada ATM, responsável pelos serviços e funções que constituem a rede de transporte ATM,
encontramos três elementos básicos: a célula ATM, a rota virtual (Virtual Path - VP) e o canal virtual (Virtual
Channel - VC).
As funções desta camada, especificadas pela recomendação I.150, incluem:
54
CPC - Parte I - Conceitos Básicos
- Controle de fluxo genérico
- Multiplexação / demultiplexação de células
- Tratamento dos cabeçalhos das células
- Roteamento das células baseadas nas informações do cabeçalho.
A camada de Adaptação é dividida em dois subníveis: Segmentation and Reassembly Sublayer(SAR) e
Convergence Sublayer(CS)
- O subnível SAR contém funções de reagrupamento e segmentação das informações da camada
superior em células ATM
- O subnível CS contém funções de agrupamento das informações da camada superior.
Uma conexão virtual (Virtual Channel Conection -VCC) fornece um caminho de transferência de células
ATM fim a fim entre usuários. A cada ponto de terminação é associado um único identificador de conexão
(Virtual Channel Identifier - VCI). Um VCC, por sua vez, consiste de uma concatenação de um ou mais canais
virtuais VCLs (Virtual Channel Link), sendo que o VCI é constante dentro de um VCL, mudando apenas nos
pontos de comutação.
As células chegam a um comutador através de uma VCL, este deve saber encaminhar a célula através
dos campos VCI e VPI contidos no cabeçalho para encaminhar a célula à próxima VCL do caminho
estabelecido por uma VCC. Em uma rede ATM as células são transportadas através de conexões utilizando-
se uma técnica chamada label switching (comutação por rótulo), onde é colocado um rótulo no cabeçalho de
cada célula, desta forma, o pacote não precisa conter de forma detalhada seu endereço de destino. Com esta
técnica uma unidade de comutação recebe em uma de suas portas uma célula contento de um rótulo de
roteamento. Usando uma tabela de roteamento a unidade de comutação relaciona a porta e o rótulo de
chegada com a porta e o rótulo de saída. O comutador substitui o rótulo de chegada por um novo e passa a
célula adiante, sendo este processo feito repetitivamente até chegar ao seu destino final.
Devido ao grande volume de processamento nos comutadores causado pela associação de entradas a
cada VCC nas tabelas de roteamento, utiliza-se a técnica na qual várias VCCs sejam roteadas pelos mesmos
caminhos em determinadas partes da rede. Desta forma a conexão de uma rota virtual ( Virtual Path
Conection - VPC) é um conjunto de VCCs comutadas em conjunto, diminuindo o volume de processamento
nos comutadores. O VPC fornece um caminho para todos os VCLs que partilham dois pontos finais VPC que
podem ser entre um ponto final de usuário e um comutador VC ou entre dois comutadores VC. Logo, uma
VPC consiste de uma concatenação de VPLs (Virtual Path Link), sendo que o VPI (Virtual Path Identifier) é
constante dentro de um VPL.
Então, o campo VPI (identificador de caminho virtual) identifica o VCL em cada comutador e o campo
VCI (identificador de canal virtual) identifica de qual conexão dentro da VPL está célula faz parte.
57
CPC - Parte I - Conceitos Básicos
tráfego e gerenciamento de recursos, que sejam adequados para um tipo de serviço, permitindo a alocação
eficiente de recursos pela rede.
Podemos classificar os ATCs em duas categorias do ponto de vista do controle exercido sobre os
parâmetros de tráfego pelo ATC: os ATCs do tipo NCTP (non controlable traffic parameters) ou de parâmetros
estáticos, e os ATCs tipo CTP (controlled traffic parameters) ou de parâmetros dinâmicos.
- Categoria NCTP ou de parâmetros estáticos: os parâmetros de tráfego nestas ATCs são definidos no
momento do estabelecimento da conexão e não há alteração dos mesmos.
- Categoria CTP ou parâmetros dinâmicos: os parâmetros de tráfego são modificados dinamicamente
durante a conexão.
9. Frame Relay
Os protocolos e produtos X.25 em que se baseiam as redes públicas de dados já foram amplamente
testados, sendo estáveis e seguros. Por isso interessante registrar o grande interesse despertado por uma
tecnologia alternativa denominada frame relay. De proposição teórica, em 1988, o frame relay se transformou
num padrão ANSI e CCITT; em constante evolução, que ameaça a supremacia do X.25.
Antes do advento das redes de comutação de pacotes, apenas as corporações com enorme poder de
investimento podiam realizar comunicação de dados em WANs. A falta de um serviço na rede publica,
obrigava a contratação de linhas privadas entre todos os pontos remotos, ou o uso de linhas discadas para
transmissões de menor volume. As primeiras redes de comutação de pacotes foram baseadas no protocolo
X.25, como é o caso da Renpac, da Embratel. Entretanto, com a proliferação das redes locais e a melhoria da
infra-estrutura das carriers, o protocolo Frame Relay consolidou-se como uma opção mais adequada para
usuários e prestadores de serviços.
Na nuvem Frame Relay são estabelecidos os PVCs (permanente virtual circuit, ou circuito virtual
permanente), vistos pelas pontas como canais dedicados da rede. Além da amortização de custos, as
características de redes virtuais, pois a interconexão entre os pontos pode ser rapidamente configurada pela
operadora da nuvem.
Em termos técnicos, o Frame Relay não é um desdobramento do X.25, embora haja uma interseção de
mercados.
Frame Relay foi originalmente concebido para dados, mas a velocidade dos Links e as características
de aplicações tornaram interessante economicamente fazer a voz pegar uma carona no tráfego de Lan.
59
CPC - Parte I - Conceitos Básicos
serviço de frame relay. Baseado nessas funções, a rede oferece frame relay como um serviço da camada de
enlace orientado à conexão com as seguintes propriedades:
Preservação da ordem de transferência dos frames de uma ponta da rede a outra;
Uma pequena probabilidade de perda de frames.
60
CPC - Parte I - Conceitos Básicos
Capítulo V – Web Service – Internet
1. Conceitos Importantes
1.1. Tipos de Rede
a) PAN (Rede Pessoal): Rede formada por uma pequena quantidade de equipamento para uso doméstico.
b) LAN (Rede Local): Rede que ocupa uma pequena área geográfica, correspondente a poucos Km (até 10 Km),
onde os equipamentos ficam próximos e normalmente utiliza-se comunicação via cabo.
c) MAN (Rede Metropolitana): Rede que corresponde a uma metrópole, até 100 Km.
d) WAN (Rede à Longa Distância): Rede para grandes distâncias, acima de 100 Km, onde a comunicação
normalmente será feita por satélite, ondas de rádio, microondas ou cabos de fibra optica.
1.2 Tecnologias de Rede
a) Ethernet (IEEE 802.3)
É uma tecnologia de rede LAN, que trabalha com taxa de 10 Mbps, utilizando topologia barramento
(Coaxial) ou Estrela (Par trançado categoria3 com HUB).
b) Token Ring (IEEE 802.5)
É a tecnologia de rede LAN, que utiliza taxa de 10 Mbps e topolia em anel, com cabo de par trançado.
c) FDDI
É a rede LAN token ring de fibra optica de alto desempenho, que funciona a 100 Mbps. Utiliza um sistema
de duplo anel.
d) Fast Ethernet (IEEE 802.3u)
É uma tecnologia de rede que foi criada para resolver o alto custo da FDDI, que utiliza cabo de par
trançado categoria 5.
2. História da Internet
Surgiu nos EUA na época da Guerra Fria.
1969/70 => ARPANET => rede de pesquisa e para troca de informações militares.
1980 => ARPANET é dividida em ARPANET (pesquisa) e MILNET (Rede Militar). Além disso, surge a
arquitetura para interligar redes, chamada TCP/IP.
1986 => outras redes universitárias, de pesquisa e de transferência de arquivos são interligadas à ARPANET
e a MILNET, através da arquitetura TCP/IP, com isso o nome muda para INTERNET (INTER=>
Interconectadas e NET=> Rede).
3. Definição
Rede Mundial para comunicação mundial de dados.
Redes Interconectadas, através da arquitetura TCP/IP, para comunicação mundial de dados.
a) Protocolo
É um conjunto de normas e regras, que permite a comunicação de dados. É a linguagem da comunicação de
dados.
AÇÃO 1 => Enviar mensagem => Protocolos X, 1 e A
AÇÃO 2 => Receber mensagem => Protocolos Y, 2 e B
AÇÃO 3 => Download => Protocolos Z, 3 e C
b) Arquitetura Cliente/Servidor
Cliente: máquina que solicita um recurso
Servidor: máquina que disponibiliza um recurso
4. Taxa de Transmissão
É a quantidade de dados que são transmitidos em um determinado espaço de tempo. A taxa de
transmissão é medida em bps – bits por segundo.
Unidades derivadas do bps
Kbps = 1000 bps
Mbps = 1000 Kbps
Gbps = 1000 Mbps
Tbps = 1000 Gbps
61
CPC - Parte I - Conceitos Básicos
5. Provedor
Empresa que possibilita o acesso à Internet. Devido à concorrência os provedores oferecem outros recursos:
correio eletrônico, hospedagem de página, arquivos para download, notícias...
6. Backbone
São as grandes redes que formam a Internet (espinhas dorsais). No Brasil: Embratel e RNP (Rede Nacional de
Pesquisa).
7. Formas de Acesso
Ethernet
Intranet
Embratel
Ethernet
Provedor Internet
Intranet
Faculdade RNP
8. Endereços da Internet
8.1. Endereço de Rede
Ethernet
62
CPC - Parte I - Conceitos Básicos
Tipo do Domínio
(com, org, gov)
Nome do Domínio
63
CPC - Parte I - Conceitos Básicos
para transmissão de dados e um para voz, possuindo um modem especial (MODEM ADSL) que faz a divisão de
freqüência.
e) HDSL (High bit rate Digital Subscriber Line): linha digital simétrica que oferece taxas de 2 Mbps (padrão
brasileiro – 3 pares de fio trançado) ou 1.54 Mbps (padrão Americano – 2 pares de cabo de fio trançado).
f) SDSL (Single Line Digital Subscriber Line): mesmo mecanismo da HDSL, mas que utiliza um único par de fio
trançado.
g) VDSL (Very Hight bit rate Digital Subscriber Line): este é um tipo que trabalha com taxas de 13 e 52 Mbps
=> receber dados e 1.5 e 2.3 => para enviar, utilizando um único par de fio trançado.
Pública Voz/Dados
Linha Tipo Banda Taxa Simetria Privada Ao mesmo Tempo
Dial-up Analógica Estreita 56 Kbps Assimétrica Pública Não
LPCD Digital Larga 1,54, 2 e 45 Mbps Simétrica Privada Não
ISDN Digital Larga 128 Kbps Simétrica Pública Sim
ADSL Digital Larga 128 Kbps a 1,54 Mbps Assimétrica Pública Sempre
HDSL Digital Larga 1,54 Mbps – 2 pares Simétrica Pública Sempre
2 Mbps – 3 pares
SDSL Digital Larga 1,54 e 2 Mbps – 1 par Simétrica Pública Sempre
VDSL Digital Larga 13 Mbps e 52 Mbps Assimétrica Pública Sempre
Placa de Fax-modem
Converte sinais analógicos da linha telefônica em sinais
digitais binários do computador
64
CPC - Parte I - Conceitos Básicos
b) Linha ADSL
Modem
ADSL
c) Cable modem
Decodificado TV
r
Cable
Modem
Divisor de cabos
Placa de Rede
d) PLC
Gateway
Modem
PLC
11.5. Wireless
É um tipo de comunicação sem fio, que pode ser feita através de ondas de rádio, microondas ou satélite.
TECNOLOGIA WIRELESS
a) Espelhamento => ainda no campo da pesquisa e sendo testada na Alemanha atualmente, esta tecnologia
utiliza balões e dirigíveis que transmitem o sinal de Internet a grandes cidades através de espelhamento - os sinais
são refletidos através de grandes espelhos nesses veículos aéreos até captadores nas casa dos usuários. Tem se
mostrado de dificil implantação por conta de variações climáticas.
b) Satélite => usada em menor escala por empresas e instituições financeiras, esta tecnologia utiliza satélites de
comunicação para transmitir o sinal diretamente aos computadores que os captam através de antenas parabólicas
comuns e receptores. A grande vantagem é que pode-se estabelecer conexão em qualquer parte do país, até
mesmo em áreas remotas. A velocidade depende do satélite envolvido e do serviço. No Brasil, a Embratel oferece
o serviço pela Star One - bidirecional completo - tanto para usuários residenciais como corporativos. Nos anos 90 a
DIRECTV tentou emplacar um serviço desse tipo a consumidores residenciais nos EUA mas não obteve sucesso
principalmente pela banda de transmissão ser unidirecional - era capaz de apenas receber informações, sendo
necessário um modem simples para a transmissão.
c) WAP => é a tecnologia via microondas utilizada para acesso à Internet. Essa tecnologia é utilizada para
comunicação móvel (celular). Suas principais desvantagens são a falta de segurança e a baixa taxa de
transmissão.
d) IrDA => é a tecnologia wireless via infravermelho, que não é utilizada para acesso à Internet, pois tem que ser
entre dois pontos visuais (sem obstáculos). É utilizada para conexão com periféricos, como mouse, teclado e
impressoras.
65
CPC - Parte I - Conceitos Básicos
e) Bluetooth => Bluetooth é um padrão para comunicação sem-fio, de curto alcance e baixo custo, por meio de
conexões de rádio ad hoc. Através do Bluetooth, os usuários poderão conectar uma ampla variedade de
dispositivos de computação, de telecomunicações e eletro-domésticos de uma forma bastante simples, sem a
necessidade de adquirir, carregar ou conectar cabos de ligação. O Bluetooth suporta tanto serviços síncronos para
tráfego de voz quanto serviços assíncronos para transmissão de dados. Em um enlace assíncrono, a taxa máxima
que um usuário pode obter é de 723,2 kbps. No sentido contrário, a taxa máxima é de 57,6 kbps.
f) CDMA (Code Division Multiple Access/Acesso Múltiplo por Divisão de Código) é uma tecnologia móvel e
padrão de sistema para celulares. A tecnologia de celulares CDMA vem popularizando-se pois oferece vantagens
sobre a tecnologia GSM, como maior velocidade em transmissão de dados, o que significa acesso a Internet WAP
mais rapidamente para os usuários de celular.
g) GSM (Global System for Mobile Communications/ Sistema Global para Comunicações Móveis) é uma
tecnologia móvel e o padrão mais popular para celulares do mundo. O GSM diferencia-se muito de seus
predecessores sendo que o sinal e os canais de voz são digitais, o que significa que o GSM é visto como um
sistema de celular de segunda geração (2G). Este fato também significa que a comunicação de dados foi acoplada
ao sistema logo no início. GSM é um padrão aberto desenvolvido pela 3GPP.
Do ponto de vista do consumidor, a vantagem-chave do GSM são os serviços novos com baixos custos. Por
exemplo, a troca de mensagens de texto foi originalmente desenvolvida para o GSM. A vantagem para as
operadoras tem sido o baixo custo de infra-estrutura causada por competição aberta. A principal desvantagem é
que o sistema GSM é baseado na rede TDMA, que é considerada menos avançada que a concorrente CDMA. No
mesmo tempo, o sistema GSM continua a desenvolver-se com o lançamento do GPRS. Além disso, transmissão
de dados em alta velocidade foi adicionada no novo esquema de modulação EDGE. A versão de 1999 do padrão
introduziu índices relativamente altos de transmissão de dados, e é normalmente referida como 3G.
h) GPRS (General Packet Radio Service) é uma tecnologia que aumenta as taxas de transferência de dados nas
redes GSM existentes. Esta permite o transporte de dados por pacotes (Comutação por pacotes). Sendo assim, o
GPRS oferece uma taxa de transferência de dados muito mais elevada que as taxas de transferência das
tecnologias anteriores, que usavam comutação por circuito, que eram em torno de 12kbps. Já o GPRS, em
situações ideais, pode ultrapassar a marca dos 170kbps. No entanto na prática, essa taxa está em torno dos 40
kbps.
Diferente das tecnologias de Comutação de Circuitos que é um modo no qual uma conexão (ou circuito) é
estabelecida do ponto de origem da transferência de dados ao destino. Recursos da rede são dedicados por toda a
duração da chamada, até que o usuário interrompa a conexão. No GPRS o serviço é ”sempre ativo”, ou seja, ele é
um modo no qual os recursos somente são atribuídos a um usuário quando for necessário enviar ou receber
dados. Esta técnica permite que vários usuários compartilhem os mesmos recursos, aumentando assim a
capacidade da rede e permitindo uma gerência razoavelmente eficiente dos recursos. Isto permite às operadoras
GPRS disponibilizar acesso à Internet em alta velocidade e a um custo razoável, pois a cobrança é feita pela
quantidade de pacotes de dados transmitidos e não pelo tempo de conexão à rede.
i) TDMA (Time Division Multiple Access/Acesso Múltiplo por Divisão de Tempo) é um sistema de celular
digital que funciona dividindo um canal de frequência em até seis intervalos de tempo distintos. Cada usuário
ocupa um espaço de tempo específico na transimissão, o que impede problemas de interferência.
Os sistemas celulares de segunda geração como o IS 54, IS 136 e o GSM utilizam o TDMA na sua interface
com a estação móvel.
Um dos padrões de comunicação de voz via ondas de rádio, utilizado por operadoras nos serviços de
telefonia celular digital, baseado em TDM. Consiste na divisão de cada canal celular em três períodos de tempo
para aumentar a quantidade de dados que pode ser transmitida. Cada canal TDMA americano tem a mesma
largura de banda dos canais AMPS, 30 KHz, e é usado por três assinantes. O sinal digitalizado de cada assinante,
de 64 Kbps, é comprimido para 8 Kbps por vocoders (padrão IS-54). Em seguida, o sinal comprimido dos três
assinantes é transmitido pelo mesmo canal, um por vez. Os padrões TDMA IS-54 e IS-136, portanto, aumentam
em três vezes a capacidade do padrão AMPS. O padrão IS-136 difere do IS-54 pela introdução de um canal de
controle digital.
Trata-se de uma tecnologia que permite às redes GSM suportar e oferecer serviços de terceira geração de
telefonia móvel. Foi desenvolvida para capacitar a transmissão de uma grande quantidade de dados a altas taxas
de velocidade (384 kbit/s) e usa o mesmo conceito da tecnologia TDMA (Time Division Multiple Access), no que se
refere à estrutura dos quadros, canais lógicos e largura de banda de 200kHz, assim como as redes GSM atuais.
Desta forma, permite a coexistência das redes atuais e de 3G, dentro do mesmo espectro de freqüência.
j) W-CDMA (Wide-Band Code-Divison Multiple Access) é a tecnologia 3G líder e é a única usada em UMTS. É uma
tecnologia de interface de rádio de banda larga que provê velocidades de dados muito superiores - até 2 Mbit/s.
Permitirá o uso mais eficiente do espectro de rádio, se comparado a outras técnicas de rádio disponíveis hoje.
Ele foi projetado para tratar serviços de multimídia que demandam grande largura de banda, ou seja,
serviços de Internet Móvel. Estes serviços serão acessados por parte dos usuários através de uma grande
variedade de aparelhos, incluindo telefones móveis, PDAs, palm pilots e laptops.
66
CPC - Parte I - Conceitos Básicos
Uma evolução ao padrão W-CDMA é o chamado HSDPA, que proporciona velocidades da ordem de
10Mbit/s no enlace direto, exclusivamente para transmissão de dados.
REDES WIRELESS
a) WPAN (wireless personal area network)
a) IEEE 802.15.1 – tecnologia Bluetooth – frequência de 2,4 GHz – taxa de 1 Mbps (versão 1.1) até 3 Mbps
(versão 2 e 3) e a área de cobertura é de 100 m (classe 1), 10 m (classe 2) e 1 m (classe 3)
b) IEEE 802.15.4 - tecnologia ZigBee – tecnologia via ondas de rádio que utiliza 2.4 GHz com taxa de 250 kbps,
915 MHz com 40 Kbps e 868 MHz com 20 Kbps. A área de cobertura varia de 10 m a 75 m
14. Intranet
É uma rede privada criada em uma empresa por motivos de segurança e para agilizar o processor de
comunicação de dados. Essa rede utiliza a Arquitetura TCP/IP, assim como os mesmos programas da Internet.
Obs: cada host da Intranet terá que possuir um endereço IP válido na Intranet.
67
CPC - Parte I - Conceitos Básicos
Obs2: a Intranet pode permitir o Acesso Remoto e o Acesso à Internet, dependendo da política de segurança
da Empresa.
Acesso Remoto
Acesso a uma máquina que não se encontra fisicamente
Rede do
Trabalho
Intranet
Internet
Página
Intranet
68
CPC - Parte I - Conceitos Básicos
g) POP (Post Office Protocol): é o protocolo que é responsável por verificar e transferir mensagens do servidor
de mensagem para o computador do usuário. Esse protocolo permite que a mensagem seja visualizada apenas
por uma única máquina. Camada: Aplicação
h) IMAP (Interactive Mail Access Protocol): tem a mesma função do POP, mas ao invés de transferir a
mensagem, transfere apenas uma cópia da mesma. Esse protocolo permite que a mensagem seja visualizada por
máquinas diferentes. Camada: Aplicação
i) DHCP (Dynamic Host Configuration Protocol): protocolo que facilita a configuração IP de Workstations
(estações de trabalho) de uma rede. Camada: Aplicação
j) TCP (Transmission Control Protocol): responsável por preparar a mensagem para o envio, segmentando as
mensagens em pacotes, endereçando os mesmos, sendo considerado um protocolo complexo. Camada:
Transporte.
16. VoIP
A Agência Nacional de Telecomunicação - ANATEL tem como definição contida em seu glosário que a VOIP (VOZ
via IP) é a tecnologia que possibilita o uso de redes IP como meio de transmissão de voz, o conceito é simples e
consiste em converter os pacotes de voz analógicos em pacotes digitais e fazê-los trafegar pela internet.
Algumas das vantagens de se implantar a VOIP estão na relação custo/benefício, reduzir significativamente o
custo com telefonia, efetuar chamadas de longas distancias a custos locais, integrar telefonias móveis com
telefonia fixas são. Outra vantagem é não ter de criar uma outra estrutura para apenas o tráfego de voz, podendo
assim aproveitar a estrutura já existente na empresa. Devido a isto o retorno do investimento é mais rápido.
Programas da VOIP
a) Skype
b) VoxFone
c) Voipwebfone
d) IOL Talki
e) NetAppel
f) VoipBuster
17. Programas
17.1. Software de Conexão
Programa que permite realizar e criar conexões à Internet.
Exemplo: Acesso à Rede Dial-Up
17.2. CHAT
Programa que permite realizar conversas eletrönicas.
17.3. ICQ
Programa criado para conversas on-line entre vários usuários e que permite a utilização de vídeo conferência.
17.4. IRC (Internet Relay Chat)
Programa criado para conversas on-line entre dois usuários e que permite a utilização de vídeo conferência.
17.5. TELNET (Programa e Protocolo)
Programa que permite acesso remoto (acesso quando o usuário não se encontra fisicamente na rede)
17.6. Browser (Navegador) – Internet Explorer 6.0
Programa que permite abrir páginas e sites da Internet, localizar e pesquisar informações na mesma, efetuar
download e até mesmo ler e redigir mensagens de correio eletrônico.
69
CPC - Parte I - Conceitos Básicos
17.6.1. Botões
e) - Página Inicial: Vota para página que é aberta automaticamente quando o Internet Explorer é iniciado.
Tecla de Atalho: ALT+HOME
g) : Mídia: Permite executar arquivos de som e vídeo e escutar uma estação de rádio pelo computador.
70
CPC - Parte I - Conceitos Básicos
h) - Favoritos: Mostra as páginas da pasta favoritos, permite adicionar a página atual à pasta favoritos,
organizar as páginas na pasta favoritos, apagar páginas dessa pasta e criar subpastas para essa pasta.
Tecla de Atalho: CTRL+I
Adicionar a Favoritos: CTRL+D
Organizar Favoritos: CTRL+B
i) - Histórico: Mostra as páginas que foram acessadas; permite definir como essas páginas serão
mostradas: por data, por nome de site, apenas as páginas visitadas hoje ou apenas as mais visitadas; permite
adicionar páginas dessa pasta à pasta Favoritos (botão direito do mouse); e pesquisar informações nas páginas
dessa pasta.
Tecla de Atalho: CTRL+H
71
CPC - Parte I - Conceitos Básicos
j) - Correio: Permite ler e redigir mensagens de correio eletrônico e enviar a página atual ou apenas o link da
mesma para um destinatário de mensagem.
l) - Editar: Abre o editor de páginas padrão, que pode ser o Word ( ), FrontPage ( ),Excel ( ),
Publisher ( ) e Bloco de Notas, mostrando a página em sua linguagem de criação (formato HTML).
l) - Discussões na Web: permite que qualquer pessoa anexe comentários a uma página da Web ou a
qualquer documento que possa ser aberto com um navegador (como arquivos .xls, .doc, .ppt, .gif e assim por
diante), a fim de que os comentários apareçam com o documento, mas sejam armazenados em um servidor de
discussão.
m) - Tela Inteira: faz com que a página atual ocupe a tela do computador como um todo.
n) - Segurança (Barra de Status): permite definir critérios de segurança em relação à Internet ou a
Intranet.
Zonas
a) Zona da Internet: por padrão, essa zona contém qualquer informação que não esteja em seu computador
nem na intranet ou que seja atribuída a qualquer outra zona. O nível de segurança padrão para a zona da
Internet é Médio. Você pode alterar as configurações de privacidade da zona da Internet na guia
Privacidade de Opções da Internet.
b) Zona da intranet local: geralmente, essa zona contém qualquer endereço que não exija um servidor
proxy, como definido pelo administrador do sistema. Ela inclui os sites especificados na guia Conexões,
73
CPC - Parte I - Conceitos Básicos
caminhos da rede (como \\nome_computador\nome_pasta) e sites da intranet local (normalmente,
endereços que não contêm pontos, como http://interno). O nível de segurança padrão para a zona da
intranet Local é Médio, portanto, o Internet Explorer permitirá que todos os cookies dos sites dessa zona
sejam salvos em seu computador e lidos pelos sites que os criaram.
c) Zona de sites confiáveis: essa zona contém sites nos quais você confia, ou seja, aqueles dos quais você
acredita poder baixar ou executar arquivos sem se preocupar com danos no computador ou nos dados. O
nível de segurança padrão para a zona de sites confiáveis é Baixo, portanto, o Internet Explorer permitirá
que todos os cookies dos sites dessa zona sejam salvos em seu computador e lidos pelos sites que os
criaram.
d) Zona de sites restritos: essa zona contém sites nos quais você não confia, ou seja, aqueles dos quais
você não tem certeza de que pode baixar ou executar arquivos sem danificar o computador ou os dados. O
nível de segurança padrão para a zona de sites restritos é Alto, portanto, o Internet Explorer bloqueará
todos os cookies dos sites dessa zona.
Níveis de Segurança
e) Alto: impede o envio de cookies e a execução de programas pelo site visitado.
f) Médio: permite o recebimento de conteúdo, mas com confirmação.
g) Médio-baixo: mesmo recurso do médio, mas sem solicitação de confirmação.
h) Baixo: permite o recebimento de qualquer conteúdo e a execução de qualquer programa sem solicitação
de confirmação.
c) Guia Privacidade: permite definir o que será possível ser enviado pelo site (bloquear cookies e listas pop-
ups) visitado
Níveis de Privacidade
74
CPC - Parte I - Conceitos Básicos
usuário e restringe cookies internos que usam informações de identificação pessoal sem o conhecimento
implícito do usuário.
m) Baixa: restringe cookies de terceiros que não possuam uma diretiva de privacidade compacta, restringe
cookies de terceiros que usam informações de identificação pessoal sem o conhecimento implícito do
usuário.
n) Aceitar todos os cookies: aceita o recebimento de qualquer cookie e os cookies existentes no
computador poderão ser lidos pelos sites criadores.
d) Guia conteúdo
e) Supervisor de conteúdo: permite classificar as páginas da Internet em relação ao gênero e impedir que
usuários do computador tenham acesso a determinado gênero.
f) Certificados: permite remover todos os certificados de autenticação de cliente do cache do SSL (limpar
estado SSL) e permite exigir que sites da Web seguros enviem seus certificados de segurança antes que
você envie informações para eles (certificados). Os sites da Web seguros enviam ao Internet Explorer um
certificado que fornece algumas informações sobre a segurança do site. Os certificados são emitidos para
uma organização particular por um período de tempo específico. O Internet Explorer verifica o endereço
Internet armazenado no certificado e se a data atual é anterior à data de expiração. Se houver um
problema, o Internet Explorer pode exibir um aviso. A visualização de informações quase nunca apresenta
um risco de segurança, mas o envio de informações, como, por exemplo, o número do seu cartão de
crédito, é muitas vezes arriscado.
g) Informações Pessoais: permite habilitar o recurso de autocomplementar de formulários ou senhas e
inclusive limpar estas informações. Além disso, permite especificar informações pessoais que podem ser
compartilhadas quando um site da Web solicitar informações sobre seus visitantes.
h) Guia Conexões: permite definir as características da conexão à Internet através de um linha dial-up ou
mesmo através de uma rede local.
75
CPC - Parte I - Conceitos Básicos
i) Guia Programas: definir quais os programas serão utilizados como padrão para correio eletrônico, grupo
de notícias e editor de páginas.
j)
k) Guia Avançado: permite definir as características gerais do Internet Explorer, como por exemplo, o
protocolo de segurança que será habilitado (SSL 2, SSL 3 e TSL), mostrar ou não imagens, sons,
animações e vídeos (abrir mais rápido as páginas da Internet), habilitar ou desabilitar a pesquisa a partir da
barra de endereços.
17.7.1. Botões
76
CPC - Parte I - Conceitos Básicos
e) Página inicial : mostra a página definida como inicial do Mozilla, ou seja, a página que será
automaticamente aberta quando o Mozilla for iniciado.
Tecla de Atalho: ALT+HOME
77
CPC - Parte I - Conceitos Básicos
h) Histórico : mostra o painel Histórico, que mantém visível o histórico de sites visitados. Os sites podem ser
visualizados em ordem de data, nome do site, últimos visitados e por ordem de mais acessados.
Tecla de Atalho: CTRL+H
j) Nova Janela : abre uma nova janela com a página inicial ou de um link que for arrastado até este botão.
Tecla de Atalho: CTRL+N
l) Site não funciona : permite enviar informações a equipe do Mozilla sobre um site que não funciona.
m) Campo de Endereços : permite digitar o
endereço e abrir uma página da Internet. Também apresenta uma lista com as últimas páginas que foram
acessadas.
n) Campo de Pesquisa : permite localizar sites da Internet que contenham uma informação.
78
CPC - Parte I - Conceitos Básicos
17.7.2. Outros atalhos do teclado
Abrir arquivo Ctrl+O
Completar endereço com .com.br Ctrl+Enter
Completar endereço com .net Shift+Enter
Completar endereço com .org Ctrl+Shift+Enter
Excluir entrada selecionada do Autocompletar Shift+Delete
Tela inteira F11
Pesquisar na web Ctrl+K
Ctrl+E
Copiar Ctrl+C
Recortar Ctr+X
Colar Ctr+V
Desfazer Ctr+Z
Selecionar tudo Ctr+A
Ir para o fim da página END
Ir para o topo da página Home
Salvar como... Ctrl+S
Tamanho do texto: Aumentar Ctrl+”+”
Tamanho do texto: Diminuir CtrlCmd+”-“
Tamanho do texto: Normal Ctrl+0
Código-fonte Ctrl+U
17.7.3. Menus
I – Menu Arquivo
a) Nova janela: abre uma nova janela do Firefox.
b) Nova aba: abre uma nova aba na janela selecionada do Firefox. A navegação por abas permite que você abra
abas, cada uma exibindo uma página diferente, em uma única janela do Firefox. Você pode abrir links em novas
abas em segundo plano, e eles serão carregados enquanto você lê a página exibida.
c) Abrir endereço: posiciona o cursor do teclado no Campo de endereço na Barra de Navegação do Firefox
para que você possa digitar o endereço do site que deseja visitar.
d) Abrir arquivo: exibe a caixa de diálogo Abrir, onde você pode selecionar um arquivo do seu disco local ou rede.
Você pode visualizar vários tipos de arquivos no Firefox, incluindo arquivos HTML/XML, imagens, textos e outros.
e) Fechar: fecha a janela selecionada.
f) Fechar aba: fecha a aba selecionada e seleciona a aba à direita. Este item de menu só será visível se mais de
uma aba estiverem abertas na janela selecionada.
g) Salvar como: salva a página que está sendo exibida. Você pode escolher entre salvar toda a página (completa,
inclusive com imagens), somente a página HTML, ou somente o texto da página.
h) Enviar endereço: abre a janela de composição de emails usando o cliente de emails padrão do seu
computador para que você possa enviar um email com um link para página que está sendo exibida.
i) Configurar página: exibe a caixa de diálogo Configurar página, onde você pode ajustar as configurações de
impressão, tais como margens, cabeçalho e rodapé e orientação da página.
j) Visualizar impressão: mostra como a página exibida ficará quando for impressa. Ela reflete as configurações
ajustadas na caixa de diálogo Configurar página, descrita acima, somadas às configurações da própria página.
k) Imprimir: exibe a caixa de diálogo Imprimir, onde você pode especificar o número de cópias a serem impressas,
etc.
l) Importar: abre o Assistente de importação, que permite que você importe opçõespreferências, favoritos,
histórico, senhas e outros dados de navegadores como o Microsoft Internet Explorer, Netscape, Mozilla ou Opera.
m) Modo offline: alterna entre os modos online e offline. O modo offline permite que você visualize páginas que
você já tenha visitado anteriormente sem a necessidade de estar conectado à internet, mas estas estarão
desatualizadas.
n) Sair: fecha o Mozilla Firefox. Fecha todas as janelas abertas do Firefox, cancelando qualquer download em
andamento. Se você clicar neste item com abas, janelas ou downloads abertos, o Firefox irá perguntar se você
deseja realmente sair para evitar saídas acidentais.
II – Menu Editar
79
CPC - Parte I - Conceitos Básicos
a) Desfazer: desfaz a última ação.
b) Refazer: refaz o último comando desfeito.
c) Recortar: move o objeto selecionado para a área de transferência.
d) Copiar: copia o objeto selecionado para a área de transferência.
e) Colar: cola o conteúdo da área de transferência no ponto de inserção.
f) Excluir: exclui o texto selecionado em um campo de texto.
g) Selecionar tudo: selecionado o conteúdo inteiro da página.
h) Localizar: exibe a barra de ferramentas Localizar na base da janela do Firefox.
i) Localizar próxima: localiza a próxima ocorrência do texto especificado ao usar o comando Localizar.
III – Menu Exibir
a) Barras de ferramentas: mostra ou oculta as barras de ferramentas Navegação (botões padrões), Favoritos e
barras criadas. Além disso, apresenta a subopção Personalizar que permite criar barras de ferramentas, mostrar
ou ocultar botões nas barras e voltar aos botões padrões.
b) Barra de status: mostra ou oculta a barra de status do Mozilla.
c) Painel: exibe os seus favoritos ou o seu histórico. Você sempre pode fechar o Painel clicando no X do seu canto
superior direito.
d) Parar: interrompe a abertura da página que você está visitando.
e) Recarregar: atualiza o conteúdo da página atual.
f) Tamanho do texto: permite modificar (aumentar ou diminuir ou tamanho normal) o tamanho do texto da página.
g) Estilos da página: permite que você selecione um estilo para a página exibida. Por padrão, "Estilos base" é
selecionado, a não ser que o autor da página especifique um estilo diferente.
h) Código-fonte: mostra a página em sua linguagem de criação.
IV – Menu Ir
a) Voltar: volta para página anterior a atual
b) Avançar: executa o comando contrário ao voltar.
c) Página inicial: mostra a página definida como Inicial para o Mozilla através do comando Opções do menu
Ferramentas.
d) Histórico: mostra o painel Histórico, que mantém visível o histórico de sites visitados. Os sites podem ser
visualizados em ordem de data, nome do site, últimos visitados e por ordem de mais acessados.
V – Menu Favoritos (mostra os sites adicionados como favoritos)
80
CPC - Parte I - Conceitos Básicos
a) Adicionar página: adiciona a página atual à pasta ou subpasta do Favoritos. Uma caixa de diálogo será
exibida, permitindo escolher um título para o Favorito e especificar a pasta de armazenagem.
b) Adicionar abas: adiciona todas as abas da janela exibida em uma nova pasta dos Favoritos.
c) Organizar: mostra o Gerenciador de Favoritos, uma janela onde você pode organizar os seus Favoritos:
ordená-los, renomeá-los e modificar as suas propriedades, bem como adicionar novos Favoritos e mover ou excluir
os existentes.
VI – Menu Ferramentas
a) Pesquisar na web: posiciona o cursor do teclado no Campo de pesquisa na Barra de Navegação do Firefox
para que você possa digitar os termos que você deseja pesquisar.
b) Ler mensagens: abre o programa de correio eletrônico definido como padrão e com ele sua caixa de entrada
de mensagens.
c) Nova mensagem: abre a janela Nova Mensagem do programa de correio eletrônico definido como padrão,
permitindo criar uma nova mensagem de correio eletrônico.
d) Downloads: abre o Gerenciador de Downloads, onde você pode ver os downloads em andamento e também
os downloads finalizados.
e) Extensões: abre o Gerenciador de Extensões, onde você pode ver todas as extensões instaladas e desinstalar
extensões (pacotes que modificam ou adicionam funcionalidades ao Firefox).
f) Temas: abre o Gerenciador de Temas, permitindo trocar o tema que o Firefox está exibindo e até mesmo
desinstalar temas (pacotes que modificam a aparência do Firefox, mas não modificam ações ou funcionalidades do
Firefox).
g) Console do JavaScript: abre o Console do JavaScript, que rastreia erros nos códigos JavaScript das páginas.
JavaScript é uma linguagem de scripts (script é um programa criado em uma página para permitir uma
interatividade com o usuário, capturando dados fornecidos através de formulários , e ações com os objetos da
página) utilizada com freqüência na construção de páginas da internet.
h) Propriedades da página: exibe diversas informações sobre a página exibida, tais como tipo de documento,
codificação, tamanho e informações de segurança. Também exibe listas de mídias e links disponíveis na página.
i) Limpar dados pessoais: permite apagar o conteúdo da pasta históricos, dados fornecidos em formulários
nomes de usuários e senhas, cookies, cache (pasta de Temporários da Internet no Internet Explorer).
81
CPC - Parte I - Conceitos Básicos
j) Opções
Guia Geral
Opções Gerais
Página inicial Define a página que será aberta automaticamente quando o Mozilla for iniciado
Browser padrão Caso o usuário esteja usando mais de um browser, esta opção faz com que toda vez que for iniciado
o Mozilla seja perguntado ao usuário se ele deseja definir o Mozilla como padrão.
Conexão Definir as configurações da conexão à Internet ou mesmo de um acesso via um Proxy (intercepta
todas as solicitações à internet e verifica se a solicitação poderá ser atendida diretamente do seu
cachê, utilzado para aumentar a performance, filtrar solicitações e ocultar o seu computador na
internet para aumentar a sua segurança).
Guia Privacidade
Opções Privacidade
Histórico Aqui você pode especificar por quanto tempo você quer que o Firefox armazene quais
páginas você visitou (padrão 9 dias)
Formulários Salvar dados fornecidos a formulários e ao campo de pesquisa
Senhas Autocompletar nomes de usuário e senhas. O Firefox pode armazenar as senhas que você
digita em formulários com segurança para facilitar a sua identificação em sites da web.
Lista de downloads O Gerenciador de Download armazena os endereços dos seus downloads recentes. Esta
opção permite apagar a a lista de downloads.
Cookies Cookie é um arquivo criado por um site da internet para armazenar informações no seu
computador e armazenar informações de identificação pessoal (nome, email, endereço
pessoal ou comercial e números telefônicos).
Permissões de Cookies
1. Padrão: aceita todos os cookies, incluindo cookies que permitem que um site identifique
você indeterminadamente.
2. Sites podem definir cookies: permite que os sites visitados armazenem cookies no seu
computador. Se você não quiser que nenhum site armazene cookies no seu computador,
desmarque essa opção. Note que alguns sites poderão não funcionar corretamente quando
82
CPC - Parte I - Conceitos Básicos
os cookies estiverem desativados. Se você quiser que determinados sites possam definir
cookies, abra a janela Exceções de Cookies clicando no botão Permissões.
3. Apenas os que pertencerem ao site visitado: se o Firefox armazenar o cookie de um site,
ele devolverá o cookie somente para este site em particular. O Firefox não fornecerá a um
site cookies armazenados por outro site. Como um site só poderá receber seus próprios
cookies. Algumas vezes um site poderá exibir um conteúdo armazenado em um outro
site (cookies de terceiros ou cookies externos). O outro site, que armazena o conteúdo,
também tem a habilidade de armazenar um cookie no Firefox, mesmo que você não tenha
visitado esse site diretamente.
Validade do cookie
1. Definida pelo cookie: as informações do cookie serão excluídas na data determinada pelo
cookie.
2. Até sair do Firefox: as informações do cookie serão excluídas assim que você reiniciar o
Firefox.
3. Perguntar: exibe um alerta toda vez em que um site tentar armazenar um cookie,
permitindo que você escolha se o cookie será armazenado ou não.
Cache Permite definir o espaço ocupado pela pasta Cache (armazena as páginas visitadas para que
possam ser exibida mais rapidamente na próxima vez que forem visitadas) e apagar o
conteúdo da mesma
Guia Conteúdo
Opções Conteúdo
Bloquear janelas popup Permite habilitar ou desabilitar a exibição de popups.
Alertar se sites tentarem Habilita ou desabilita o Firefox exibir um aviso quando um site tentar instalar uma extensão ou
instalar extensões ou tema e bloqueia a tentativa de instalação
temas
Carregar imagens Habilita ou desabilita a visualização de imagens do site visitado (abrir mais rápido a página).
Permitir Java Habilita ou desabilita os sites visitados de carregarem progamas feitos em Java no computador.
Permitir JavaScript Habilita ou desabilita os sites visitados de carregarem scripts feitos em Java no computador.
Permissões para JavaScript
1. Mover ou redimensionar janelas existentes:
2. Alterar a disposição entre as janelas
3. Desativar ou substituir menus de contexto
4. Ocultar a barra de status
5. Modificar o texto da barra de status
Fontes e cores Permite alterar as cores, fontes, resolução da tela (padrão 96 dpi), cor e dublinhado dos links.
83
CPC - Parte I - Conceitos Básicos
Guia Abas
Opções Abas
Abrir links de outros programas Permite definir se uma página da Internet será aberta em outra janela ou mesmo outra aba.
Forçar links que abrem janelas Permite fazer com que um link que exige a abertura de uma nova janela seja aberto da
a abrir mesma janela ou aba ativa, ou mesmo em outra aba da mesma janela.
Ocultar a barra de abas se Faz com que o Mozilla mostre sempre a barra de abas mesmo que a janela só possua uma
houver apenas uma aba única aba.
Abrir em primeiro plano as abas Quando você clica com o botão do meio do mouse em um link (ou clica em um link
criadas por links segurando a tecla Ctrl), o link é aberto em uma nova aba. Essa aba não será exibida
diretamente; ela será carregada em segundo plano. Marque essa opçã para abrir links em
novas abas em primeiro plano, que serão exibidas diretamente.
Alertar ao fechar múltiplas abas Permite fazer com que o Mozilla peça ou não confirmação quando o usuário fecha uma
janela com várias abas, pois o usuário poderia estar apenas desejando fechar uma aba.
Guia Downloads
Opções Download
Salvar downloads em Perguntar para cada arquivo: o Firefox perguntará onde você quer salvar o arquivo cada
vez que você baixar um arquivo.
Salvar sempre na pasta: o Firefox salva na pasta padrão, que é a Área de trabalho.
Gerenciador de downloads Abrir ao iniciar um download: permite decidir se o Gerenciador de downloads deve ser
exibido quando você inicia um novo download.
Fechar ao concluir todos os downloads: faz com que o Gerenciador de downloads seja
fechado automaticamente quando todos os downloads forem concluídos.
Ações para downloads Permite abrir a janela Ações em downloads, que contém os tipos de arquivos que você já
baixou. Você pode escolher o que o Firefox deve fazer quando você clicar novamente em
um desses tipos de arquivos.
Propriedades da Ação
1. Abrir com o programa padrão: abre o arquivo no programa padrão para esse tipo de
arquivo.
84
CPC - Parte I - Conceitos Básicos
2. Abrir com o programa: especifica outro programa para abrir o arquivo.
3. Salvar no meu computador: salva os arquivos em disco.
4. Usar este plugin: permite que um plugin manipule o tipo de arquivo selecionado.
Guia Avançado
Opções Avançadas
Geral Atualizações Segurança
Acessibilidade Verificar automaticamente se há Protocolos
atualizações para
Texto pode ser selecionado com o verifica automaticamente se há SSL 2.0: especifica se você permite que o
teclado: especifica se o cursor do atualizações disponíveis para o Firefox envie e receba informações
teclado será exibido, permitindo a Firefox em si, extensões e temas e seguras por meio do SSL2 (Secure Sockets
seleção de texto e navegação pelo mecanismos de pesquisa Layer Nível 2)
teclado (F7). instalados, para que você sempre SSL 3.0: especifica se você permite que o
Começar a localizar assim que tenha a versão mais atualizada dos Firefox envie e receba informações seguras
digitar: o Firefox tenta localizar na seus componentes. por meio do SSL3 (Secure Sockets Layer
página exibida qualquer texto que Nível 3)
você digitar no teclado. Enquanto TLS 1.0: especifica se você permite que o
você digita o texto a ser localizado, Firefox envie e receba informações seguras
a Barra de Localizar é por meio do TLS (Transport Layer
automaticamente exibida na base Security).
da janela, exibindo informações
sobre a busca.
Navegação Ao encontrar atualizações do Botões
Firefox
Diminuir imagens até que caibam Perguntar o que fazer: permite Certificados: abre o Gerenciador de
na janela: faz com que as imagens definir manualmente quando e certificados e visualizar os certificados
maiores do que o tamanho da como as atualizações serão armazenados, importar novos certificados
janela sejam automaticamente instaladas. e excluir certificados antigos do Firefox.
redimensionadas para caber na Receber e instalar a atualização Revogações: permtie gerencia as CRLs
janela. automaticamente: as atualizações (Listas de Revogação de Certificados) que
Auto-rolagem: permite rolar a do Firefox serão baixadas garante que os seus certificados não são
página exibida segurando-se o automaticamente e serão inválidos.
botão do meio do mouse e instaladas na próxima vez em que Verificação: o OCSP (Protocolo de Status
movendo o mouse para cima ou o Firefox for iniciado. Online de Certificados) é uma forma de
para baixo. Alertar caso desative extensões ou validar os seus certificados sempre que
Rolagem suave: a página rola temas: determina se a sua eles são exibidos ou utilizados. Este botão
suavemente, permitindo que você confirmação será requerida antes permite ativar a utilização deste protocolo.
veja o quanto a página rolou. Isso da instalação caso alguma Dispositivos. de segurança: permitem
torna mais fácil a continuação de atualização precise desativar uma codificar e decodificar conexões e
uma leitura do ponto que você extensão ou tema incompatível por armazenar certificados e senhas.
estava anteriormente não haver novas versões
compatíveis.
Idiomas Histórico de atualizações Certificados
Dependendo do site permitirá o O Firefox registra automaticamente Quando um site requisitar um certificado:
recurso de escolha de idiomas. as atualizações que você instalar e quando um site solicita uma conexão
esta opção permite obter segura, está opção permitirá que o
informações sobre essas selecione automaticamente o certificado
atualizações apropriado ou que o usuário defina
manualmente um certificado
85
CPC - Parte I - Conceitos Básicos
17.8.3. Botões
3. Responder a todos : permite responder uma mensagem para todos os usuários que receberam a
mensagem original.
86
CPC - Parte I - Conceitos Básicos
4. Encaminhar : permite enviar uma mensagem recebida ou redigida anteriormente para outro
destinatários de mensagem.
9. Enviar e receber : permite enviar mensagens pendentes (caixa de saída) e verificar se existem
mensagens recebidas.
87
CPC - Parte I - Conceitos Básicos
6. : verifica se os endereços digitados nos campos “Para”, “Cc” e “Cco” estão escritos corretamente.
Para tanto, verifica no catálogo de endereços.
18. Segurança
18.1. Conceitos
a) Integridade: é a garantia que os dados não foram alterados.
b) Autenticidade: é a garantia que os dados são verdadeiros.
c) Legitimidade: é a garantia que a origem e o destino são verdadeiros.
d) Acesso: possibilidade a consulta a dados de uma rede.
e) Autenticação: é o processo de se confirmar a identidade de um usuário ou um host
f) Violação: é o acesso aos dados por pessoa não autorizada.
g) Comprometimento: é a perda da segurança, ocasionada pelo acesso não-autorizado.
h) Vulnerabilidades: são os pontos fracos na segurança da rede.
i) Confiabilidade: garantia que os dados de uma rede não foram acessados por pessoa não autorizada.
j) Ameaça: é uma possível violação da segurança de um sistema.
k) Ataque: é a materialização de uma ameaça.
l) Cookies: são arquivos enviados pelo site para o computador do usuário para permitir que este visualize
corretamente o site ou mesmo para retirar informações fornecidas pelo usuário. Através de cookies podem ser
enviados programas que registram as ações do usuário na Internet, os chamados spyware.
o cookie persistente é aquele armazenado como arquivo no computador e que permanece nele mesmo quando
você fecha o Internet Explorer. Na próxima vez que você visitar o site, o cookie poderá ser lido pelo site que o
criou.
o cookie temporário ou por sessão é armazenado apenas para a sessão de navegação atual e é excluído do
computador quando o Internet Explorer é fechado.
o cookie primário é aquele criado ou enviado para o site que você está exibindo no momento. Esses cookies
costumam ser usados para armazenar informações, como suas preferências ao visitar o site.
o cookie secundário é aquele criado ou enviado para um site diferente daquele que você está exibindo no
momento. Em geral, os sites secundários fornecem conteúdo no site que você está exibindo. Por exemplo,
muitos sites exibem propagandas de sites secundários e esses sites podem usar cookies. Esse tipo de cookie
costuma ser usado para controlar o uso da sua página da Web para propagandas ou outras finalidades de
marketing. Os cookies secundários podem ser persistentes ou temporários.
o cookies não satisfatórios são cookies que podem permitir acesso a informações pessoais de identificação que
poderiam ser usadas com uma finalidade secundária sem o seu consentimento.
m) Vírus: programa que executa ação não solicitada.
Vírus de Arquivos: são os agregam-se em arquivos executáveis ou em arquivos requisitados para a
execução de algum programa.
Vírus de Sistema (Vírus de Boot): infectam os arquivos de inicialização do sistema.
Vírus Múltiplo: são os que infectam tanto os arquivos de programas como os arquvios de inicialização.
Vírus de Macro: é um vírus escrito em linguagens de macro ou anexados a macros incluídas em arquivos
de dados. Eles são comuns em arquivos do Word e do Excel.
Vírus Stealth (Furtivo): virus que utilize técnicas de dissimulação para que sua presença não seja detectada
nem pelos antivírus nem pelos usuários.
Vírus criptografados: codifica parte de seu código fonte, para evitar sua detecção.
Vírus mutante: altera o seu código fonte para evitar a sua detecção.
Vírus polimórfico: semelhante ao mutante, mas cada vez que copia a si mesmo, muda seu código fonte.
n) Worm (Vermes): são programas com alta capacidade de proliferação que são normalmente enviados por correio
eletrônico.
88
CPC - Parte I - Conceitos Básicos
o) Bactéria: é um vírus com alta capacidade de duplicação.
p) Trojan Horse (Cavalo de Tróia): são programas enviados por correio eletrônico, na forma de “jogos” ou
“aplicativos”, que permitem que emissor o Trojan acesse os dados do computador infectado.
q) Anti-vírus: são programas que verificam a presença de vírus, worms e cavalos de tróia e são capazes de
eliminá-los.
r) Span: é o envio de informações de mensagens não-solicitadas por correio eletrônico.
18.2. Tipos de Invasores
Hacker => usuário não autorizado que invade redes em busca de conhecimento ou para testar os seus
conhecimentos, mas não causa danos ao sistema. Indivíduo com conhecimentos elevados de computação e
segurança, que os utiliza para fins de diversão, interesse, emoção. Em geral, hackers não destroem dados,
possuem um código de ética e não buscam ganhos financeiros.
Cracker => usuário não autorizado que invade redes, causando danos ao sistema.
Phreaker => hacker de telefonia.
Defacers => hacker que invade sites para apagar informações destes sites.
Banker => hacker especialista em operações fraudulentas bancárias, via Internet.
Carder => especialista em operações fraudulentas com cartões de crédito.
War Driver => hacker especialista nas vulnerabilidades das Redes Wireless.
Lammer => são usuários que estão em estágio inicial de aprendizado para se tornarem hacker.
Script Kiddie: é o indivíduo que saiu do estágio de lammer mas que só sabe usar as "receitas de bolo"
(programas prontos) e ainda não entende muito bem o que está fazendo.
18.3. Técnicas e Programas utilizados por Hacker e Cracker
Back door: é um programa escondido, deixado por um intruso, o qual permite futuro acesso à máquina alvo.
Crack: programa utilizado para quebrar licenças de outros programas. Também pode se referir a programas
utilizados para quebrar senhas.
Exploit: programas utilizados por hackers e crackers para explorar vulnerabilidades em determinados
sistemas, conseguindo assim, acessos com maior privilégio.
Flood: sobrecarga (em geral, de pacotes) causada por eventos não esperados que causam lentidão da rede.
Hijacking: é o assalto de uma sessão, geralmente TCP/IP. O assalto de sessão é uma forma de obter o
controle de uma conexão iniciada por um usuário legítimo. Ao interceptar esta conexão o "hacker" pode
impedir o usuário legítimo de usar o sistema e tomar o seu lugar.
Sniffer: ferramenta utilizada por hackers e especialistas em segurança e de rede que serve para monitorar e
gravar pacotes que trafegam pela rede, dependendo do sniffer, é possível analisar vários dados dos pacotes,
analisar protocolos, ver dados específicos da camada de aplicação, senhas, etc.
Spoofing: é uma forma de manter uma conexão com uma máquina se fazendo passar por outra na qual ela
confie.
Buffer overflow: ocorre quando, ao inserir uma quantidade de dados maior do que o programa está preparado
para tratar ele irá começar a executar instruções que não estão programadas. A partir daí um hacker é capaz
de colocar instruções nos próprios dados que está inserindo, fazendo o computador executá-las.
Engenharia Social: é uma ação de hacker que visa extrair informações de usuários menos informados, através
do poder de convencimento.
DoS (negação de serviço): pode ser ocasionado pela exclusão de arquivos necessários ao funcionamento do
sistema por um usuário despreparado ou ser ocasionado por um DDoS que gera uma sobrecarga no sistema
pelo excesso de acessos ao mesmo tempo.
Phishing: é uma forma de fraude eletrônica, caracterizada por tentativas de adquirir informações sensíveis, tais
como senhas e números de cartão de crédito, ao se fazer passar como uma pessoa confiável ou uma
empresa enviando uma comunicação eletrônica oficial, como um correio ou uma mensagem instantânea. O
termo Phishing surge das cada vez mais sofisticadas artimanhas para "pescar" (fish) as informações sensíveis
dos usuários.
Pharming : é uma técnica que utiliza o seqüestro ou a “contaminação” do DNS (Domain Name Server) para
levar os usuários a um site falso, alterando o DNS do site de destino. O sistema também pode redirecionar os
usuários para sites autênticos através de proxies controlados pelos phishers, que podem ser usados para
monitorar e interceptar a digitação. Os sites falsificados coletam números de cartões de crédito, nomes de
contas, senhas e números de documentos. Isso é feito através da exibição de um pop-up para roubar a
informação antes de levar o usuário ao site real. O programa mal-intencionado usa um certificado auto-
assinado para fingir a autenticação e induzir o usuário a acreditar nele o bastante para inserir seus dados
pessoais no site falsificado. Outra forma de enganar o usuário é sobrepor a barra de endereço e status de
navegador para induzi-lo a pensar que está no site legítimo e inserir suas informações.
Vishing (voice phishing): é um dos mais novos métodos para obter informações pessoais. Dá-se na forma de
e-mails aparentando vir do eBay, PayPal e serviços similares dizendo sobre um provável problema em suas
contas e pedindo que liguem para o número indicado no objetivo de confirmar tais dados. Dessa forma,
89
CPC - Parte I - Conceitos Básicos
atacantes obtém número e senhas de cartões de créditos e estão livres para fazerem o que quiserem. Há
também formas de ataque onde chamadas telefônicas são realizadas diretamente à vítima pedindo
informações sobre o código de segurança do cartão de crédito.
Spyware: é um programa enviado na forma de cookies com o intuito de capturar informações pessoais do
usuário.
Addware: programa para instalar propagandas no computador infectado.
18.4. Mecanismos de Segurança
a) Esteganografia: é o processo de esconder informações, que serão mostradas novamente através de comandos
específicos.
b) Criptografia: é o método de codificar uma mensagem, para garantir a segurança das mesmas.
a) Criptografia de chaves simétricas: esse método, conhecido também como criptografia tradicional, funciona bem
em aplicações limitadas, onde o remetente e o destinatário se preparam antecipadamente para o uso da
chave. Para que esse método funcione, todas as pessoas envolvidas devem conhecer a chave, pois quando
uma mensagem criptografada chega a caixa de entrada, ela só pode ser aberta por quem possui a chave. São
utilizados algoritmos como DES, RC e IDEA
b) Criptografia de chaves assimétricas: A criptografia de chave pública ou criptografia assimétrica, foi criada em
1970. Esse método funciona com uma chave para criptografar, e outra para descriptografar a mesma
mensagem. No sistema de chave pública, cada pessoa tem que ter duas chaves, uma que fica publicamente
disponível, e outra, que deve ser mantida em segredo. O algoritmo que se mantém até hoje é o RSA.
c) Firewall: é o sistema de segurança que impede o acesso de usuários não autorizados.
d) Roteador com Triagem (Screening Router): essa é a maneira mais simples de se implementar um Firewall, pois
o filtro, apesar de ser de difícil elaboração, é rápido de se implementar e seu custo é zero, entretanto, se as
regras do roteador forem quebradas, a rede da empresa ficará totalmente vulnerável. Neste método é
colocado um roteador entre as redes que verifica as regras definidas e caso os pacotes enviados não
cumpram estas regras, não entram na rede
e) Gateway de Base Dupla (Dual Homed Gateway): é posto uma única máquina com duas interfaces de rede
entre as duas redes (a Internet e a rede da empresa). Quase sempre, esse Gateway, chamado de Bastion
Host conta com um Proxy de circuito para autenticar o acesso da rede da empresa para a internet e filtrar o
acesso da Internet contra a rede da empresa. Como na arquitetura anterior, se o Proxy for quebrado, a rede
da empresa ficará totalmente vulnerável.
f) Gateway Host com Triagem (Screened Host Gateway): Roteador e Gateway são usados conjuntamente em
uma arquitetura, formando assim, duas camadas de proteção. A primeira camada, é a rede externa, que está
interligada com a Internet através do roteador, nesta camada a rede só conta com o "filtro de pacotes" que
está implementado no roteador e tem como finalidade aceitar ou bloquear pacotes de rede seguindo as regras
definidas pela política administrativa da empresa. A segunda camada, é a rede interna, e quem limita os
acessos neste ponto é um Bastion Host com um Proxy Firewall, pois nele, temos um outro filtro de pacotes
além de mecanismos de autenticação da própria rede interna.
g) IDS (Sistema de detecção de Intruso): programa que verifica a presença de usuários não autorizados na rede.
h) Honey Pot: é mecanismo de segurança onde a rede utiliza um computador como servidor fictício onde o
invasor acreditar ter invadido a rede.
i) VPN (Rede Virtual Privada): são ligações feitas entre Intranets (Redes Locais que utilizam a arquitetura
TCP/IP), utilizando como meio de comunicação a Internet e utilizando como meio de segurança firewall nas
pontas das Intranets. Além disso, os dados são mandados de forma criptografada.
Internet
VPN
Intranet Intranet
(Matriz) Dados Criptografados (Filial)
Firewall
90
Parte I - Conceitos Básicos – Professor Luis Octavio
CPC - Parte II – Análise e Projetos de Sistemas
Capítulo I - Análise e Projetos Estruturados
Verificar Verificar
Alunos Alunos
3. Fluxos
4. Mostram os dados necessários para os processos e as informações geradas pelos mesmos.
5. São representados por setas direcionadas (vetores).
6. Nomes compostos interligados por hífen.
Endereço do Aluno
7. Depósito de Dados (Arquivo)
8. Locais onde são armazenados informações necessárias ao sistema.
9. Representados por linhas paralelas ou apenas uma linha.
Cadastro de Aluno Cadastro de Aluno
Usuários
Obs: Para Tom DeMarco iniciar a construção pelos Fluxos é um procedimento Top-Down (o mais aconselhável),
enquanto que iniciar pelos Processos seria Bottom-Up.
b) DFD em Níveis:
13. Diagrama de Contexto: é o nível mais alto do DFD. É formado por uma única bolha (nome do sistema ou
área de estudo), fluxos e terminadores externos.
14. Figura 0 ou Diagrama 0: mostra as funções principais do sistema.
15. Figura 1, 2, ,3, ... ou Diagrama 1, 2, ,3, ...: é o desmembramento de uma função (Processo) do diagrama 0
em subfunções.
Obs: quando um processo não podem ser subdivido é chamado de Primitivos Funcionais.
LI {ELEMENTO} LS ou LS ELEMENTO
LI
LI = limite inferior, ou seja, quantidade
EW mínima de ocorrências.
LS = limite superior, ou seja, quantidade máxima de ocorrências.
d) Seleção
23. Indica que o elemento de dados é uma das opções mostradas.
24. Aparecem entre colchetes “[ ]”.
25. As opções são separadas pela barra vertical “|”.
26. Sintaxe: elemento = [opçãoA|opçãoB|opçãoC]
e) Sinônimos (Cognomes)
27. É um nome alternativo para um elemento de dados.
28. Sintaxe: elemento = *sinônimo*
29. Obs: Tom DeMarco não utiliza “**”.
F) Entrada por Classes
30. Fluxo de Dados:
31. Nome
32. Cognome
33. Composição
34. Notas: outras informações
35. Arquivo (Depósito):
36. Nome
37. Cognome
38. Composição
39. Organização: tipo de acesso (direto ou seqüencial) e o elemento pelo qual o arquivo esta
organizado.
40. Notas
Processo:
41. Nome
42. Número
43. Descrição: mostra o procedimento do Processo
44. Notas
2.3. Tabela de Decisão
É uma ferramenta que apresenta várias ações diferentes possíveis para um conjunto de condições
combinadas e apresentada na forma tabular.
Segundo Tom DeMarco:
Número de 1 2 3 4 5 6 7 8
Regras Servidor Público VV V V F F F F
Autônomo F F F F V V V V
Salário Alto V V F F V V F F
Condiçõe Salário Médio F F V V F F V V
s Ama a pretendente V F V F V F V F
Gosta da pretendente F V F V F V F V
Casar
Noivar
Ações Namorar
Ficar
Regras
Professor Luis Octavio - 2
CPC - Parte II – Análise e Projetos de Sistemas
Regra é a ação que é tomada a partir dos resultados de um conjunto de condições.
No caso mostrado temos três grupos de variáveis: Tipo de Trabalhador, Salário e Sentimento. Para cada
variável, nesse caso, atribuímos dois valores, que são mostrados abaixo:
Autônomo
Trabalho
Servidor
Público
Alto
Salário
Médio
Sentimento
Ama
Gosta
Para calcularmos a quantidade de regras, basta multiplicar a quantidade de valores possíveis para cada
variável, ou seja, 2 X 2 X 2 = 8 regras.
3. Metodologias
3.1. Metodologia Top-Down
É a metodologia que mostra a função geral do sistema e decompõe em subfunções.
É dividida em duas partes:
1. Definir um Projeto Inicial com os processos e dados.
2. Definir detalhadamente os processos e os dados:
1. Processo de Decomposição: divide o problema em problemas menores.
2. Processo de Montagem: define os componentes do programa.
4. Projeto Estruturado
4.1. Definição
É o desenvolvimento de um plano para a solução de um problema, através de um sistema de computação,
tendo os mesmos componentes que os problema original.
b) Análise de Sistemas.
13. Transforma as suas duas principais entradas, critério do usuário e previsão do projeto, em uma
especificação estruturada..
14. Conteúdo:
15. Modelagem do ambiente com DFD.
16. Diagrama de Entidade-Relacionamento (E-R)
17. Outras ferramentas.
c) Projeto.
18. Aloca partes da especificação aos processadores apropriados e as tarefas apropriadas no interior de cada
processador.
19. Criar um modelo de Implementação.
Professor Luis Octavio - 4
CPC - Parte II – Análise e Projetos de Sistemas
d) Implementação.
20. Codificação e integração de módulos em um resumo progressivamente mais completo do sistema final.
21. Conteúdo:
22. Programação Estruturada.
23. Implementação Top-Down
24. Outras ferramentas.
25. Normalmente não tem a participação do Analista de Sistemas.
g) Descrição dos Procedimentos: criação de uma descrição formal das partes do novo sistema (manual do
usuário) e a descrição de como os usuários vão interagir com a parte automatizada do sistema.
g) Instalação
4.5. Acoplamento
É o grau de independência dos módulos. Quanto mais baixo a grau de acoplamento mais bem particionado o
sistema será. Para se alcançar esse baixo grau de acoplamento temos três maneiras:
1. Eliminar relações desnecessárias.
2. Reduzir o número de relações necessárias.
3. Enfraquecer a dependência das relações necessárias.
4.6. Coesão
É como as atividades de um módulo estão relacionadas uma com as outras. É a medida da intensidade
funcional dos elementos dos elementos de um módulo.
+ -
coesão acoplamento
- +
Melhor Manutenibilidade
Funcional
Sequencial
Comunicacional
Procedural
Temporal
Lógica
Coincidental Pior Manutenibilidade
4.7.1. Factoring
É a separação de uma função contida em um módulo na forma codificada para um novo módulo próprio.
4.8.2. Fan-Out
É a quantidade de subordinados imediatos que um módulo possui. A quantidade de subordinados ideal seria
de sete.
4.8.3. Fan-In
É a quantidade de superiores imediatos que um módulo possui.
5. Estratégias de Teste
Uma estratégia de teste integra técnicas de projeto de casos de teste numa série bem-definida de passos que
resultam na construção bem-sucedida de software. As estratégias de teste devem conter planejamento de teste,
projeto de casos de teste, execução de testes e coleta e avaliação de dados.
5.1. Teste de Unidade
É o teste que se aplica ao módulo. Os testes que compõe o teste de unidade são:
1. Interface: garante que as informações fluem para dentro e fora da unidade de programa que se encontra
sob teste.
2. Estrutura de Dados: garante que os dados armazenados temporariamente mantêm sua integridade durante
todos os passos de execução de um algoritmo.
3. Condições de Limite: garante que o módulo opera adequadamente nos limites estabelecidos para
demarcarem ou restringirem o processamento.
4. Caminhos Independentes: garante que todas as instruções de um módulo foram executadas pelo menos
uma vez.
5. Caminhos de tratamento de erros: garante que o processamento será reorientado ou terminado de forma
clara quando um erro ocorrer (abordagem antibugging).
5.2. Teste de Integração
Enquanto o teste de unidade verifica os módulos separadamente, o teste de integração verifica os módulos
trabalhando em conjunto. O teste de integração é uma técnica sistemática para a construção da estrutura do
programa. O teste de integração pode ser feito com o objetivo da integração não-incremental, onde os módulos
são combinados antecipadamente. Nesse caso, o programa completo é testado como um todo e com isso um
conjunto de erros é encontrado. A dificuldade é isolar as causas em conseqüência da vasta amplitude do
programa. Outra forma de aplicar o teste de integração é a integração incremental, onde o programa é construído e
testado em pequenos segmentos, onde os erros são mais fáceis de ser isolados e corrigidos.
Estratégias de Integração Incremental:
a) Integração top-down
Nela os módulos são integrados movimentando-se de cima para baixo através da hierarquia de controle,
iniciando-se do módulo de controle principal e posteriormente os módulos subordinados são incorporados de
maneira depth-first (primeiramente pela profundidade) ou breadth-first (primeiramente pela largura).
Passos para integração top-down:
1º) O módulo de controle principal é usado como um driver (programa principal que aceita dados de caso de
teste, passa tais dados para o módulo a ser testado e imprime os dados relevantes) de teste e os stubs
(substituem módulos que estejam subordinados módulo testado, ou seja, são programas simulados) são
substituídos para todos os módulos diretamente subordinados ao módulo de controle principal.
2º) É escolhido o método depth-first ou o breadth-first e os stubs subordinados são substituídos, um de cada
vez, por módulos reais.
3º) Testes são realizados à medida que cada módulo é integrado.
4º) Durante a conclusão de cada conjunto de testes, outro stub é substituído pelo módulo real.
5º) Teste de regressão – realização de todos ou alguns dos testes anteriores – pode ser realizado a fim de
garantir que novos erros não tenham sido introduzidos.
• o mecanismo da percepção humana, particularmente com relação aos sentidos de visão, audição
e de tato, exprimem a capacidade do ser humano em adquirir, armazenar e utilizar as informações;
na maior parte das operações realizadas num computador, o usuário faz uso dos olhos e do cérebro
para o processamento das informações, sendo capaz de diferenciar os diferentes tipos de
informação segundo diversos parâmetros visuais (a cor, a forma, as dimensões, etc...); a leitura é
um outro processo importante na comunicação usuário-software, apesar da grande tendência em se
utilizar recursos gráficos nas interfaces homem-máquina;
• os diferentes níveis de habilidades das pessoas são um outro aspecto de importância no projeto
de uma interface de software; o projetista deve ter a preocupação de dirigir a interface para o
usuário típico do software; uma interface que seja orientada e adequada ao uso por um engenheiro
pode representar grandes dificuldades de utilização por parte de um trabalhador inexperiente; no
caso de softwares de aplicação vertical (destinados a áreas de aplicação específicas), é importante
que a linguagem utilizada suporte termos e conceitos próprios da área;
• as tarefas a realizar com a introdução do software são, em grande parte dos casos, as mesmas
que eram realizadas no sistema não-automatizado; a introdução do software para automatizar um
sistema raramente viabiliza a realização de novas tarefas, mas permite que as tarefas antes
realizadas manualmente possam vir a ser realizadas de forma mais eficiente e menos dispendiosa;
em muitos casos, o software assume tarefas que eram realizadas manualmente; sendo assim, as
tarefas essenciais do sistema deve ser um outro aspecto a ser considerado no projeto da interface.
6.2. Aspectos dos projetos de interface
• o tempo de resposta é um parâmetro que, se mal definido (ou omitido num projeto) pode conduzir
a resultados frustantes a despeito do cuidado com o qual tenham sido tratados outros fatores; o
tempo de resposta a comandos do usuário não tem de ser necessariamente o mais curto possível;
em muitas aplicações, pode ser interessante se ter um tempo de resposta mai elevado (sem que o
usuário venha a se aborrecer de esperar), de forma a permitir que o usuário reflita sobre as
operações que está realizando; o tempo de resposta deve ser projetado observando dois aspectos:
a extensão (o espaço de tempo entre um comando do usuário e a resposta do software) e a
6.3.1. A Interação
No que diz respeito à interação, pode-se relacionar as seguintes diretrizes:
1. Modelagem
A modelagem de um sistema de processamento de dados pode ser feita a partir de dois enfoques:
1°) Enfoque dos DADOS que são processados;
2°) Enfoque das FUNÇÕES que tratam esses dados.
Esses dois enfoques são complementares e, usados conjuntamente, fornecem ao analista os dois
principais ângulos do problema de análise: DADOS E FUNÇÕES. O Diagrama de fluxo de dados (DFD) e o
Diagrama Hierárquico Funcional (DHF) é o diagrama utilizado para prover a visão dos DADOS.
Os modelos Funcional e de Dados, ao integrarem um projeto de sistemas, constituem-se em importantes
instrumentos para, entre outras coisas:
1. Apresentar, através de diagramas, uma síntese do problema. Destacando seus aspectos mais relevantes;
1. Oferecer uma visão contextual do sistema em análise.
2. Facilitar a comunicação entre os integrantes da equipe de desenvolvimento (gerentes, analistas, usuários,
etc);
3. Motivar a participação do usuário no projeto;
4. Documentar o processo de análise, para que o trabalho não sofra solução de continuidade;
Apesar dos dois enfoques (Funcional e de Dados) do processo de análise de sistemas, este texto trata,
especificamente, da MODELAGEM DE DADOS, com o emprego do MODELO DE ENTIDADES E
RELACIONAMENTOS, ressaltando as principais características de uso dessa ferramenta.
1.1. Níveis de Abstração
Um sistema de informações, atravessa diversas fases de análise, antes de ser efetivamente implantado no
computador. Essa sequência de fases, onde o analista busca conhecer a realidade e representando-la através de
modelos, constitui o que chamamos NIVEIS DE ABSTRAÇÃO.
Diversos são os autores que tem escrito sobre as fases da análise de sistemas, definindo, para cada uma
delas, diferentes modelos e compondo metodologias. A quantidade de Níveis de abstração que devemos
atravessar para atingirmos o objetivo de implatação do sistema, não é consenso entre eles. Neste texto, tratremos
exclusivamente da modelagem de dados, e de técnicas que darão origem a um projeto de banco de dados.
Utilizando a partir do MUNDO REAL, três níveis de abstração: MODELO DESCRITIVO, MODELO LÓGICO,
MODELO FÍSICO.
Nossa abordagem é do tipo “TOP DOWN”, procurando conhecer o problema a partir de seus aspectos mais
gerais, para os mais específicos. O esquema de análise adotado encontra-se representado na figura a seguir:
MUNDO REAL
MODELO
DESCRITIVO
MODELO
LÓGICO
MODELO
FÍSICO
BANCO
DE
DADOS
B) MODELO DESCRITIVO
Este modelo é representado pôr um texto contendo a descrição do mundo real (ambiente alvo de estudo),
explicitando as características do problema a ser tratado através de regras do negócio, elenco de necessidades, a
análise de requisitos, questionários, formulários, relatórios, informações sobre volume, etc.. Constituí o primeiro
nível da modelagem, onde o analista estabelece as fronteiras do sistema.
Neste nível de abstração o modelador procura estabelecer as fronteiras do sistema, identifica a área alvo
da modelagem, descreve o problema a ser solucionado e os componentes sobre os quais o usuário deseja
armazenar e recuperar informações. Deve-se relatar o maior nível de detalhes possível a respeito do problema,
cuidando-se para não perder a objetividade.
O maior problema do modelo descritivo é a falta de padrão. Existem várias maneiras de se descrever os
mesmo problema, as palavras possuem significados variados e podem causar dupla interpretação, ou seja,
ambigüidade. Para amenizar esse problema, deve-se evitar textos com períodos longos, procurar trabalhar com
tópicos, frases curtas e utilizar palavras precisas e adequadas ao vocabulário profissional do usuário.
C) MODELO LÓGICO
Também conhecido conhecido como CONCEITUAL, ‘é um modelo baseado em símbolos
PADRONIZADOS, que expressa, graficamente, os CONCEITOS do MUNDO REAL delineados no modelo
Descritivo. A utilização de uma simbologia padronizada torna a linguagem mais precisa, o que facilita a
comunicação entre os integrantes da equipe de desenvolvimento, especialmente, entre analistas e usuários.
Portanto, esse modelo é o mais adequado para o registro e validação dos conceitos do mundo real, nas fases do
projeto que envolvem o usuário.
O produto dessa fase de análise deve ser um MODELO DE ENTIDADES E RELACIOANAMENTOS (MER)
enfocando a visão dos DADOS com alto nível de abstração, ou seja, voltado para o MUNDO REAL e sem
preocupar-se com ambiente operacional, com, pôr exemplo, o software e hardware no qual o sistema será
implantado.
Neste nível da modelagem, deve-se ressaltar os aspectos mais relevantes do problema, ou seja,
representa-se principais entidades, relacionamentos, estruturas de dados e integração com outros sistemas. Os
detalhes do banco de dados (chaves primárias, estrangeiras, integridades, etc.) devem ser deixados para a fase
seguinte, de construção do modelo operacional.
D) MODELO FÍSICO
Também conhecido como modelo OPERACIONAL, decorre da análise do Modelo Lógico, visando torna-lo
adequado ao ambiente operacional, no qual o sistema será implantado. No caso específico deste texto, essa
análise visa adaptar o modelo lógico às limitações de um Sistema Gerenciador de Banco de Dados Relacional
(SGBD-R).
Obter o projeto das tabelas do banco de dados é o principal objetivo dessa fase e para alcança-lo, o
analista deve investigar cada entidade do Modelo Lógico, decompor estruturas em elementos de dados, utilizar a
NORMALIZAÇÃO e o conhecimento sobre o MODELO RELACIONAL como balizadores de suas ações.
Nesta fase, o dicionário de dados de Modelo Conceitual é enriquecido com a escolha das chaves primárias,
definição de chaves estrangeiras, índices, integridades, e outros detalhes essenciais para a criação do banco de
dados.
D) BANCO DE DADOS
É o resultado da análise do sistema através dos vários níveis de abstração, criado no computador, através
da linguagem de definição de dados DDL do SGBD.
Do ponto de vista teórico, o modelo FÍSICO seria o ideal para ser implantado. Porém, a prática revela que
esse modelo ainda pode sofrer modificações antes que o DB seja criado. Os principais fatores que determinam
essas modificações são a MELHORIA DE PERFORMANCE e a DISTRIBUIÇÃO DE DADOS.
Visando aumentar a performance, podem ser criadas redundâncias, com a desnormalização e criação de
tabelas totalizadoras para geração de informações gerenciais. Nesses casos, deve-se Ter espqcial cuidado com a
Exemplo:
CLIENTE
CONTA _ CORRENTE
C) ATRIBUTO
Os atributos são os dados que devemos armazenar a respeito da entidade, para atender às necessidades
de informações demandadas pelo usuário. Constituem tudo o que se pode relacionar como próprio (propriedade)
da entidade e que, de alguma forma, estejam contidos no escopo do problema em análise. Os atributos qualificam
e distinguem as entidades no MER.
Em relação ao banco de dados, os atributos representam as colunas, que formam a estrutura de dados das
tabelas. As colunas armazenam um valor para cada linha. Esse valor armazenado é designado por VALOR DE
ATRIBUTO.
O conjunto de valores de atributos, distintos pôr um identificador único (chave primária) denomina-se
OCORRÊNCIA. Esse conceito é analogo ao de linha (tupla) em tabela relacional e de registro em arquivo
convencional.
Professor Luis Octavio - 16
CPC - Parte II – Análise e Projetos de Sistemas
CLIENTE CONTA_CORRENTE
Cabe observar, que a representação de atributos no MER pode “poluir” o gráfico, comprometendo sua
objetividade e visão contextual. Esse recurso deve ser reservado para situações especiais, em que você queira
destacar um atributo, pôr considera-lo elucidativo para o contexto.
D) DICIONÁRIO DE DADOS
Os ATRIBUTOS são usualmente descritos sob a forma de estruturas e elementos no Dicionário de
Dados, onde deve constar uma relação de atributos para cada entidade do MER. As notações mais utilizadas para
criação de dicionários de dados são as definidas por GANE e YOURDON.
Exemplo da notação de gane para descrição de estruturas de dados:
CLIENTE
IDENTIFICADOR
NOME
ENDEREÇO
CONTA_CORRENTE
NUMERO_CONTA
TIPO_CONTA (1-poupança , 2-c/c)
AGÊNCIA
CÓDIGO_AGÊNCIA
ENDEREÇO_AGÊNCIA
LANÇAMENTOS *
NÚMERO_LANÇAMENTO
DATA
TIPO (deb.,cre.)
VALOR
A figura a seguir ilustra conceitos vistos nesse capítulo, representando a entidade “FUNCIONÁRIO” sob a forma de
uma tabela de banco de dados.
ENTIDADE
DO MER FUNCIONÁRIO
TABELA DO
BD
ENTIDADE FUNCIONÁRIO
VALOR DE
ATRIBUTO
CÉLULA
RELACIONAMENTO
1 N CONTA_CORRENTE
CLIENTE movimenta
Notação de CHEN
CLIENTE CONTA-CORRENTE
Exemplo:
Indica que UMA ocorrência de entidade CLIENTE relaciona-se com UMA ocorrência da entidade
CONTA_CORRENTE e vice-versa,
CLIENTE MOVIMENTA
CONTA_CORRENTE
Indica que UMA ocorrência da entidade CLIENTE relaciona-se com muitas ocorrências da entidade
CONTA-CORRENTE e vice-versa,
MOVIMENTA CONTA_CORRENTE
CLIENTE
Indica que:
- UMA ocorrência da entidade CLIENTE relaciona-se com MUITAS ocorrências da entidade CONTA-
CORRENTE e:
5. UMA ocorrência da entidade CONTA-CORRENTE relaciona-se com MUITAS
ocorrências da entidade CLIENTE. (cada das contas conjuntas)
H) NOME DO RELACIONAMENTO
É o componente do modelo E-R que identifica o relacionamento, justificando e esclarecendo a importância
de sua existência para o contexto estudado.
Exemplo:
NOME DO RELACIONAMENTO
Nos casos onde o relacionamento é óbvio torna-se dispensável a atribuição do nome ao mesmo.
O nome do relacionamento é recomendável nas seguintes situações:
6. Quando existirem diversas possibilidades óbvias de relacionamentos entre o par de entidades, sendo que
deseja-se representar apenas em;
7. Pôr questão documentacioanal, para dar maior clareza ao modelo
8. Caso ocorra mais do que um relacionamento entre o par de entidades (relacionamento duplo, triplo, etc.);
9. No caso de AUTO-RELACIONAMENTO (entidade relacionando-se com ela mesma-recursividade)
10. Quando da utilização do MER para representar modelos a serem implementados em SGBD REDE
11. Quando da utilização de CASE para desenho do MER (caso a ferramenta obrigue)
I) PAPEL
O papel das entidades no relacionamento fica implícito no nome e na cardinalidade do mesmo e pode ser
inferido a partir desses componentes. Porém, especificar o PAPEL que cada entidade desempenha é uma
alternativa, que pode substituir, com maior precisão, a colocação do nome no relacionamento, atribuindo ao MER
maior capacidade semântica.
EXEMPLO:
GERENTE
LIDERA
É LIDERADO
PROJETO
OBS: A maioria das ferramentas CASE não utilizam o PAPEL como alternativa para a construção de MER.
Professor Luis Octavio - 19
CPC - Parte II – Análise e Projetos de Sistemas
J) SENTENÇAS (REGRA DO NEGÓCIO)
Duas sentenças são derivadas da leitura do relacionamento. Elas refletem as regras do negócio e ajudam
na validação do modelo junto ao usuário.
Exemplo:
TITULAR
CLIENTE CONTA_CORRENTE
cardinalidade
cardinalidade
OBS: As sentenças sempre começam com UM / UMA e a cardinalidade é a do lado oposto ao da primeira
entidade citada na sentença.
Exemplo:
MOVIMENTA
CLIENTE CONTA_CORRENTE
L) REGRAS GERAIS
14. Não podem existir duas entidades iguais no mesmo modelo, ou seja, que representem o mesmo objetivo
do mundo real e possuam os mesmos atributos; mesmo que elas possuam nomes diferentes.
15. Cada entidade deve possuir pelo menos dois atributos (colunas) e duas ocorrências (linhas)
16. No modelo Operacional os relacionamentos devem envolver, no máximo, duas entidades em sua
passagem para o modelo operacional.
17. Pode existir mais do que um relacionamento entre o mesmo par de entidades (relacionamento duplo, triplo,
etc.)
Desvantagens do MER:
26. Diversidade da notação e terminologia
27. Nenhuma ênfase aos processos que manipulam as informações.
COMPÕE
PEÇA
FUNCIONÁRIO GERÊNCIA
Ocasionalmente pode ser necessário representar mais de um relacionamento entre o mesmo par de
entidades. Estes relacionamentos serão válidos desde que denotem situações situações distintas e independentes.
Neste caso, existirão no Modelo Operacional, tantas chaves estrangeiras quantos forem os relacionamentos.
LOTA
SETOR CHEFIA FUNCIONÁRIO
C) RELACIONAMENTO MÚLTIPLO
O relacionamento Múltiplo, previsto pôr PETER CHEN. É aquele que relaciona mais do que duas
entidades. Este tipo de relacionamento somente ocorre em Modelos Conceituais e geralmente denota eventos.
Para implementa-lo nos SGBD-R é necessário criar uma entidade, em procedimento análogo ao que é adotado
nos casos de relacionamento “N:N”.
Exemplo:
Professor Luis Octavio - 21
CPC - Parte II – Análise e Projetos de Sistemas
VENDE
VENDEDOR PRODUTO
CLIENTE
A)GENERALIZAÇÃO
É o resultado da união de dois ou mais conjuntos de entidades afins, de mais baixo nível de abstração,
produzindo uma entidade mais genérica. Portanto a generalização parte de entidades ESPECÍFICAS para
criar uma GENÉRICA.
O exemplo a seguir apresenta dois tipos de conta (corrente e poupança).NO Modelo Conceitual elas
apresentam-se como entidades independentes. Verificado que elas possuem atributos em comum, criou-se no
modelo Operacional a entidade genérica “CONTA”, que contém contém os atributos comuns aos dois tipos de
conta, além de um atributo “TIPO” para diferenciá-las. Essa solução pode simplificar o processo de atualização e
facilitar determinadas consultas que manipulem informações gerais sobre os dois tipos de conta.
Exemplo:
MODELO CONCEITUAL MODELO OPERACIONAL
CLIENTE
CLIENTE
GENERALIZAÇÃO
TIPO
ENTIDADES ESPECÍFICAS
POUPANÇA
CONTA_CORRENTE
CLIENTE CLIENTE
CONTA
CONTA
ENTIDADE GENÉRICA
TIPO
ESPECIALIZAÇÃO CONTA_CORRENTE
POUPANÇA
C) AGREGAÇÃO
Na abordagem “top-down” (do geral para o específico) é comum representar-se no Modelo
Conceitual apenas as entidades mais importantes para a elucidação do problema. Assim, uma única entidade do
Conceitual, ao ser normalizada, pode dar origem a um conjunto de entidades e seus relacionamentos no Modelo
Operacional.
Portanto, a AGREGAÇÃO é um recurso do Modelo Conceitual, que representa através de uma única
entidade “não-normalizada”, um conjunto de entidades e relacionamentos do Nível Operacional.
A agregação permite visualizar um modelo complexo, com muitas entidades, de uma maneira mais
genérica. Com isso, obtém-se uma melhor visão do contextro, com destaque para as entidades e relacionamentos
mais importantes e omissão dos detalhes irrelevantes.
CLIENTE
CLIENTE
NOTA-FISCAL
NOTA-FISCAL
NORMALIZAÇÃO
AGREGAÇÃO
ITENS-NOTA PRODUTO
Alguns autores não admitem o relacionamento múltiplo e utilizam a Agregação para representar o
relacionamento de uma entidade com um par de entidades, conforme mostrado no gráfico a seguir. Nesse texto
não adotaremos essa linha de pensamento.
Exemplo:
CLIENTE
COMPRA
VENDEDOR PRODUTO
1. Introdução
Existem muitas definições para o que se chama, em desenvolvimento de software, de Orientação a Objetos.
Estudando a bibliografia da área, observa-se que cada autor apresenta a sua visão do que entende por esta
abordagem. Aí vão alguns conceitos:
1. a orientação a objeto pode ser vista como a abordagem de modelagem e desenvolvimento que facilita a
construção de sistemas complexos a partir de componentes individuais;
2. o desenvolvimento orientado a objetos é a técnica de construção de software na forma de uma coleção
estruturada de implementações de tipos abstratos de dados;
1. desenvolvimento de sistemas orientado a objetos é um estilo de desenvolvimento de aplicações onde a
encapsulação potencial e real de processos e dados é reconhecida num estagio inicial de
desenvolvimento e num alto nível de abstração, com vistas a construir de forma econômica o que imita
o mundo real mais fielmente;
2. a orientação a objetos é uma forma de organizar o software como uma coleção de objetos discretos que
incorporam estrutura de dados e comportamento.
Visando a que cada leitor passe a ter a sua própria definição do que significa Orientação a Objetos, vamos
apresentar aqui os principais conceitos relacionados a esta tecnologia.
2.2. Classe
Uma classe é o agrupamento de objetos com a mesma estrutura de dados (definida pelos atributos ou
propriedades) e comportamento (operações). Uma classe é uma abstração que descreve as propriedades
importantes para uma aplicação e não leva em conta as outras. Exemplos de classes: Parágrafo, Janela, Aluno,
Carro. Cada classe descreve um conjunto possivelmente infinito de objetos individuais. Cada objeto é uma
instância de classe. Cada instância de classe tem seu próprio valor para cada um dos atributos da classe mas
compartilha os nomes e as operações com as outras instâncias de classe.
2.4. Abstração
A abstração consiste em enfocar os aspectos mais importantes de um objeto (visão externa; o que é e o
que ele faz), ignorando suas características internas (visão interna; como ele deve ser implementado).
2.5. Encapsulamento
O encapsulamento é o empacotamento de dados (atributos) e de operações sobre estes (métodos). No
caso da orientação a objetos, os dados não podem ser acessados diretamente mas através de mensagens
enviadas para as operações. A implementação de um objeto pode ser mudada sem modificar a forma de acessa-
lo.
2.6. Herança
A herança consiste no compartilhamento de atributos e operações entre as classes numa relação
hierárquica. Este mecanismo permite a uma classe ser gerada a partir de classes já existentes; por exemplo a
classe automóvel herda da classe veículo algumas propriedades e operações. Uma classe pode ser definida de
forma abrangente (como no caso do exemplo anterior) e posteriormente refinada em termos de sub-classes e
2.7. Polimorfismo
O polimorfismo significa que uma mesma operação pode se comportar de forma diferente em classes
diferentes. Exemplo de polimorfismo, a operação calcular o perímetro que é diferente para as instâncias de
classe circulo e polígono ou a operação mover diferente para janela de computador e peça de xadrez. Uma
operação que tem mais de um método que a implementa é dita polimórfica.
Nos sistemas orientados a objetos, o suporte seleciona automaticamente o método que implementa uma
operação correto a partir do nome da operação e da classe do objeto no qual esta se operando, da mesma forma
que no mundo real onde o objeto real “tem conhecimento” intrínseco do significado da operação a realizar. Essa
associação em tempo de execução é chamada de ligação dinâmica (ou “dynamic binding”).
II – Relacionamentos
a) Dependência: é um relacionamento semântico entre dois itens, nos quais a alteração de um pode afetar a
semântica do outro. Representada por linhas tracejadas com setas e possivelmente com um rótulo.
b) Associação: é um relacionamento estrutural que descreve um conjunto de ligações, em que as ligações
são conexões entre objetos. Representado graficamente por linhas sólidas, com rótulos, papéis e multiplicidades.
12. Agregação: é um tipo de associação que demonstra um relacionamento estrutural entre o todo e suas
partes.
c) Generalização: é um relacionamento de especialização/generalização, nos quais os objetos dos
elementos especializados (filhos) são substituíveis por objetos do elemento generalizado (pais), permitindo assim,
que os filhos compartilham a estrutura e o comportamento dos pais. É representada como linha sólida com uma
seta em branco apontando o pai.
c) Realização: é um relacionamento semântico entre classificadores, em que classificador especifica um
contrato que outro classificador garante executar, podendo ser encontrados entre interfaces e as classes ou
componentes as realizam e entre casos de uso e as colaborações que os realizam. É representada como linha
tracejada com uma seta em branco entre uma generalização e um relacionamento de dependência.
III – Diagramas
Professor Luis Octavio - 27
CPC - Parte II – Análise e Projetos de Sistemas
1. Diagrama de classes: exibe conjunto de classes, interfaces e colaborações bem como
seus relacionamentos. São diagramas são encontrados com maior freqüência em sistemas de modelagem
orientados a objeto e abrangem uma visão estática da estrutura do sistema.
2. Diagrama de objetos: exibe um conjunto de objetos e seus relacionamentos. Representa
retratados de instâncias de itens encontrados em diagramas de classes, abrangem a visão estática da
estrutura ou processo de um sistema, mas sob perspectiva de casos reais ou de protótipos.
3. Diagrama de caso de uso: exibe um conjunto de caso de uso e atores (um tipo especial de
classe) e seus relacionamentos. Abrangem a visão estática de casos de uso do sistema, sendo importante
para a organização e a modelagem de comportamentos do sistema.
4. Diagrama de interação: exibe uma interação, consistindo de um conjunto de objetos e seus
relacionamentos, incluindo as mensagens que podem ser trocadas entre eles.
5. Diagrama de seqüências: é um diagrama interação cuja ênfase está na ordenação temporal das
mensagens.
6. Diagrama de colaboração: é um diagrama interação cuja ênfase está na organização estrutural dos
objetos que enviam e recebem mensagens.
7. Obs: os diagramas anteriores são isomórficos, ou seja, podem ser convertidos um em outro.
8. Diagrama de gráfico de estados: exibem uma máquina de estados, formada por estados,
transições, eventos e atividades, abrangendo a visão dinâmica de um sistema.
9. Diagrama de atividade: é um tipo especial de diagrama de gráfico de estado, exibindo o
fluxo de uma atividade para outra no sistema diagramas de atividades, abrangendo a visão dinâmica do
sistema e é importante principalmente para a modelagem da função de um sistema e da ênfase ao fluxo de
controle entre objetos.
10. Diagrama de componente: exibe as organizações e as dependências existentes em um
conjunto de componentes diagramas de componentes. Abrange a visão estática da implementação de um
sistema.
11. Diagrama de implantação: exibe a configuração dos nós de processamento em tempo de
execução e os componentes neles existentes. Abrange a visão estática do funcionamento de uma
arquitetura diagramas de implantação.
12. um modelo objeto para representar os aspectos estáticos, estruturais, de “dados” de um sistema;
13. um modelo dinâmico para representar os aspectos temporal, comportamental e de “controle” de um
sistema;
14. um modelo funcional para representar os aspectos transformacionais e de “função” de um sistema.
1. um diagrama de classe, que representa classes de objetos e tem a função de ser um esquema, um
padrão ou um “template” para os dados;
2. um diagrama de instância, utilizado para representar instâncias de classes e tem o objetivo de descrever
como um conjunto particular de objetos se relaciona com outro.
(Pessoa) (Pessoa)
Pessoa Clara Márcio (Pessoa)
Classe Objetos
Uma operação pode ser aplicada a ou por objetos numa classe. A mesma operação pode se aplicar a
várias classes diferentes (polimorfismo). Um método é a implementação de uma operação para uma classe.
Quando uma operação tem métodos em várias classes, eles devem ter a mesma assinatura (em número e tipos de
argumentos). As operações se encontram na terceira parte da caixa, como ilustrado na primeira figura . Cada
operação pode ser seguida de detalhes opcionais tais como lista de argumentos (colocada entre parênteses após
o nome, separados por "," ) e tipo de resultado (precedido por ":"). A notação generalizada para classes de objetos
se encontra na segunda figura .
Objeto
Pessoa Arquivo Geométrico
nome identificador cor
idade tamanho (bytes) posição
última alteração
muda_emprego move (delta:vetor)
imprime
muda_end seleciona(p:ponto)
roda(ângulo)
Nome da Classe
nome_atributo-1 : tipo_dado-1 = valor default-1
nome_atributo-2 : tipo_dado-2 = valor default-2
• • •
nome_operação-1:(lista_argumentos-1) = tipo_result-1
nome_operação-2:(lista_argumentos-2) = tipo_result-2
• • •
Associações e ligações são descritas por verbos. Associações são inerentemente bidirecionais e podem
ser lidas nos dois sentidos. Por exemplo: num primeiro sentido pode-se ler Vitório Mazzola trabalha para UFSC e
no sentido inverso, UFSC emprega Vitório Mazzola). Associações são muitas vezes implementadas em
Uma ligação mostra a relação entre 2 ou mais objetos. A figura abaixo mostra uma associação um-a-um e
as ligações correspondentes. Observa-se, na notação OMT, que a associação corresponde a uma linha entre
classes e que os nomes de associação são em itálico.
As associações podem ser binárias, terçárias ou de ordem maior. De fato, a maior parte é binária ou
qualificada (i.e., é uma forma especial de terçária que será comentado a seguir). A simbologia OMT para terçária
ou n-ário é um losango com linhas conectando este as classes relacionadas. O nome da associação é escrito
dentre do losango; entretanto, os nomes de associação são opcionais. A segunda figura mostra exemplos de
associações e ligações terçárias.
A multiplicidade especifica quantas instâncias de uma classe podem se relacionar a uma única instância
de classe associada. A multiplicidade restringe o número de objetos relacionados. A multiplicidade depende de
hipóteses e de como se define os limites do problema. Requisitos vagos tornam a multiplicidade incerta. Não é
possível de determinar muito cedo a multiplicidade no processo de desenvolvimento de software; num primeiro
tempo, determina-se objetos, classes, ligações e associações e depois decide-se a respeito de multiplicidade. A
distinção mais importante é entre “um” e “vários”; entretanto existem símbolos especiais para “exatamente um”,
“um ou mais”, “intervalos”, “”zero ou mais”, “zero ou um”, conforme mostra a terceira figura .
Projeto Linguagem
Diagrama
de Classes
Pessoa
(Projeto) (Linguagem)
(Pessoa) Diagrama
de
Clara Instâncias
(Projeto) (Linguagem)
programa CAD C
Classe exatamente um
1+
Classe um ou mais
1-2,4
Classe numericamente especificado
Atributo de ligação. Similarmente ao caso da classe onde um atributo é uma propriedade dos objetos desta, um
atributo de ligação é uma propriedade das ligações numa associação. A primeira figura abaixo apresenta o caso
onde permissão-de-acesso é um atributo da associação Acessível-por. Cada atributo de ligação tem um valor para
cada ligação, conforme pode ser visto nesta figura ainda. É ainda possível ter atributos de ligações para
associações vários-a-um conforme visto na segunda figura e também para ligações terçárias. Apesar de poder
substituir os atributos de ligação por atributos de objetos da associação, é preferível manter atributos de ligação.
Modelagem de associação como classe. Às vezes, é útil modelar uma associação como classe. Cada ligação se
torna uma instância da classe.
acessível por
Arquivo Usuário
autorização de acesso
trabalha para
Pessoa Empresa
nome
nome
chefe seguro social
salário endereço
endereço
função
Supervisiona empregado
taxa desempenho
A figura acima mostra um exemplo disto. Esta opção é particularmente útil quando ligações podem
participar em associações com outros objetos ou quando ligações são sujeitas a operações.
Papel. Um papel ou role é uma extremidade de uma associação. Uma associação binária tem dois papeis, um em
cada extremidade, cada um deles podendo ter seu nome. Cada papel numa associação binária identifica um objeto
ou um conjunto de objetos associado com um objeto na outra extremidade. Nomes de papel são necessários em
associações entre objetos da mesma classe, conforma consta na primeira figura.
Ordenamento. Usualmente, do lado de uma associação “vários”, os objetos não têm ordem explícita e podem ser
vistos como um conjunto. Entretanto, às vezes, os objetos são explicitamente ordenados, o que é representado por
{ordered} perto da indicação de multiplicidade.
Autorizado em
Usuário Workstation
Autorização
prioridade
privilégios
início sessão
diretório home
Diretório
4.1.4. Agregação
A agregação é uma relação “parte-todo” ou “uma-parte-de” na qual os objetos representando os
componentes de algo são associados com um objeto representando a junção deles (“assembly”). Algumas
propriedades da classe junção se propagam às classes componentes, possivelmente com alguma modificação
local.
A agregação é definida como uma relação entre uma classe junção e uma classe componente. A
agregação é então uma forma especial de associação. A simbologia da agregação é similar a da associação
(linha), exceto pelo fato de um pequeno losango indicar o lado da junção da relação.
Generalização é uma relação do tipo “é um” entre uma classe e uma ou mais versões refinadas. A classe
que está sendo refinada é uma superclasse e a classe refinada é uma subclasse. Por exemplo, máquina de
comando númerico é uma superclasse de torno, fresadora. Atributos e operações comuns a um grupo de
subclasses são reagrupados na superclasse e compartilhado por cada subclasse. Diz-se que cada subclasse
herda as características de sua superclasse.
A notação para a generalização é um triângulo conectando uma superclasse a suas subclasses. As
palavras próximas ao triângulo no diagrama são discriminadores (i.e. atributos de um tipo enumeração que indica
qual propriedade de um objeto está sendo abstraído por uma relação de generalização particular). Os
discriminadores estão inerentemente em correspondência um-a-um com as subclasses da generalização.
É possível relação de herança em vários níveis. A herança em 2 ou 3 níveis (até 5 em alguns casos) de
profundidade é aceitável; já a mais de 10 níveis é excessiva.
A generalização facilita a modelagem a partir de classes estruturadas e da captura do que é similar e do
que é diferente nas classes. A herança de operação é de grande ajuda durante a implementação para facilitar a
reutilização de código.
Utiliza-se a generalização para se referenciar à relação entre classes, enquanto a herança diz respeito ao
mecanismo de compartilhar atributos e operações usando a relação de generalização. Generalização e
especialização são dois pontos de vista da mesma relação, no primeiro caso vista a partir da superclasse e no
segundo da subclasse: a superclasse generaliza a subclasse e a subclasse refina ou especializa a superclasse.
4.1.6. Módulo
Um módulo é uma construção lógica para reagrupar classes, associações e generalizações. Um módulo
captura uma perspectiva ou uma vista de uma situação, como no caso de um prédio, existem várias visões
correspondentes a planta elétrica, hidráulica, de calefação. Um modelo objeto consiste de um ou vários
módulos. A noção de módulo força a particionar um modelo objeto em peças gerenciaveis. Uma mesma classe
pode ser referenciada em módulos diferentes. De fato, referenciando a mesma classe em múltiplos módulos é o
mecanismo para interligar módulos entre sí.
Figura
cor
posição centro
largura pena
tipo pena
mover
selecionar
rodar
mostrar
dimensionalidade
levanta fone
timeout
fone no gancho Tom Discagem Timetout
ação: som discagem ação: beep baixo
fone no gancho
Conectado
fone no gancho
Desconectado
4.2.2. Operações
Uma descrição do comportamento de um objeto deve especificar o que o objeto faz em resposta a eventos.
Operações associadas à estados ou transições são realizadas em resposta aos estados correspondentes ou a
eventos.
Uma atividade é uma operação que leva tempo para se completar. Ela é associada a um estado. A
notação “do: A” dentro de um caixa de estado indica que a atividade A inicia na entrada no estado e para na saída.
Uma ação é uma operação instantâneo e é associada a um evento. Uma ação representa uma operação
cujo a duração é pequena comparada com a resolução do diagrama de estados. Ações podem também
Professor Luis Octavio - 34
CPC - Parte II – Análise e Projetos de Sistemas
representar operações de controle interno. A notação para uma ação numa transição é um “/” seguido do nome da
ação, após o evento que a causa. Abaixo são mostrados os diagramas de estados com operações.
A agregação permite quebrar um estado em componentes ortogonais, com interação limitada entre eles,
da mesma foram como se tem uma hierarquia de agregação de objetos; a agregação é equivalente à concorrência
de estados (estados concorrentes correspondem geralmente a agregações de objetos).
Uma atividade num estado pode ser expandida como um diagrama de estados de baixo-nível, cada estado
representando um degrau da atividade. Atividades aninhadas são diagramas de estados uma-vez com transições
de entrada e saída, de forma similar a subrotinas. Um diagrama de estados aninhado é uma forma de
generalização (relação do tipo “or”) sobre os estados. Os estados num diagrama aninhado são todos refinamentos
(sub-estados) de um estado (super-estado) de um diagrama de alto-nível; a simbologia utilizada corresponde a
uma caixa arredondada representando o super-estado e contendo todos seus sub-estados.
Eventos podem também ser expandidos em diagramas de estados subordinados. Os eventos podem ser
organizados numa hierarquia de generalização com herança dos atributos de eventos. A hierarquia de eventos
permite que diferentes níveis de abstração sejam usados em diferentes lugares num modelo.
4.2.4. Concorrência
Um modelo dinâmico descreve um conjunto de objetos concorrentes, cada um com seu próprio diagrama
de estados. Os objetos num sistema são inerentemente concorrentes e podem mudar de estados de forma
independente. O estado do sistema total é o resultado dos estados de todos os seus objetos. Um diagrama de
estados no caso da junção (“assembly”) de objetos através de agregação (relação “and”) é uma coleção de
diagrama de estados, concorrentes, um para cada componente. Entretanto, em vários casos, os estados dos
componentes interagem; transições guardadas para um objeto podem depender do estado de um outro objeto.
A concorrência pode também ocorrer dentro do estado de um único objeto, quando o objeto pode ser
particionado em subconjuntos de atributos ou ligações, cada um com seu próprio sub-diagrama; na notação
adotada, os sub-diagramas são separados por linhas pontilhadas.
Estado 1
ação: atividade1 evento1 (atributos1) [condição] / ação Estado 2
entrada/ação2
• • •
saída/ação3
evento2 (atributos2)
evento/ação4
Classe de Objeto
Armazenadores de dados. Um armazenador de dados é um objeto passivo do diagrama de fluxo de dados que
armazena dados para uma cesso futuro.> como no caso de um ator, um armazenador não gera operações sobre
ele mesmo mas simplesmente responde a pedidos para armazenar e acessar dados. O acesso pode ser feito em
ordem diferente do armazenamento. Destaca-se que atores e armazenadores de dados são objetos que se
diferenciam pelo seu comportamento e uso; atores podem ainda serem implementados como dispositivos externos
e armazenadores como arquivos.
Diagramas de fluxo de dados aninhados. Um DFD é particularmente útil para mostrar a funcionalidade de alto-
nível de um sistema e sua quebra em unidades funcionais menores. Um processo pode ser expandido num outro
DFD no qual as entradas e saídas do processos o são também no novo diagrama. Eventualmente, o anhinhamento
de diagramas termina com funções simples que devem ser especificadas como operações.
Fluxos de controle. Um DFD não mostra quais caminhos são executados e em que ordem. Decisões e
sequenciamento são questões de controle que fazem parte do modelo dinâmico. As vezes, pode ser útil introduzir
o fluxo de controle no DFD. O fluxo de controle é uma variável booleana que indica quando um processo pode ser
realizado; o fluxo de controle (representado por uma linha pontilhada no DFD que vai de um processo que gera
uma variável booleana ao processo a ser controlado) não é um valor de entrada para o processo ele mesmo.
1. Definições
Padrões de Projeto segundo a Wikipédia: descrevem soluções para problemas recorrentes no
desenvolvimento de sistemas de software orientados a objetos. Um padrão de projeto estabelece um nome e
define o problema, a solução, quando aplicar esta solução e suas conseqüências.
Padrões de Prodeto segundo José Carlos Macoratti: são soluções para problemas que alguém um dia teve
e resolveu aplicando um modelo que foi documentado e que você pode adaptar integralmente ou de acordo com
necessidade de sua solução.
2. Exemplo
Por exemplo, você está programando seu revolucionário sistema e percebe que será necessário ter acesso à
uma instância de uma classe qualquer, e que esse acesso deve ser fácil e possível de ser feito em qualquer
parte/página de seus códigos. Ao invés de você quebrar a cabeça e pensar em como fazer isso, utilize uma
solução pronta! A solução para isso já existe - porque é uma situação muito comum em desenvolvimento de
programas e se tornou um padrão de projeto - e seu nome é Singleton!
Quer dizer, corroborando ainda mais com a filosofia do “Não reinvente a roda!” - já comentada no artigo
sobre frameworks -, os Padrões de Projeto existem para agilizar o desenvolvimento de aplicações e permitem que
você “economize neurônios”, pois são soluções mais ou menos prontas para os problemas mais ou menos comuns
do cotidiano de um programador.
E não se engane, pensado que padrões de projetos são “coisa de PHP”! Os design patters são soluções
para problemas de software e, pense bem, uma solução para problemas genéricos não pode ficar restrita a uma
linguagem específica. Portanto, conhecendo a solução que se quer, esta pode e deve ser aplicada não somente
em PHP, mas em Java, Ruby, C#, .NET, e qualquer outra que você queira.
4. Padrões do Codelgniter
1. Model-view-controller (MVC) é um padrão de arquitetura de software. Com o aumento da
complexidade das aplicações desenvolvidas torna-se fundamental a separação entre os dados (Model)
1. Introdução
No início da década de 60, foram lançados os primeiros sistemas gerenciadores de bancos de dados (SGBD),
tendo como principal proposta o aumento na produtividade nas atividades de desenvolvimento e manutenção de
sistemas, até então realizadas de forma artezanal em linguagem de programão convencionais de primeira e
Segunda geração.
Oriundos do ambiente de mainframes, os SGBD tornaram-se mais populares e amigáveis com o advento da
microinformática. Cada vez mais as fronteiras entre esses dois mundosestreitam-se e a concorrência pelo domínio
do mercado de SGBD, tem levado seus diversos fabricantes a sofisticarem seus produtos. Cada nova versão
lançada, incorpora novidades como interfaces gráficas, ferramentas de apoio ao desenvolvimento, utilitários para
gerenciamento de BD e facilidades para extração de dados. Essa evolução vem tornando o trabalho de
programadores, analistas e usuários menos artezanal, com reflexos na qualidade e produtividade.
A literatura classifica os SGBD como HIERÁRQUICO, REDE e RELACIONAL. Essa classificação
representa a evolução desses produtos no curso da história. Atualmente, o mercado é dominado pelos SGBD
RELACIONAIS e caminha para a colocação em escala comercial dos SGBD ORIENTADOS A OBJETOS.
Este texto introduz a teoria de BANCOS DE DADOS, a partir de conceitos básicos da teoria de arquivos
que perpetuaram-se na terminologia de banco de dados. Na sequência aborda superficialmente os modelos
HIERÁRQUICOS e REDE (pôr razões de mercado) e forma mais aprofundada o MODELO RELACIONAL, o qual
designaremos neste texto pela sigla SGBD-R.
2. Conceitos Básicos
Para compreender com maior facilidade os conceitos relativos a BANCOS DE DADOS é de suma
importância revisarmos alguns conceitos básicos referentes à teoria e terminologia de arquivos convencionais, haja
vista, que os primeiros SGBD foram criados a partir do aperfeiçoamento de sistemas gerenciadores de arquivo, e
ainda utilizam muito mais da base conceitual e da terminologia de arquivos.
2.1 Arquivo
Um arquivo é uma coleção de REGISTROS do mesmo tipo, ou seja, referentes a um mesmo assunto e com o
mesmo formato padrão (layout). Constitui o componente do sistema no qual são armazenados os dados, que
combinados através dos programas servem de base para a geração da informação desejada pelo usuário, através
de relatórios e consultas on-line.
Um sistema de controle de notas, pôr exemplo, pode armazenar seus dados em diversos arquivos, cada um
contendo informações sobre um determinado item do sistema: ALUNO, PROFESSOR, MATÉRIA, NOTA, etc.
Essas informações podem ser combinadas através de programas para gerar, pôr exemplo, o BOLETIM
ESCOLAR, a PAUTA ou uma tela de CONSULTA DE NOTAS.
2.2. Registro
Um registro é constituído pôr conjunto de campos valorados (contendo dados). Consiste na unidade de
armazenamento e recuperação da informação em um arquivo. Geralmente, os registros de um arquivo possuem
um formato padrão (layont), definido pela sequência, tipo e tamanho dos campos que o compõem. Porém, algumas
linguagens de programação permitem a criação de registros com layouts diferentes em um mesmo arquivo,
recurso este que raramente é utilizado.
2.3. Campo
É a unidade básica formada de um registro. Constitui a célula da informação. É a menor porção de um
arquivo que pode ser referenciada pôr um programa.
Cada campo possui NOME, TIPO E TAMANHO. Os tipos de campo mais comuns são:
LAYOUT
CAMPOS MATRICULA NOME ENDEREÇO DT – NASC
TIPO e TAM. NUMBER (03) CHAR (30) CHAR (50) DATE
001 José SQS 308... 23/08/78
REGISTROS 002 Maria QND 14.... 25/09/70
003 Ana SQN 410.... 10/08/85
. . . .
ARQUIVO ALUNO
2.8. Sinônimo
É um apelido (alias) para uma tabela, visão ou unidade de programa. A utilização de um alias se aplica em
situações onde se deseja ocultar a verdadeira localização de uma tabela ou seu proprietário, facilitar um acesso a
um objeto por meio do uso de um outro nome para ele.
2.9. Snapshots
É a cópia de uma parte ou de toda uma tabela. Ele reflete o estado atual da tabela que está sendo copiada.
A tabela de origem é conhecida como Master Tab. Existem dois tipos de snapshots:
o Read-Only: não permite alterações.
o Updatable: permite alterações na cópia local e periodicamente atualiza a Master Table.
2.10. Users
São as pessoas que acessam o banco de dados e recebem atribuições que limitam o seu tipo de acesso.
Esses usuários são criados pelo Administrador de Banco de Dados que o atribui uma senha de acesso.
2.11. Roles (Papel)
É um método de distribuir privilégios para se trabalhar um banco de dados. Quem cria um objeto de BD pode
distribuir os privilégios ou os privilégios podem ser atribuídos para um personagem (role). Se um personagem é
atribuído a um usuário ele obtém todos os privilégios associados com aquele personagem.
2.12. Índices
São componentes do BD destinados a agilizar o acesso aos dados. Eles funcionam de forma análoga a um
índice remissivo de um livro. Em vez de folhear o livro seqüencialmente, para achar uma página onde está uma
determinada informação, é mais rápido do livro correspondente ao índice, localizar o assunto desejado e obter o
número exato da página. No caso de um BD, um índice pode ser associado a uma coluna específica ou a uma
combinação de várias colunas..
3. Organização de Arquivos
O tema organização de arquivos refere-se a forma como os registros são armazenados em um arquivo
baseado em computador. Confunde-se com MÉTODO DE ACESSO, que consiste na forma como esses podem
ser recuperados. A organização do arquivo determina os métodos de acesso que podem ser utilizados na
recuperação dos registros, mas tratam de coisas distintas.
Apesar de este ser um assunto muito abrangente e com muitas variantes em termos de abordagem,
trataremos de apenas três tipos de organização (SEQUÊNCIAL, SERIAL E INDEXADA) e seus respectivos
métodos de acesso. Essa escolha baseia-se na necessidade de discutirmos alguns conceitos essenciais para o
estudo do modelo Relacional de banco de dados, que constitui o objeto principal desse texto.
3.1. Métodos De Acesso
Para recuperarmos um registro em um arquivo, podemos utilizar acesso SEQUÊNCIAL ou DIRETO.
O método SEQUÊNCIAL de acesso é o mais tradicional e consiste em efetuar a leitura dos registros, um
após outro, comparando o ARGUMENTO DE PESQUISA, com valor do campo CHAVE (primária ou secundária) no
registro corrente, até encontrar os registros desejados ou final de arquivo.
Exemplo:
PROGRAMA Y
INÍCIO....
.
Repita até fim
Ler registro chave secundária (campo chave)
O método DIRETO consiste em recuperar o (s) registro(s) desejado(s), sem a necessidade de efetuar a
leitura dos registros que o(s) antecede(m), o que pode ser feito através de um ÍNDICE (que abordaremos no item
organização indexada) ou com o auxílio de um algorítmo de RANDOMIZAÇÃO que localiza o registro, calculando a
posição ocupada pelo registro no disco, com base no valor do argumento de pesquisa, que deve ser um campo
numérico.
Em ambos os casos, a localização do registro ocorre a cargo do gerenciador de arquivos, de maneira
transparente para o programador, que só precisa escolher a organização adequada para o arquivo e fornecer no
programa o argumento de pesquisa.
PROGRAMA Z
INÍCIO....
.
.
ABRIR ARQUIVO ALUNO INDEXADO POR NOME
.
NOME= “JOSÉ” argumento de pesquisa
LOCALIZAR REGISTRO acesso direto (indexado)
SE ENCONTROU REGISTRO
ENTÃO IMPRIMIR
.
.
FIM DO PROGRAMA
ARQUIVO ALUNO
chave primária
ARQUIVO ALUNO
ÍNDICE PRIMÁRIO
MAT TSL
R
001 220
002 321
003 231
005 110
.
TRILHA, SETOR E LADO DE DISCO
(endereço físico)
ÍNDICE SECUNDÁRIO
NOME TSL
Ana 321
José 220
José 231
Maria 110
. 331
Para evitar conflitos terminológicos, definimos a seguir três expressões, consagradas na literatura
clássica, que seriam melhor aplicadas a cada uma das situações anteriores.
6. Modelo Hierárquico
Os primeiros SGBD lançados no mercado foram os do tipo HIERÁRQUICO. Nessa categoria, o
SOFTWARE de maior aceitação, no mercado brasileiro, foi o IMS da IBM.
SEGUIMENTO
RAIZ FORNECEDOR FORNECEDOR
1 N
N N
FATURA PRODUTO
b) O banco de dados só pode ter um SEGMENTO RAIZ e cada SEGMENTO FILHO pode ligar-se a um único
SEGMENTO PAI.
N N N N
ALUNO MATÉRIAS MATÉRIAS
PEÇA
COMPÕE
d) Não permitem dupla ligação entre duas entidades:
FORNECEDOR
1 1
FORNECE FABRICA
N N
PEÇA
e) Estruturas percorridas somente no sentido de cima para baixo. No exemplo abaixo, poder-se-ia facilmente listar
“FATURA” a partir da entidade “CLIENTE”, porém, o caminho inverso não seria possível.
CLIENTE CLIENTE
1 1
N N
FATURA FATURA
7. Modelo Rede
Os SGBD do modelo REDE corrigiram as limitações dos HIERÁRQUICOS e mereceram a formação de um
grupo da CODASYL. (Conference on Data Systems Languages) designado pela sigla DBTG (Data Base – Task
Group). Assim, esse modelo ficou também conhecido como CODASYL ou DBTG. O relatório final do DTBG data
de Abril de 1971.
Como exemplos de SGBD/REDE, que seguiram o padrão CODASYL, citamos: DMS-1100 da UNIVAC, IDS
da Honeywell, DBMS da DEC e o IDMS da Cullinet, que mais tarde foi estendido incorporando uma visão
relacional dos dados e algumas operações relacionais (IDMS-R).
7.1. Características dos Modelos Rede Codasyl
a) Os RELACIONAMENTOS são do tipo BINÁRIOS (duas entidades), possuem nome e são
IMPLEMENTADOS através da criação de SET’s. Cada SET possui uma entidade pai (OWNER) e outra filho
(MEMBER).
OWNER
FORNECEDOR
1 criação do SET PAGA SET NAME is paga
SET PAGA OWNER IS fornecedor
Na ddl do SGBD MEMBER IS fatura
N
MEMBER
FATURA
b) Os SET’s possuem internamente ponteiros físicos (FIRST, LAST NEXT, PRIOR, OWNER) que relacionam os
registros e permitem a navegação no banco de dados com alta flexibilidade.
PRIOR
c) As estruturas podem ser percorridas nos dois sentidos – de pai para filho (através dos ponteiros NEXT, FIRST e
LAST) e no sentido inverso (através dos ponteiros PRIOR e OWNER).
CLIENTE
1
FIRST PRIOR
NEXT OWNER
LAST N
FATURA
d) Um registro filho (MEMBER) pode relacionar-se com mais de um registro pai (OWNER), caracterizando REDE,
que serve como designação para o modelo de banco de dados em questão. A estrutura REDE é usada na
implementação dos relacionamentos do tipo “M:N”, que são transformados em dois relacionamentos do tipo “1:N”,
através da criação de uma ENTIDADE ASSOCIATIVA.
OWNER 1 OWNER 2
PROFESSOR PROFESSOR ALUNO
N
1 1
SET1 PROF-MAT SET2 ALUNO-MAT
N N MEMBER N
ALUNO MATÉRIAS
ENTIDADE ASSOCIATIVA
e) Permitem dupla ligação entre duas entidades. Pelo exemplo abaixo poderíamos saber todas as peças que o
FORNECEDOR fornece e quais são as que ele fabrica.
FORNECEDOR
1 1
SET1 SET2
FORNECE FABRICA
N N
PEÇA
f) O AUTO-RELACIONAMENTO é transformado em relacionamento BINÁRIO simulando-se uma entidade OWNER
ou MEMBER, conforme o caso. A entidade simulada deve conter o ATRIBUTO CHAVE e os PONTEIROS a ela
inerentes.
É GERENCIADO GERENTE
N 1
FUNCIONÁRIO
1 N
GERÊNCIA
FUNCIONÁRIO
Apesar das características técnicas positivas já evidenciadas, os modelos Rede são pouco flexíveis no que
se refere a alterações nas estruturas de dados, sua cultura é de difícil assimilação pelo usuário final e até mesmo
Campo
Repetido
Mat. Nome Sobren. End. Cidade Est. Nasc. Depend. Depend. Cargo Salário
001 Luis Alves SQN 306 Brasília DF 23/09/71 Rui Pedro Analista 3.000
002 Pedro Ultra SQS 205 Brasília DF 23/05/73 Antônio Júnior Digitador 500
003 Ana Azevedo SQN 308 Brasília DF 24/06/70 Operador 700
004 Sônia Gomes QI 20 Guará DF 15/09/68 Carlos Analista 3.000
005 Ana Azevedo QI26 Brasília DF 15/09/68 Antônio Digitador 500
Note que todos os campos, com exceção de Mat. (Número de Empregado), possuem conteúdos que
podem se repetir. Para começarmos a normalização definiremos um campo de comparação, que não se repita.
Este campo será a famosa Chave Primária.
A tabela mostrada acima, não está normalizada, isto porque possui um campo que se repete. Este campo
é Depend. (Dependentes).
8.1. Primeira Forma Normal (1FN)
Para realizarmos a 1FN a tabela terá que estar não-normalizada. Na 1FN eliminaremos os grupos (campos)
repetidos. Para fazer isto, basta transformar colunas em linha. Ou seja. Criaremos um novo registro com os
mesmos campos que não se repetiam, só mudando o campo repetido.
Veja abaixo:
Mat. Nome Sobren. End. Cidade Est. Nasc. Depend. Cargo Salário
001 Luis Alves SQN 306 Brasília DF 23/09/71 Rui Analista 3.000
001 Luis Alves SQN 306 Brasília DF 23/09/71 Pedro Analista 3.000
002 Pedro Ultra SQS 205 Brasília DF 23/05/73 Antônio Digitador 500 Linhas
002 Pedro Ultra SQS 205 Brasília DF 23/05/73 Antônio Digitador 500 Criadas
003 Ana Azevedo SQN 308 Brasília DF 24/06/70 Operador 700
004 Sônia Gomes QI 20 Guará DF 15/09/68 Carlos Analista 3.000
005 Ana Azevedo QI26 Brasília DF 15/09/68 Antônio Digitador 500
Veja abaixo:
Tabela 2
Tabelas normalizadas Tabelas -Código do Dependente #
na 2FN normalizadas -Número do Empregado #
na 3FN -Dependentes
Tabela 2
-Código do Dependente #
-Número do Empregado Tabela 3
-Dependentes -Código do Cargo #
-Cargo
-Salário
É o tipo de Banco de Dados, onde ele será armazenado em diversos computadores. Nesses bancos os
computadores comunicam-se uns com os outros através de vários meios de comunicação.
Os processadores nesse sistemas são chamados de nós, sites ou computadores. Na verdade banco de
dados distribuído é uma coleção de nós, cada qual podendo participar na execução de transações que fazem
acesso a dados em um ou diversos nós. Os nós podem participar de transações globais (acesso a outros nós).
1. Polimorfismo: Representa que um método para acessar um objeto pode assumir características
específicas, dependendo do tipo do objeto.
2. Herança: As características de uma classe estão disponíveis para suas subclasses.
3. Classe: Conjunto de Objetos do mesmo tipo, utilizados na implementação.
4. Encapsulamento: Ë um envoltório protetor que oculta os detalhes de implementação de um objeto.
a) Integridade Declarativa
É implementada no BD, através da parametrização do comando CREATE (SQL/ANSI). Os parametros de
integridade desse comando possuem nomes e funções, que variam conforme o SGBD utilizado.
Exemplo:
CREATE TABLE funcionário
(matricula number (5) PRIMARY KEY
nome char (30) NOT FULL);
Nos dois exemplos mostrados, nenhuma linha de código será necessária nos aplicativos que atualizam o BD para
garantir a integridade. O próprio SGBD se encarrega de efetuar a consistência dos dados.
b) Integridade Procedural
Apresenta-se sob a forma de um pequeno programa, cuja a lógica é escrita pelo programador conforme o objetivo
desejado. Esse programa geralmente é escrito na linguagem nativa do SGBS e associado a uma tabela, campo ou
conjunto de campos da mesma. Também conhecido como gatilho, é ajustado para disparar, automáticamente,
sempre que o SGBD dectar a ocorrência de um ou mais evento de atualização e/ou consulta sobre a tabela.
Exemplo:
CREATE TRIGGER atualiza - saldo
AFTER INSERT ON TABLE lançamentos
BEGIN
UP DATE tab-saldo
SET saldo-atual = saldo atual_atual + valor_lançamento;
END;
No exemplo anterior, a integridade procedural foi criada para manter atualizada a tabela de saldos, de modo que,
sempre que um registro for incluído na tabela “lançamentos”, o saldo seja automáticamente atualizado na tabela
“tab-saldo”.
Dessa maneira o SGBD se encarregará de manter, automáticamente, a condição de unicidade da chave primária,
sem a necessidade de colocar nenhum código acessório no aplicativo o BD.
B) Integridade de Identidade:
A chave principal não pode conter valor nulo. Mesmo que a chave primária seja composta de dois ou mais
atributos, todos os seus componentes devem ser de preenchimento obrigatório, pois o NULO na chave, ou em
parte dela, pode ocasionar DUPLICATAS ou seja, duas linhas na tabela com o mesmo valor de chave, o que seria
recusado pelo BD, em conformidade com a regra descrita no item “a”.
A maioria dos SGBD-R, implementam essa regra e a do item “a” com um único parametro: “PRIMARY KEY”.
Exemplo'':
O primeiro parametro CHECK restringe o conjunto de valores válidos para o atributo tipo_conta, a 0, 1 OU 2. O
segundo CHECK estabelece uma faixa de valores válidos entre 100,00 e 1.ooo,oo, para campo
“valor_ch_especial”. Em ambos os casos, se um programa de atualização tentar violar essas integridades, o BD
invalidará automáticamente a operação e uma mensagem de erro aparecerá na tela.
D) Integridade Referencial:
Essa integridade é criada quando se deseja que o SGBD, m,antenha automáticamente, o sincronismo entre duas
tabelas, que possuam uma relação de depend6encia, do tipo pai-filho, Para garantir que não resultem registros
filhos sem correspondente linha de referência na tabela pai (registros orfàos), em decorrência do processo de
atualização do DB.
Cabe observar, que nos casos de autorelacionamento, essa relação de dependência pode ocorrer entre linhas de
uma mesma tabela, situação que nem todos os SGBD suportam.
OS SGBD que seguem o padrão ANSI SQL-92, suportam a integridade referencial de forma declarativa. Alguns
produtos possuem ainda opções de propagação e ações referenciais. Essas opções propiciam, poe exemplo, que
a exclusão de um registro pai, provoque a exclusão automática de seus respectivos filhos, ou que a alteração no
valor de uma chave primária reflita-se automáticamente para os registros que referenciam.
Exemplo:
O exemplo mostra a integridade referencial, implementada na tabela “dependente”, indicando que o campo
“matricula”, nessa tabela refere-se ao campo de mesmo nome (poderia Ter nome diferente) na tabela “funcionário”.
A clausula “ON DELETE CASCADE” indica que sempre que um usuário excluir um registro da tabela “funcionário”,
o BD deve excluir automáticamente (efeito cascata) os registros da tabela “dependente” a ele relacionados.
No exemplo, a integridade referencial garante ainda que a inclusão de um DEPENDENTE, somente será valida,
caso exista o FUNCIONÁRIO correspondente.
Para classificar-se um SGBD como Relacional, é fundamental que ele possua, entre outras características,
no mínimo os três operadores relacionais, haja vista que, nem todos os SGBD-R possuem os sete operadores. Os
Operadores Tradicionais são mais encontrados em SGBD mais robustos, como ORACLE, SYBASE E DB/2.
15.1. Estudo de Caso
O gráfico abaixo corresponde ao Modelo de Entidades e Relacionamentos (MER) de um banco de dados, que
será utilizado como referência para o estudo dos operadores relacionais.
CLIENTE
CONTA
Segue uma amostragem das tabelas do banco de dados representado no MER:
CONTA_CORRENTE
NUM-
AGENCIA CONTA ID-CLI SIT SALDO
106 001 004 0 20.000,00
106 002 003 2 250,00
106 040 003 0 500,00
167 001 005 0 50,00
167 005 007 0 10,00
167 006 008 2 20,00
202 001 001 0 150,00
202 002 003 1 0
202 003 002 0 30,00
202 004 004 2 50.000,00
0 = ATIVA
1 = INATIVA
2 = BLOQUEADA
15.2. Generalidades
A . Nos SGBD que utilizam o SQL padrão ANSI (Americam National Standard Institute), os operadores da
Álgebra Relacional são implementados pôr variações de parâmentros na sintaxe do comando SELECT, que é
um comando de leitura da base de dados.
B . A sintaxe utilizada para os comandos SELECT, que aparecerão nos exemplos, foi extraída dos manuais
do SGBD ORACLE, que segue o padrão SQL ANSI. A estrutura básica do comando SELECT é:
SELECT colunas ......ou * ( que significa todas as colunas)
FROM tabelas.....
WHERE condição.......
C. As operações da álgebra relacional geram sempre uma tabela resultado residente em memória principal
(tabela virtual), que em analogia com a teoria de conjuntos, pode ser vazia, unitária ou conter “N” linhas.
D. As operações podem ser efetuadas entre duas tabelas virtuais através da combinação de dois comandos
SELECT em uma única sentença.
E. É comum a combinação de diversos operadores da Álgebra Relacional em um único comando “SELECT”. A
análise individual de cada um deles é um exercício meramente didático.
F. As situações criadas, são apenas ensaios, que não esgotam as possibilidades de utilização dos
operadores. Além disso, uma mesma necessidade pode ter mais de uma solução. Portanto a utilidade dos
operadores depende do problema tratado e da criatividade do técnico.
2. Interseção
A interseção entre duas tabelas “A” e “B”, resulta numa tabela virtual “C”, contendo linhas comuns
às duas tabelas envolvidas na operação.
No sistema exemplo, considere a necessidade de se listar o “ID-CLI” de clientes que possuam,
simultaneamente, CONTAS_CORRENTES ativas e bloqueadas. Para atender a esse requerimento, pode-
se utilizar o operador INTERSECT da seguinte maneira:
SELECT id_cli
FROM conta_corrente
WHERE sit=0
INTERSECT
SELECT id_cli
FROM conta_corrente
WHERE sit=2;
Considerando a amostragem da tabela CONTA_CORRENTE do sistema exemplo, o resultado do SQL
anterior seria:
ID-CLI
004
003
Obs: Os SELECTs devem referenciar os mesmo atributos e na mesma seqüência.
3. Diferença
A Diferença entre duas tabelas “A” e “B” (na ordem A – B), resulta numa tabela virtual “C”, contendo
as linhas pertencentes exclusivamente à tabela “A” e não a “B”.
No sistema exemplo, considere a necessidade de se listar o “ID-CLI” de clientes que não possuem contas-
correntes INATIVAS ou BLOQUEADAS, somente ATIVAS. Para atender a esse requerimento, pode-se utilizar
o operador MINUS da seguinte maneira:
SELECT id_cli
FROM conta_corrente
WHERE sit=0
MINUS
SELECT id_cli
FROM conta_corrente
WHERE sit=2 OR SIT=1;
Considerando a amostragem da tabela CONTA_CORRENTE do sistema exemplo, o resultado do SQL
anterior seria:
ID-CLI
005
007
001
002
Obs: Os SELECTs devem referenciar os mesmo atributos e na mesma seqüência.
4. Produto Cartesiano
O Produto Cartesiano entre duas tabelas “A” x “B”, resulta numa tabela virtual “C”, contendo todas as
linhas da tabela “A” combinadas com todas as linhas da tabela “B”, através da concentração de suas
linhas.
NOME ENDEREÇO
RITA SQN
MARCELO GUARÁ
CARLA GAMA
VÍTOR SQS
RAQUEL SQS
BRUNA GUARÁ
SÔNIA CRUZEIRO
GETÚLIO SQN
f) Seleção
Também conhecida como Restrição, essa operação tem pôr finalidade selecionar um subconjunto de
linhas de uma ou mais tabelas_base, de acordo com critérios (where criteria) que envolvem atributos e
valores para filtrar os dados desejados, gerando uma consulta parcial aos dados disponíveis no banco
de dados.
Geralmente é utilizada em conjunto com as demais operações para produzir resultados de consultas, ou
ainda, para criar visões (VIEWS), que restringem o acesso do usuário a determinadas linhas de tabelas na
base de dados.
SELECT *
FROM cliente
WHERE tipo = ‘V’;
Considerando a amostragem da tabela CLIENTE do sistema exemplo, o resultado do SQL anterior seria:
g) Junção
Essa operação relacional é utilizada para compor informações complexas a partir de tabelas
relacionadas. A junção de duas tabelas “A” e “B” concatena as linhas das tabelas envolvidas,
resultando numa tabela virtual “C”.
Para efetuar a JUNÇÃO de duas tabelas é essencial que elas estejam logicamente relacionadas, conforme
prêve o modelo relacional, ou seja, o grau do relacionamento deve ser no máximo “1 : N”, sendo que a chave
primária da entidade “1” deve figurar como chave estrangeira da entidade “N”. Além disso, os valores
dessas chaves devem ser coincidentes, para as linhas que se deseja concatenar.
A junção é notada na sintaxe do SQL, pela comparação de atributos chave primária / chave estrangeira,
através da cláusula WHERE do comando SELECT, o que denominamos condição de junção (join condition).
Quando o técnico esquece de colocar o “join condition” em um SELECT que envolva duas ou mais tabelas o
SGBD geralmente efetua o PRODUTO.
O SELECT a seguir efetua uma junção entre as tabelas CLIENTE e CONTA _CORRENTE:
SELECT nome, saldo
FROM cliente, conta_corrente
WHERE cliente.id-cli = conta_corrente.id-cli;
Considerando as amostragens das tabelas do sistema exemplo, referenciadas no comando anterior, a
tabela resultado seria:
NOME ENDEREÇO
RITA 150,00
MARCELO 30,00
CARLA 500,00
CARLA 0,00
VÍTOR 20.000,00
VÍTOR 50.000,00
RAQUEL 50,00
SÔNIA 10,00
GETÚLIO 20,00
Note que a cliente de nome BRUNA não configura na tabela resultado porque não possui registro na tabela
CONTA_CORRENTE.