Buscar

Introducao a computacao Ernesto Lindstaedt

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 81 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 81 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 81 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INTRODUÇÃO À COMPUTAÇÃO
ERNESTO LINDSTAEDT
EDITORA UNISINOS
2010
APRESENTAÇÃO
Este livro apresenta os conceitos básicos sobre computação, cobrindo tópicos
que vão desde sistemas numéricos, a arquitetura dos computadores atuais,
dispositivos de entrada e saída, sistemas operacionas até redes de computadores,
procurando fornecer uma visão global sobre estes temas.
SUMÁRIO
CAPÍTULO 1 – CONCEITOS INTRODUTÓRIOS
Sistemas numéricos
Capacidade de representação
Portas lógicas
CAPÍTULO 2 – ARQUITETURA DE COMPUTADORES
A memória
A memória ROM
A memória RAM
O barramento
CAPÍTULO 3 – UNIDADE CENTRAL DE PROCESSAMENTO
Tecnologia CISC/RISC
Algumas técnicas desenvolvidas a partir da família Pentium
Um pouco da evolução da família Intel x86
CAPÍTULO 4 – DISPOSITIVOS DE ENTRADA E SAÍDA
Discos rígidos
Controladores
Um pouco da evolução dos meios de armazenamento em massa
CAPÍTULO 5 – O SISTEMA OPERACIONAL
Sistema de arquivos
Informações no setor de boot (setor 0)
Estrutura de um arquivo de diretório
FAT 12
FAT 16
O Sistema Operacional Linux
Estrutura de diretórios do Sistema de Arquivos do Linux
O shell
Redirecionamento de entrada/saída e dutos (pipes)
Filtros
Segurança e permissões de acesso
Utilitários de compressão e arquivamento
Significado de alguns comandos UNIX
CAPÍTULO 6 – REDES DE COMPUTADORES
LANs: Principais características
Topologia
Com colisão: CSMA/CD
Sem colisão (utilizando token)
Protocolos de comunicação: o modelo OSI
Repetidores
Pontes (bridges)
Switches
Roteadores
Conversores de protocolo (gateways)
IEEE 802.3 e Ethernet
Topologia
Velocidade
Meio físico
CAPÍTULO 7 – A INTERNET
Endereçamento TCP/IP – resumo
Quem gerencia a numeração IP no mundo
Correspondência número – nome
Problemas relacionados com o crescimento da internet
Intervalos de IPs livres para intranet (RFC 1918)
CAPÍTULO 1
CONCEITOS INTRODUTÓRIOS
 
Neste capítulo investigamos os conceitos básicos da computação, explorando as diversas formas
como dados são representados dentro de um computador e a maneira como funciona o sistema
numérico empregado por máquinas baseadas em sistemas digitais.
 
Sistemas numéricos
O método ao qual estamos habituados para representar quantidades emprega um
sistema de numeração posicional. A posição ocupada por cada algarismo (ou dígito)
em um número altera seu valor na ordem de uma potência de 10 para cada casa à
esquerda.
Por exemplo, no sistema decimal (base 10), no número 238 o algarismo 2
representa 200 (duas centenas ou 2 x 102), o dígito 3 representa 30 (três dezenas ou 3
x101) e o 8 representa 8 unidades (ou 8 x 100). Como resultado teríamos:
238 = 2x102 + 3x101 + 8x100
Capacidade de representação
O sistema binário representa informação utilizando para isto somente dois
estados possíveis, representados pelos valores 0 e 1. Estes caracteres recebem o nome
de BIT, que corresponde a BInary digiT (digito binário).
Dada uma certa quantidade de bits, pode-se determinar sua capacidade de
representação usando a expressão:
2n = capacidade de representação
onde n corresponde à quantidade de bits.
Exemplo:
21 = 2 (só com 1 bit, temos duas possibilidades: este bit pode ser zero ou um)
e assim por diante…
Obs.: cada vez que 1 bit é acrescentado, a capacidade de representação dobra.
Exemplos de exercícios:
Qual é a quantidade mínima de bits para poder-se armazenar o número 1.300
(decimal)?
210 = 1.024 (10 bits é insuficiente, armazena do 0 ao 1.023)
211 = 2.048 (11 bits é suficiente, armazena do 0 ao 2.047)
Qual é a quantidade mínima de fios para poder-se transmitir o número 738
(decimal)?
29 = 512 (insuficiente)
210 = 1.024 (suficiente)
A representação de qualquer número pode ser feita pelo sistema de numeração
binária, simplesmente por uma decomposição em fatores múltiplos de 2.
Os circuitos digitais processam informações representadas no sistema binário,
por esta razão são simples, se comparados com os circuitos analógicos, pois realizam
com maior rapidez as operações lógicas e aritméticas e fornecem resultados com maior
resolução e precisão.
O sistema octal emprega os dígitos 0, 1, 2, 3, 4, 5, 6 e 7. O hexadecimal utiliza os
dez dígitos do sistema decimal além das letras A, B, C, D, E e F, que correspondem
respectivamente, ao decimais: 10, 11, 12, 13, 14 e 15, pois o sistema hexadecimal
utiliza 16 dígitos diferentes para representar um número.
Portas lógicas
As portas lógicas são os módulos básicos dos circuitos digitais e têm como
objetivo a implementação de funções lógicas booleanas, que são operações da álgebra
booleana, aplicadas a variáveis lógicas.
As portas lógicas funcionam através da aplicação de eletricidade sobre um metal
que ao se dilatar realiza o contato com a outra extremidade. Esta mudança de estado
físico leva um determinado tempo, o qual é chamado de atraso de propagação.
As chamadas portas lógicas implementam as operações lógicas AND, OR, XOR e
NOT da álgebra booleana, ou seja, uma porta lógica é um circuito eletrônico com o
papel de produzir um sinal a partir de valores nos seus pinos de entrada. As funções
lógicas básicas existentes são: AND, OR e NOT, NAND, NOR e XOR.
A seguir são apresentadas as tabelas-verdade para cada função lógica.
Figura 1: Tabelas-verdade para cada função lógica.
CAPÍTULO 2
ARQUITETURA DE COMPUTADORES
 
A estrutura bem como o funcionamento dos computadores digitais são baseados num modelo
elaborado pelo matemático húngaro e cientista da computação John von Neumann na década de 1940.
Este modelo é chamado de arquitetura de von Neumann e consiste de alguns poucos elementos
interconectados, que quando considerados em conjunto constituem a forma como os computadores
atuais estão organizados.
 
Os principais elementos desta arquitetura são a unidade de controle (UC), a
unidade lógico-aritmética (ULA), a memória, o barramento (também chamado de bus,
em inglês) e as interfaces para dispositivos de entrada e saída (E/S). A unidade de
controle é responsável pela coordenação dos demais elementos, determinando qual
componente da arquitetura deve atuar e quando. Na ULA são realizados todos os
cálculos artiméticos bem como operações de comparação. Com a evolução da
computação, a UC e a ULA acabaram encapsuladas em um único elemento denominado
de unidade central de processamento, a UCP (ou CPU, da sigla em inglês).
Figura 2: A arquitetura de Von Neumann.
Os dados e as instruções do programa que está sendo executado ficam
armazenadas na memória, que é acessada pela CPU através do barramento. A CPU
busca na memória tanto as instruções que deve executar como os dados associados a
estas instruções, e pode também armazenar na memória o resultado da computação
por ela realizada, como, por exemplo, o resultado de uma operação de soma de dois
valores que estavam nesta memória.
O barramento pode ser considerado, grosso modo, uma série de vias paralelas
através da qual os dados, na forma de bits, são transmitidos. A quantidade de vias
paralelas (isto é, a largura do barramento) e a sua frequência de funcionamento (ou o
“ritmo” com o qual os dados são transmitidos) são os dois principais fatores que
determinam o desempenho do barramento. Esta é uma consideração relevante, pois o
desempenho do barramento exerce uma influência muito grande no desempenho da
arquitetura, uma vez que os dados e as instruções que estão sendo executadas devem
passar necessariamente pelo barramento para irem da memória para a CPU e vice-
versa.
O fato do barramento representar um fator limitante para o desempenho do
computador é conhecido como gargalo de Von Neumann, e é importante ainda hoje,
pois as CPUs atuais possuem uma capacidade de processamento significativamente
maior que a capacidade de vazão (ou taxa de transferência ou ainda throughput) do
barramento. Ainda com relação ao barramento,este pode ser diferenciado em dois
tipos principais: o barramento do sistema, responsável pela comunicação entre a CPU
e a memória, e o barramento de entrada e saída, dedicado à transferência de dados com
os dispositivos de entrada e saída.
Os dispositivos de entrada e saída de dados, também chamados de periféricos,
permitem que dados do meio externo sejam armazenados na memória e processados
pela CPU, e também possibilitam que dados armazenados sejam apresentados ao meio
externo. O monitor e a impressora são dois exemplos de dispositivos de saída de
dados, enquanto que o scanner, o teclado, o mouse, o microfone e a webcam são
exemplos de dispositivos de entrada de dados. Com a evolução tecnológica alguns
dispositivos assumem o papel tanto de entrada como de saída de dados, como é o caso
de telas de monitor sensíveis ao toque (touchscreens). Nas seções a seguir serão
detalhados os principais componentes desta arquitetura.
A memória
A memória é o dispositivo responsável pelo armazenamento dos dados que
participam da computação. A memória pode ser classificada inicialmente como sendo
primária (ou principal) ou então secundária (também chamada de auxiliar ou ainda
memória de massa). A memória principal é aquela que via de regra é implementada por
chips presentes na placa-mãe ou em pentes de memória, enquanto que a memória
secundária é representada por meios de armazenamento magnético (como em discos
rígidos), ótico (como no CD e no DVD) ou estado sólido (como na memória Flash e
unidades SSD). Nesta seção será focada a memória primária.
Com relação à memória principal, podem-se distinguir dois tipos de memória, no
que diz respeito à volatilidade dos dados: na memória RAM (Random Access Memory),
os dados somente são mantidos pelos circuitos de memória enquanto estes forem
supridos com energia elétrica; já na memória do tipo ROM (Read Only Memory) não é
necessário este suprimento de energia elétrica, não havendo perda de dados caso seja
interrompido este suprimento.
Outra diferença importante entre estes dois tipos de memória é que a memória
RAM pode ter seu conteúdo modificado constantemente, sendo por isso usada para
armazenar as instruções que a CPU deve executar, por exemplo. A memória ROM
geralmente não pode ter seu conteúdo modificado, sendo este gravado “em fábrica”.
Com o tempo surgiram variações de memória ROM que permitem que esta tenha seu
conteúdo alterado, mas neste caso o processo de gravação é bem mais lento e
complexo se comparado com a escrita em memória RAM.
De maneira simplificada, a comunicação entre CPU e memória ocorre através de
um barramento, onde parte de suas vias é encarregada do tráfego de dados, outra parte
é responsável pelo tráfego de endereços de memória e um terceiro conjunto de vias
transmite informações de controle. Cada posição da memória é referenciada por um
endereço, sendo que neste endereço de memória está armazenado um valor resultado
de uma computação realizada pela CPU, por exemplo.
Figura 3: Os diferentes grupos de vias do barramento: dados, endereços e controle.
Caso a CPU deseje armazenar na memória um dado resultante de uma
computação, ela irá colocar o dado na parte de dados do barramento, enquanto que na
parte de endereço ela irá colocar a posição onde este dado deve ser armazenado na
memória, e nas vias de controle a CPU colorá a informação de que esta é uma operação
de escrita na memória.
A título de exemplo, se a parte de endereços do barramento for composta por 20
vias, então a memória só poderá ter 220 (isto é, um mega) posições endereçáveis,
sendo o endereço inicial correspondente à posição zero e o último endereço
correspondente à posição 1048575, de um total de 1048576 endereços de memória (ou
um mega de posições de memória).
A memória ROM
A primeira forma de ROM desenvolvida foi a ROM de estado sólido, em que os
circuitos já eram configurados durante sua fabricação para codificar (representar) os
dados. Um conteúdo tipicamente gravado em ROM é o firmware, que geralmente
representa um programa e dados voltados para o controle de dispositivos eletrônicos.
A memória PROM (Programmable ROM) desenvolvida no meio da década de 1950
permite que o conteúdo da memória seja modificado através de pulsos elétricos de alta
voltagem, embora este processo só possa ser realizado uma única vez.
No início da década de 1970, um avanço importante foi o desenvolvimento da
EPROM (Erasable PROM), que pode ter seu conteúdo apagado através do uso de luz
ultravioleta. O processo de apagamento implica o uso de uma lâmpada que emitirá
este tipo de luz através de uma pequena janela (de quartzo) no chip, por onde os
circuitos de memória ficam expostos a radiação eletromagnética. A gravação é realizada
também com o uso de pulsos elétricos de alta voltagem. Uma vez concluída a
gravação, a janela é coberta com material opaco a fim de preservar o conteúdo da
memória.
Figura 4: Um chip de memória EPROM.
A memória EEPROM (Electrically Erasable PROM) ou E2PROM permite que o
contéudo seja regravado diversas vezes, sem haver a necessidade do uso de luz
ultravioleta, empregando-se somente pulsos elétricos da ordem de 12 a 20 V. Uma
forma mais recente de EEPROM desenvolvida na década de 1980 pela Toshiba é a
memória Flash. É baseada no uso de portas lógicas do tipo NOR ou NAND, e permite
no seu atual estágio de desenvolvimento até um milhão de regravações. É muito
popular como dispositivo de memória de massa na forma de pendrives, por exemplo.
A BIOS (Basic Input Output System) é um exemplo de chip de memória ROM
presente nas placas-mãe dos microcomputadores e que contém uma série de rotinas
básicas de gravação e leitura em dispositivos periféricos (como a rotina de escrita de
um caracter na tela do console em modo texto, por exemplo). A BIOS possui também
uma rotina chamada POST (Power On Self Test), que é responsável pelo autoteste do
hardware do computador no momento em que este é ligado, identificando a
configuração da máquina, inicializando o chipset da placamãe, detectando quanto de
memória RAM está instalada, verificando se o teclado está conectado, iniciando a carga
do sistema operacional (se houver) etc.
Figura 5: Um chip de BIOS da AMI.
O programa de Setup é outro elemento que faz parte da BIOS e é através dele que
o usuário pode configurar alguns aspectos importantes do funcionamento do
computador, como a frequência de funcionamento de alguns dispositivos como
barramentos e memórias, embora esta capacidade de configuração dependa de diversos
fatores e os fabricantes a tenham diminuído significativamente nos últimos anos.
Figura 6: A tela de Setup de uma BIOS AMI.
Os dados da configuração do Setup são geralmente armazenados em memória
CMOS presente na placa-mãe (integrada ao chipset), e que é usualmente alimentada por
uma bateria. A memória CMOS (Complementary Metal-Oxide-Semiconductor) foi
desenvolvida na década de 1960 e tem como características relevantes o baixo
consumo de energia e uma alta imunidade a ruídos, sendo também empregada para a
implementação de memórias SRAM.
Os principais fabricantes de chips BIOS (AMI-American Megatrends, Phoenix e
Award) deixaram de empregar a tecnologia ROM clássica para ao longo dos anos migrar
para as EPROMs (década de 1980 e primeira metade da década de 1990) e finalmente
para a tecnologia Flash. Isso confere uma flexibilidade maior para o usuário final, que
pode com o auxílio de software específico (flasher) atualizar a BIOS de seu
computador para a versão mais recente disponibilizada pelo fabricante.
A especificação SMBIOS (System Management BIOS) define rotinas e estruturas de
dados que devem ser suportadas pela BIOS de tal modo que um aplicativo possa
solicitar informações de configuração para a BIOS, que irá fornecer estes dados para o
programa solicitante, permitindo dessa forma um gerenciamento automatizado do
computador. Antes da SMBIOS este conjuntode rotinas era padronizado através de
outra especificação, denominada DMI (Desktop Management Interface).
A partir dos computadores equipados com CPU 80386 passou a ser utilizada
uma técnica conhecida como shadowing, em que o conteúdo da BIOS era copiado para
uma porção da memória RAM (mais rápida que a ROM), e, toda vez que rotinas da ROM
(isto é, da BIOS) tivessem que ser executadas, eram chamadas as cópias encontradas
nesta região da memória RAM.
A memória RAM
Uma das primeiras formas de implementação de memória RAM deu-se através
das memórias de núcleo de ferrite desenvolvidas no final da década de 1940, que
empregavam pequenos anéis de cerâmica perpassados por finos fios de cobre. Apesar
de possuir um desempenho inferior se comparada às tecnologias posteriores como a
RAM dinâmica, a memória de núcleo de ferrite foi empregada até meados dos anos
1980, devido ao fato de ser uma memória não volátil e ser também bastante imune à
radiação. Os tempos de acesso chegaram a ser de 600 ns nas implementações da
década de 1970.
Figura 7: Uma matriz de memória RAM de núcleo de ferrite com 1 KB.
Com o abandono progressivo das memórias de núcleo de ferrite e a adoção
maciça dos chips baseados em silício, a tecnologia de memórias RAM desembocou nas
memórias SRAM (Static RAM) e DRAM (Dynamic RAM). Alguns conceitos são
importantes no contexto destas tecnologias:
Tempo de acesso: é o tempo decorrido desde o momento em que o
circuito de memória recebe o endereço a ser acessado até o momento
em que o dado correspondente a este endereço esteja disponibilizado
nas vias de dados do barramento do sistema. Geralmente é medido
em nanossegundos (1 nanossegundo corresponde a 1 bilionésimo de
segundo);
Operação de refresh: as informações armazenadas em células de
memória DRAM necessitam ser reforçadas periodicamente (a cada
poucos milissegundos) através de cargas elétricas, caso contrário o
conteúdo desta células é perdido.
Wait states: as primeiras gerações de memória DRAM tinham um
tempo de acesso muito alto, o que obrigava a CPU a suspender suas
operações durantes alguns ciclos (chamados então de wait states)
para permitir que os circuitos de memória conseguissem fornecer os
dados solicitados pela CPU.
Tempo de ciclo: é o tamanho do ciclo, medido em nanossegundos; se
um barramento funciona a 100MHz, seu tempo de ciclo é de
1/100.000, o que corresponde a 100 ns; já se a frequência for de
166MHz, o tempo de ciclo será de aproximadamente 6 ns.
Chips de memória são atualmente montados nos chamados pentes de memória, e
são organizados em módulos. Por exemplo: numa memória descrita como sendo 8 x
32 , o número 8 indica a quantidade de chips encontrada no módulo enquanto que o
número 32 indica a capacidade de cada chip (usualmente em mega ou gigabits). Neste
caso específico, este pente possui 8 vezes 32 megabits, ou seja, 8 vezes 4 megabytes,
o que resulta num pente de 32 megabytes.
Encapsulamentos
Ao longo da evolução da tecnologia de memórias, diversas formas de
encapsulamento físico foram desenvolvidas, incluindo desde o formato DIP até as
variantes do formato DIMM e RIMM empregadas atualmente.
DIP (Dual in-line package): é a forma mais antiga de empacotamento
de memória; foi empregada nas linhas IBM PC, XT e AT; eram chips
encaixados em soquetes apropriados na placamãe.
Figura 8: Memória com encapsulado DIP .
SIPP (Single in-line pin package): empregado nos computadores que
utilizavam microprocessadores 80286 e 80386, possuindo pinos
dispostos em linha para encaixe na placa-mãe.
Figura 9: Memória com encapsulamento SIPP .
ZIP (Zig-zag in-line package): muito semelhante ao encapsulamento
SIPP , mas já possuindo chips com uma densidade mais alta e
portanto de maior capacidade, necessitando um número maior de
pinos; isto foi solucionado através de uma disposição em zig-zag dos
pinos; foi empregado nos últimos ATs e primeiros 80386.
SIMM (Single in-line Memory Module): os pinos foram substituídos
por terminais elétricos; existiram em duas versões, de 30 terminais
(80386 e primeiros 80486) e 72 terminais (80486 e primeiras
gerações Pentium); possuíam capacidade de 256 KB a 12 MB para
pentes de 30 vias e de 1 MB a 64 MB para pentes de 72 vias. Os
pentes de 30 vias possuíam 8 bits na parte de dados do barramento,
enquanto que pentes de 72 vias possuíam 32 bits para o barramento
de dados.
Figura 10: Pente SIMM-30 vias e abaixo um pente SIMM-72 vias.
DIMM (Double in-line Memory Module): em um pente DIMM há 168
terminais elétricos; com este tipo de encapsulamento foram
fabricados os primeiros módulos de memória com tecnologia SDRAM
(DRAM síncrona), correspondendo aos padrões PC-66, PC-100 e PC-
133). Nestes pentes há normalmente a presença de um pequeno chip
E2PROM, denominado SPD (Serial Presence Detect), responsável pelo
armazenamento de informações de configuração dos módulos de
memória, como o tipo do padrão (PC-100, por exemplo) e tempos de
latência. A capacidade de um pente DIMM varia entre 8 MB e 256 MB.
Possuem 64 bits na parte de dados do barramento.
Figura 11: Pente DIMM (168 vias); em destaque, chip SPD.
DDR-DIMM (Double Data Rate DIMM): são pentes com 184 terminais
(DDR) ou 240 terminais (DDR2 e DDR3) que utilizam tecnologia DDR
SDRAM. Este tipo de pente possui um chanfrado duplo nas suas
laterais que o diferenciam de um pente DIMM convencional. Podem
apresentar capacidades de armazenamento da ordem de gigabytes.
Figura 12: Pente DDR (184 vias); em destaque, chanfrados.
Uma variante empregada principalmente em computadores servidores são
pentes de memória com buffers, denominados buffered, fully buffered (FB-DIMM) ou
registered DIMMs. Os chips adicionais (que exercem o papel de buffer) isolam os
demais chips de memória do pente dos circuitos do barramento, o que permite uma
maior escalabilidade aos módulos de memória, pois a interface com o barramento de
memória permanece inalterada, uma vez que é projetada para comunicar-se com os
buffers. O custo de pentes com buffer é maior do que o de módulos convencionais
(sem buffer); além disso, o desempenho de módulos com buffer tende a ser menor,
pois em função dos buffers as operações de escrita e leitura em meória tornam-se mais
complexas, e consequentemente mais demoradas.
Figura 13: Pente registered DIMM.
RIMM (Rambus in-line Memory Module): pente com módulos de
memória utilizando tecnologia licenciada pela empresa Rambus Inc.
(atualmente é uma subsidiária da Intel); possuem 184 terminais e
seus pentes devem sempre ocupar todos os soquetes de memória
disponíveis na placa-mãe. Caso isso não aconteça, é necessária a
utilização de pentes do tipo C-RIMM (Continuity RIMM) nos soquetes
vagos. Há versões com 16 e 32 bits na parte de dados do barramento.
Figura 14: Pente RIMM de 128 MB.
SO-DIMM (Small Outline DIMM) e MicroDIMM: são encapsulamentos
empregados em computadores portáteis (laptops), possuindo
dimensões reduzidas. O encapsulamento SO-DIMM possui versões
com 72, 100 e 144 terminais (DIMMs convencionais) e 200 e 204
terminais nas versões com tecnologia DDR. O encapsulamento
MicroDIMM possui versões com 172 e 214 terminais (DDR2).
Figura 15: Pente SO-DIMM.
Figura 16: Pente SDRAM MicroDIMM 256 MB PC133.
Figura 17: Pente DDR2-533 MicroDIMM.
Bancos de memória
Um banco de memória é constituído por um grupo de módulos de memória que,
quando considerados em conjunto, possuem a mesma largura na parte de dados do
barramento que o barramento de dados da CPU. Uma placa-mãe pode por sua vez
disponibilizar uma série de bancos de memória, que devem então ser preenchidos
adequadamente com pentes de memória de tal forma que a restrição acima seja
satisfeita.
Como exemplo, observe-se os dois casos a seguir:
O processador 80486 possui um barramento externo de dados com
32 bits de largura (isto é, com 32 vias); neste caso, para completar
um banco de memória são necessáriosquatro pentes SIMM-30 vias
(cada pente SIMM-30 possui 8 bits na parte de dados do barramento)
ou então somente um pente SIMM-72 vias, pois este possui 32 bits de
largura no seu barramento de dados.
O processador Pentium já nas suas primeiras gerações possuia um
barramento externo de 64 bits; neste caso, para completar um banco
seriam necessários dois pentes SIMM-72 vias ou então somente um
pente DIMM-168 vias.
O uso de bancos de memória é interessante do ponto de vista do desempenho
porque acelera o acesso a dados sequenciais. Se num banco de memória está o primeiro
byte a ser lido, num outro banco está localizado o byte consecutivo, o que livra o
processo de leitura de tempos de espera obrigatórios quando se trata de acessos
dentro de um mesmo banco.
Memórias SRAM (Static RAM)
Normalmente implementadas com transistores, este tipo de memória não
necessita de operações de refresh para manter seu conteúdo, pois não havendo
capacitores envolvidos não há perda de informação ao longo do tempo (isto é,
enquanto os circuitos forem alimentados eletricamente). A figura abaixo ilustra a
estrutura de uma célula de memória SRAM capaz de armazenar 1 bit de informação, e
onde podese notar a presença de 6 transistores, geralmente utilizando a tecnologia
MOSFET (metal–oxide–semiconductor field-effect transistor), que é uma das formas
mais comuns de implementação de transistores em circuitos integrados.
Figura 18: Uma célula de memória SRAM com um dos transistores em destaque
(Imagem de domínio público).
Em comparação com células de memória RAM dinâmicas (DRAMs), uma célula
SRAM ocupa mais espaço mas é bem mais rápida, permitindo tempos de acesso muito
baixos, inferiores a 10 ns. Memórias SRAM são usadas principalmente como memória
cache, permitindo que dados muito acessados na RAM sejam disponibilizados em
uma memória mais rápida que a DRAM. Seu custo também é maior que o de memórias
DRAM. Pode aparecer em chips na placa-mãe (cache L3 e L4) ou então dentro da
própria CPU (caches do tipo L1 e L2).
Quando se trata de cache externo, são duas as formas mais comuns de se
encontrar este tipo de memória: ou em chips com encapsulamento DIP conectados em
soquetes ou soldados diretamente na placa-mãe ou então utilizando um módulo de
memória COAST (Cache On A Stick), similar a um pente SIMM-72 vias, conectado a um
soquete próprio próximo à CPU.
Memórias DRAM (Dynamic RAM)
As RAM dinâmicas foram desenvolvidas a partir do meio da década de 1960 por
engenheiros da IBM e da Toshiba. Possuem uma estrutura mais simples que as
memórias SRAM, armazenando 1 bit de informação através da combinação de um
capacitor e um transistor. A figura abaixo apresenta uma célula DRAM, completa com
dois transistores de acesso.
Figura 19: Uma célula de memória DRAM com o capacitor em destaque (Imagem de
domínio público).
Pelo fato do estado (valor) do bit ficar armazenado no capacitor, e este ser um
componente que retém carga durante um período limitado de tempo, memórias DRAM
necessitam executar operações periódicas de refresh para restabelecer seu conteúdo.
Seu tempo de acesso é significativamente maior que o de memórias SRAM. No início da
década de 1990, chips de memória DRAM convencionais apresentavam tempos de
acesso da ordem de 120 ns, evoluindo em poucos anos para tempos em torno de 50 e
60 ns, enquanto que chips SRAM apresentavam no mesmo período tempos de acesso
de 6 a 9 ns.
Em chips de pentes DRAM convencionais geralmente vinha impresso seu tempo
de acesso, na forma de um número precedido por um traço ou barra, como na figura a
seguir.
Figura 20: Chip de memória DRAM com tempo de acesso em destaque.
As células de memória DRAM são organizadas em formato matricial, em linhas e
colunas, e na intersecção de cada linha e coluna há uma célula (1 bit). O funcionamento
de um módulo de memória DRAM é ditado pelo controlador de memória e envolve dois
sinais denominados RAS (Row Address Strobe) e CAS (Column Address Strobe).
Quando o controlador recebe o endereço a ser acessado, este endereço é convertido
para um endereço de linha e um endereço de coluna. A figura a seguir apresenta este
esquema:
Figura 21: Organização e funcionamento da DRAM.
O processo de conversão de endereço é realizado em etapas através do disparo
pelo controlador dos sinais RAS e CAS, como apresentado a seguir:
Barramento de endereço recebe a posição a ser acessada;
Sinal RAS é ativado, o que coloca o endereço de linha no Latch de
endereço de linha;
O decodificador de endereço de linha seleciona a linha da matriz de
células de memória que deve ser acessada;
Se for uma operação de escrita, o sinal Write Enable (habilitação de
escrita) estará ativado; se for uma operação de leitura, este sinal é
desativado;
Sinal CAS é ativado, e o endereço de coluna é colocado no Latch de
endereço de coluna;
Assim que o sinal CAS esteja estabilizado, o dado correspondente à
linha e às colunas selecionadas é colocado no barramento de dados
(Data Bus), no caso de uma operação de leitura; se for uma operação
de escrita, o dado presente no barramento de dados é armazenado nas
células da linha e colunas selecionadas; estas operações são realizadas
pelo circuito de Sensores e Amplificação;
Os sinais RAS e CAS são desativados, a fim de que um novo ciclo de
leitura/escrita possa ser realizado.
O diagrama apresentado a seguir ilustra esta sequência de eventos:
Figura 22: Diagrama de temporização de memórias DRAM.
Os seguintes atrasos (delays) constituem um ciclo de acesso à memória:
tRCD: é o RAS to CAS delay time; é o intervalo de tempo após a
ativação RAS, quando o CAS é ativado; o valor do endereço de coluna
já deve estar estabilizado nas linhas de endereço;
tRAH: é o address hold time; é o tempo necessário que o endereço de
linha deve ser mantido (retido) após a ativação do sinal RAS;
tCAC: é o Tempo de Acesso de Coluna, que corresponde ao delay
mínimo entre o momento em que o sinal CAS é ativado e o momento
em que o dado está disponível no Data Bus;
tRAC: é o Tempo de Acesso de Linha e corresponde ao tempo
mínimo necessário de espera entre o momento em que o sinal RAS é
ativado e o momento em que o dado desejado está no Data Bus.
Outros atrasos devem também ser considerados quando se trata da temporização
de memórias DRAM. Um tipo de atraso é o que deve existir entre dois acessos
consecutivos à memória DRAM. Este atraso é necessário, pois como as células de
memória trabalham com capacitores estes consomem um certo tempo para carga e
descarga. Os atrasos denominados RAS precharge delay (tRP) e CAS precharge delay
(tCP) são os tempos mínimos necessários para que estes sinais possam ser novamente
ativados. Estes tempos de pré-carga ocorrem logo após estes sinais serem desativados.
Uma das técnicas empregadas para acelerar o funcionamento das memórias
dinâmicas foi o uso de memória paginada (Page Mode RAM), em que a memória é
dividida em seções (páginas) de, por exemplo, 2 KB ou 4 KB. Os circuitos do
controlador foram otimizados de tal forma que quando dados são acessados dentro de
uma mesma página não havia a necessidade da introdução de tempos de espera (wait
states), que só ocorriam quando era preciso acessar dados de diferentes páginas.
A memória DRAM convencional possui uma interface assíncrona com o
barramento do sistema (que a comunica com a CPU). Isso significa que os circuitos de
memória funcionavam o mais rápido que podiam mas sem estarem atrelados ao clock
do barramento do sistema, uma vez que este era mais rápido que a memória, assim
como a CPU, que também trabalhava numa frequência bem superior aos circuitos de
memória. Neste contexto, os tempos de acesso dos módulos de memória eram
fornecidos em nanossegundos. Com o advento da DRAM síncrona, cuja frequência de
operação (na interface) era a mesma do barramento do sistema, deixou-se de utilizar
uma medida de tempo (como o nanossegundo) para quantificaro tempo de acesso,
sendo este agora representado por ciclos de clock.
A evolução tecnológica de memórias dinâmicas começou a ocorrer de forma mais
acentuada a partir do fim da década de 1980 e se estendeu por toda a década de 1990.
Diversas melhorias foram sendo introduzidas, resultando nas variantes conhecidas
como FPM, EDO, BEDO, SDRAM, DDR SDRAM e Rambus DRAM, e que são discutidas a
seguir.
FPM DRAM (Fast Page Mode DRAM): Esta tecnologia foi empregada até o meio da
década de 1990. A FPM existe em módulos SIMM-72, com capacidades de 2, 4, 8, 16 e
32 MB. Seu diferencial era manter o último endereço de linha acessado, o que acelerava
acessos posteriores feitos à mesma linha de células de memória. O primeiro acesso (a
uma linha) envolvia uma quantidade de ciclos maior que os acessos subsequentes à
mesma linha. No caso da FPM, uma linha de células equivale a uma página, daí a
denominação Fast Page Mode.
Como exemplo, no caso do barramento trabalhando a 66 MHz, poderiamos ter os
módulos de memória FPM operando com 6-3-3-3, ou seja, 6 ciclos para o primeiro
acesso e 3 ciclos para cada um dos 3 acessos (na mesma linha) posteriores; com 66
MHz o tempo de ciclo é de 15 ns, e 6 ciclos correspondem portanto a 90 ns (o tempo
de acesso). O tempo total levando em conta os 4 acessos seria de 90 ns + (3 vezes 45
ns), o que corresponde a 225 ns. Comparando com uma DRAM convencional, esta
operaria com ciclos 6-6-6-6, correspondendo a um tempo total de 360 ns.
EDO DRAM (Extended Data Out DRAM): é resultado de uma modificação nas
memórias FPM que permite manter o conteúdo de uma leitura de dados no barramento
de saída do chip enquanto o acesso seguinte já é iniciado pela CPU. Disponível em
módulos SIMM-72 e DIMM-168. Essa modificação permite um ganho médio de
desempenho de 10% em relação aos módulos FPM.
Supondo uma frequência de 66 MHz, se em um pente FPM a ciclagem fosse 6-3-3-
3, em um pente EDO poderíamos ter 6-2-2-2, num total de 3 pulsos de clock a menos.
Os módulos de memória EDO operavam com tempos de acesso de até 50 ns. As
memórias BEDO (Burst EDO) contavam com um controlador um pouco mais
sofisticado, só demandando gasto de tempo para acessar o primeiro dado, pois os 3
dados seguintes eram automaticamente disponibilizados pelo controlador no Data Bus
de saída, o que gerava um ganho de tempo para acessos sequenciais da ordem de até
20% em relação a memórias EDO.
SDRAM (Synchronous DRAM): No fim da década de 1990, surgiram os módulos
com tecnologia SDRAM. Este tipo de memória trabalha com a mesma frequência do
barramento do sistema.
PC-66: São memórias SDRAM de até 10 ns que trabalhem a 66 MHz.
PC-100: trabalham na frequência de operação 100 MHz e com tempo de
acesso de 8 ns ou inferior.
PC-133: São SDRAM que operam na frequência de 133 MHz.
DDR SDRAM (Double Data Rate SDRAM): As memórias do tipo DDR (Double Data
Rate) são baseadas numa nova tecnologia que permite a transmissão de dados tanto na
borda de subida como na borda de descida da onda correspondente ao sinal de clock, o
que na prática permite que a largura de banda (capacidade de tranferência) seja o dobro
em relação às memórias SDRAM convencionais.
A título de exemplo, o módulo de DDR-200 trabalha com um clock de 100 MHz,
mas, como possui um aproveitamento superior da onda do sinal de clock, atinge o
desempenho que seria o correspondente a uma memória SDRAM convencional que
funcionasse (hipoteticamente) a 200 MHz. Daí o módulo ser batizado de DDR-200. Na
tabela a seguir podem-se observar as principais características de algumas
configurações típicas de módulos DDR.
RDRAM (Rambus DRAM): A tecnologia RDRAM emprega um padrão de barramento
proprietário. A arquitetura interna dos circuitos difere das demais, pois não utiliza
uma única matriz dos capacitores e sim 16 matrizes de capacitores, possibilitando a
leitura e a escrita simultâneas de até 16 dados por circuito. Como exemplo, pode
possuir uma taxa de transferência de 1,6 GB/s em CPUs que operam com o barramento
do sistema na frequência de 200 MHz.
O barramento
BARRAMENTO DO SISTEMA
Conecta CPU com memória RAM (66/100 MHz)
Altas velocidades geram problemas elétricos
Placas de Interface em geral funcionam abaixo de 40 MHz
Nos primeiros PCs era o único barramento (cpu-ram-io)
BARRAMENTO DE IO (Input/Output ou Entrada/Saída)
Em 1987, a Compaq introduz a arquitetura Multibus
Tem sempre velocidade menor que o barr. sistema
Ligação com conectores para placas de expansão
Diferenças: bits transferidos, velocidade de funcionamento, taxa de
transferência, …
Forma básica de funcionamento
Linhas para dados, controles, endereços, alimentação
Cada placa ligada ao bus procura repetidamente pelos
sinais de seu interesse (endereço)
Quando o endereço é o da placa, esta lê comandos e dados
escritos pela CPU
Quando o endereço não é o da placa, esta ignora o
conteúdo enviado
O barramento de IO conecta-se com o barramento do sistema através
de um controlador (chipset). Este pode incluir suporte a funções
avançadas como o DMA (Direct Memory Access)
PADRÕES DE BARRAMENTOS DE ENTRADA/SAÍDA
ISA (Industry Standard Architecture)
Criado em 1984
Usa 16 bits, velocidade máxima de 8 MHz, tempo de transmissão 375
ns
Usa 2 –3 ciclos de clock por transferência
Taxa de 8 MB/s
Conecta teclado, porta serial, porta paralela, drive de disquete e
unidades adaptadoras externas
A CPU controla a transmissão dos dados até esta ser completada
Novas transmissões precisam aguardar a transmissão corrente
MCA (Micro Channel Architecture)
Criado em 1987 e patenteado pela IBM, pouco utilizado, boa
capacidade, inteligente
Usa 32 bits, velocidade de 10 MHz, atinge 40 MB/s
Usado em micros IBM
EISA (Enhanced ISA)
Criado em 1988/89 por um grupo de empresas (AST, Compaq,
Epson, HP , NEC, Olivetti, Tandy, Wyuse e Zenith)
Inteligente, bus mastering, autoconfiguração
Usa 32 bits, velocidade de 8 MHz
Usado em servidores
VLB (Vesa Local Bus)
Sucesso em 1993-1994
Usado em placas para 486
Utilizado principalmente para placas gráficas
Velocidade de 33 MHz
Roda diretamente com o barramento do sistema
Problemas de compatibilidade
PCI (Peripheral Component Interconnect)
Produzido pela INTEL, barramento de alta velocidade padrão
Usa 32 bits, com velocidade de 33 MHz, com taxa de transmissão de
132 MB/s, realiza transferências em um ciclo
É independente de processador (uso com CPUs de 32 e 634 bits)
É bufferizado, permitindo à CPU entregar ao barramento uma grande
quantidade de dados e executar outra tarefa enquanto este realiza a
entrega dos dados. Também possibilita a recepção dos dados sem a
atenção da CPU, entregando quando esta puder atender.
Trabalha com o padrão Plug-and-play
Subdivisão: unidades internas (EIDE) e unidades externas (placas)
USB (Universal Serial Bus)
Projetado para periféricos de baixa velocidade
Pode ser usado para joysticks, câmeras, aplicações de telefonia
Até 127 componetes podem ser conentados
Plug-and-play
Não necessita “ instalação” comum do periférico
Lembretes:
O clock externo é uma fração do clock interno, definido pelo
microprocessador. Pode ser igual a 2/3, ½, 2/5, 1/3.
O clock do barramento PCI é igual à metade do clock externo. A
divisão é definida pelo chip vlsi que controla o barramento.
O clock do barramento ISA é igual a uma fração do clock do
barramento PCI. Esta divisão é feita pelo chip vlsi responsável pelo
controle do barramento. Pode ser 1/3 ou 1/4.
CAPÍTULO 3
UNIDADE CENTRAL DE PROCESSAMENTO
 
Um microprocessador é um chip responsável por buscar e executar instruções e dados existentes na
memória RAM. Via de regra as instruções são bastante simples, como por exemplo operações
aritméticas, lógicas, comparações, leituras e gravações na memória. Um programa corresponde a um
conjunto de instruções que vão ser executadas pela CPU.
 
O ciclo de funcionamento de uma CPU consisteem:
1. Buscar na memória a próxima instrução a ser executada; corresponde
à etapa de leitura;
2. Interpretar a instrução a ser executada; é a etapa de decodificação;
3. Buscar na memória os dados associados à instrução;
4. Execução da instrução, operando sobre os dados;
5. Armazenar o resultado da execução na memória (se for o caso);
6. Reiniciar o processo, na etapa 1.
A figura a seguir ilustra os principais elementos constituintes de uma CPU:
Figura 23: Principais elementos constituintes de uma CPU.
Unidade lógica e aritmética (ULA): Responsável pela realização das instruções
matemáticas e de comparação;
Registradores: Utilizados para o armazenamento temporário de dados; no
diagrama aparecem os registradores A, B, C e PC (que é o Program Counter, registrador
que armazena o endereço da próxima instrução a ser executada);
Unidade de controle (UC): É responsável pela busca de instruções na memória,
controlando também a ULA e o Decodificar de Instruções;
Clock: gera pulsos (na forma de uma onde quadrada); a frequência com a qual o
clock gera estes pulsos é medida em Hertz (um Hertz equivale a um ciclo por
segundo). A CPU realiza suas operações no ritmo ditado pelo seu clock; atualmente as
CPUs operam com frequências na ordem de Gigahertz.
Figura 24: Microprocessador da empresa AMD.
Tecnologia CISC/RISC
Todo microprocessador é capaz de decodificar um certo número de instruções
(que é chamado de seu Instruction Set). Quando uma instrução é decodificada pela
CPU, ela executa uma sequência de microcódigo referente a esta instrução. Com a
evolução das CPUs o conjunto de instrução aumentou de tamanho e
microprocessadores com um conjunto grande de instruções são denominados CISC.
Quanto maior o conjunto de instruções, menor o desempenho do microprocessador,
pois a decodfificação de uma determinada instrução e a sua execução irão demorar um
tempo maior. Mas, apesar de existir um conjunto de instruções grande, nota-se que
geralmente somente algo em torno de 30% das instruções são efetivamente
empregadas pelos programas.
A partir desta constatação foi desenvolvida uma geração de CPUs com um
conjunto reduzido de instruções, com uma consequente otimização do decodificador
de instruções e também do microcódigo. Microprocessadores desenvolvidos desta
forma são classificados como RISC (Reduced Instruction Set Computing).
Algumas técnicas desenvolvidas a partir da família Pentium
Previsão de desvio
Empregada pela CPU quando existe uma condição do tipo “se A > B, vá para
<endereço>”. O controlador de memória carrega para a memória cache todos os
resultados possíveis em vez de aguardar o núcleo do microprocessador acabar o
processamento para saber qual o desvio a ser tomado.
Arquitetura superescalar
A arquitetura superescalar está associada à estrutura do processador. Um único
processador funciona internamente como se existissem vários processadores
convencionais, permitindo realizar várias instruções ao mesmo tempo.
Quando um processador com arquitetura superescalar possui dupla canalização,
isso significa que pode realizar duas instruções simultaneamente.
Multiprocessamento
Quando um microprocessador consegue operar em uma placamãe com mais de
um processador simultaneamente. Isso depende do tipo da placa-mãe (que deverá
suportar mais de um processador), do chipset e também dos processadores, que
deverão ser compatíveis.
Tecnologias MMX, 3DNow e SSE
Conjunto de instruções que consegue manipular vários dados simultaneamente.
É um exemplo da aplicação da técnica SIMD (Single Instruction on Multiple Data). O
conjunto de instruções MMX tem 57 instruções e evoluiu com o tempo para tecnologias
como SSE e SSE2.
Um pouco da evolução da família Intel x86
CAPÍTULO 4
DISPOSITIVOS DE ENTRADA E SAíDA
 
Os dispositivos de entrada e saída de dados, também conhecidos como dispositivos de E/S ou I/O
(de input/output), são os elementos periféricos pelos quais a informação proveniente do meio externo é
captada ou é para este enviada.
 
Os dispositivos de entrada permitem ao computador acessar informações do
mundo externo que são por sua vez codificadas para poderem ser processadas pela
CPU. Exemplos de dispositivos de entrada: teclado, mouse, tela touchscreen, joystick,
touchpad, scanners, microfone.
Figura 25: Exemplos de dispositivos de entrada.
Os dispositivos de saída permitem a saída de informações do computador para
meios externos, possibilitando sua visualização pelo usuário, armazenamento ou
utilização por outro dispositivo. Exemplos de dispositivos de saída: impressora,
plotter, monitor.
Figura 26: Exemplos de dispositivos de saída.
Os dispositivos de entrada e saída são os dispositivos que servem tanto para
entrada quanto para a saía de dados em um computador. Como exemplo temos: discos
rígidos, modems e unidades de backup (como fitas DAT, por exemplo).
Figura 27: Exemplos de dispositivos de entrada e saída.
Discos rígidos
Os discos rígidos são meios de armazenamento de memória em massa, sendo
constituídos por uma parte mecânica e uma parte eletrônica. Os dados são
armazenados em um ou mais discos magnéticos rígidos.
Pode-se resumir os componentes de um HD nos seguintes:
Disco mecânico: construção física do disco, RPM, construção do
cabeçote de leitura e gravação, densidade de dados…
Cache: buffer na placa do disco para aproveitar melhor a
leitura;/escrita física.
Interface: a forma de incorporação do disco no sistema do pc,
conexão com barramento, princípio do controlador…
Sistema de arquivos e formatação: uso de sistema de arquivos e
opções de formatação…
Controladores
MFM, RLL – Padrões antigos, fora de uso.
IDE – Interface simples, uso do barramento ISA, baixa taxa de transferência,
antigamente só discos menores de 528 MB.
EIDE – Melhorias do IDE, uso do barramento PCI, discos até 8.5 GB, controlador
na placa-mãe, até quatro discos.
SCSI – Controlador para sistemas com altas velocidades e grandes capacidades.
Até 7 discos de 18 GB.
Um pouco da evolução dos meios de armazenamento em massa
 
DÉCADA DE 1980
Disco magnético de 51/4, capacidade de 1.2 MB
34 discos -> cópia de um HD com 40 MB
já há alguns anos: disco rígido de 3.2 GB = 2.669 discos
1984: Disquete de 31/2 pol. com 720 KB
Desenvolvido pela Sony para o Apple Machintosh
Adotado pelos PCs
Substituído pelo disco de 1.44 MB
DÉCADA DE 1990
1991: IBM cria o disco de 2,88 MB
1993: Iomega cria o Floptical Disk, com capacidade de leitura dos
discos magnéticos e usando mídia ótica
Ambos os produtos: caros, sem apelo de mercado Competição com o CD e
derivados
ZIPDRIVE – IOMEGA
100 MB, 3.000 rpm, princípio de Bernouli, disco barato
Unidade externa, conectada pela interface paralela com o micro
SUPERDISK – IMATION
Capacidade de leitura de discos de 120 MB e discos convencionais
Sistema LS-20 (Laser Servo) permite 2.490 trpp X 135 trpp
JAZ DRIVE – IOMEGA
Lançado em 1996, discos com 1-2 GB, uso de interface SCSI
SyJet – SyQuest
1,5 GB, interface paralela, SCSI e EIDE
DISCO MAGNETO-ÓTICO
Misto de tecnologias óticas e magnéticas.
GRAVAÇÃO
Uso de um feixe laser potente para atingir o “ponto Curie”, quando
são liberadas partículas que podem ser orientadas com o uso de um
cabeçote de leitura/gravação.
LEITURA
Uso do efeito Kerr, em que a luz refletida é alterada de acordo com a
orientação das partículas magnéticas. Possui uma vida média de 30
anos.
CD ROM – CD-R
Sinais gravados com a “queima” do material reflexivo, feita apenas
uma vez, e não podendo ser alterada. Ideal para distribuição de dados
ou backups.
CD REGRAVÁVEL
PHILIPS – 1997
Tecnologia puramente ótica
Camada de gravação pode ter suas características químicas alteradas
Ao ser aquecido em determinada temperatura e resfriado ele cristaliza
Ao ser aquecido em temperatura maior e resfriado ele assume
estruturanão cristalina
A diferença entre a luz refletida em pontos cristalinos e não
cristalinos é interpretada como sinais lógicos.
O estado do material pode ser alterado com feixe laser inúmeras
vezes, permitindo regravações.
DVD (DIGITAL VERSATILE DISK)
Versões para gravação e leitura, e apenas para leitura.
Utiliza feixe laser menor que o CD-ROM, aumentando a capacidade.
DVD-ROM: somente leitura, 3.8 GB a 17 GB
DVD-R: Gravável (uma vez) até 3.9 GB por lado do disco
DVD-RAM: pode ser lido e escrito, até 2.6 GB
CAPÍTULO 5
O SISTEMA OPERACIONAL
 
Uma das peças-chave na estrutura funcional de um computador moderno é o sistema operacional, pois
é por meio desta camada de software que todos os outros aplicativos conseguem usufruir do hardware
oferecido pela máquina.
 
O sistema operacional é o software básico que oferece serviços importantes aos
softwares de aplicação para que estes possam utilizar os recursos de hardware
disponibilizados pelo computador.
Estes serviços podem ser agrupados da seguinte forma:
Gerência
Processos
Memória principal
Arquivos
Sistema de E/S
Memória secundária
Rede
Sistema de proteção
Interpretador de comandos
Um processo é um programa em execução, necessita de CPU para ser executado,
de memória, acesso a dispositivos de E/S.
Neste contexo o papel do S.O. é:
Criar e terminar processos;
Suspender e recomeçar processos;
Prover mecanismos para:
Sincronização;
Comunicação entre processos.
A memória é gerenciada pelo S.O. na forma de uma lista endereçável. Em relação à
memória, as responsabilidades do S.O. são:
Manter dados sobre uso da memória:
Quais partes pertencem a quem;
Decidir que processo carregar quando há espaço na memória;
Alocar e desalocar memória.
Um arquivo é um conjunto de informações que pode representar programas ou
dados. Em relação a arquivos o S.O. deve permitir:
Criar e apagar arquivos;
Criar e apagar diretórios;
Instruções para manipulação de arquivos e diretórios;
Mapear arquivos em armazenamento secundário;
Fazer backup.
Sistema de arquivos
Estrutura de um disco 3.5 (FAT 12) 1 setor = 1 cluster = 512 bytes
Informações no setor de boot (setor 0)
1º, 2º, 3º bytes: instrução (assembly) de salto para rotina de boot
do 4º ao 11º byte: nome e versão do DOS (ex.: MSWIN4.0)
12º, 13º: número de bytes por setor (512; no disco fica 00 02)
14º: número de setores por cluster
15º, 16º: número de setores reservados
17º: número de FATs (2)
18º, 19º: número máximo de entradas no diretório (raiz) (112 ou 224)
20º, 21º: número total de setores no disco (0B 40 em um disco de
3.5)
22º: byte descritor do meio -> F0 (disco 3.5), F8 (HD), FC (5.25)
23º, 24º: número de setores usados por uma FAT
25º, 26º: número de setores por trilha
27º, 28º: número de cabeças
29º, 30º: número de setores escondidos
40º a 43º: número de série do disco
a partir do 44º: nome do volume
a partir do 55º: FAT 12 ou FAT 16
últimos 2 bytes deste setor: 55 AA
Estrutura de um arquivo de diretório
Um diretório é uma sequência de entradas de 32 bytes cada, em que cada entrada
corresponde a 1 arquivo (FAT 12 e FAT 16 normais). Na FAT empregada pelo Windows
95 (que é chamada de VFAT), para cada arquivo podem ser usadas mais de uma entrada
de diretório, em que uma entrada segue o formato tradicional e as demais armazenam o
nome do arquivo usando codificação UNICODE (2 bytes por caracter).
Formato de uma entrada de diretório (tamanho em bytes) indicado abaixo de
cada campo:
Byte de atributo:
Obs.: o campo dia usa 5 bits, o mês os 4 próximos bits e o ano os bits restantes.
Cálculo do campo hora:
segundos/2 + 32 * minutos + 1.024 * horas
Obs.: o campo segundos usa 5 bits, minutos usa 6 bits e horas os bits restantes.
FAT 12
Cada entrada da FAT 12 emprega 12 bits ou 1 byte e meio. Logo, em 3 bytes
consecutivos temos 2 entradas.
Exemplo (como mostrado pelo DiskEdit):
F0 FF 02 54 00 32 …
Se temos setores de 512 bytes, então cabem 341,33 entradas de FAT por setor.
Obs.: entrada FFF = fim de encadeamento FF7 = setor ruim
FAT 16
Cada entrada da FAT 16 emprega 16 bits ou 2 bytes .
Se temos setores de 512 bytes, então em 1 setor cabem 256 entradas.
Obs.: entrada FFFF = fim de encadeamento FFF7 = setor ruim
Obs 2: as duas primeiras entradas da FAT são reservadas (não usadas); isto vale
para FAT12 e FAT16.
A expressão a seguir fornece um valor que corresponde a uma projeção (uma
aproximação) de quanto espaço em disco está sendo desperdiçado pelos arquivos
gravados no disco. Este desperdício diz respeito a espaço no disco que já está alocado
(associado a um arquivo) e que consequentemente não pode ser usado pelo sistema de
arquivos (FAT) para armazenar novos arquivos, por exemplo.
Espaço desperdiçado = quantidade de arquivos metade do tamanho do
cluster
Exemplo:
Se numa partição FAT temos 1.800 arquivos gravados e o tamanho do cluster (ou
bloco) é de 8 KB, então:
Espaço desperdiçado = 1.800 * 4 KB = 7.200 KB = 7.03 MB de espaço em disco
que está locado mas não pode ser usado para armazenar novos arquivos.
O Sistema Operacional Linux
Estrutura de diretórios do Sistema de Arquivos do Linux
A estrutura do sistema de arquivos apresentada aqui é a definida na versão 1.2 de
28 de março de 1995 do Linux Filesystem Structure Standard (FSSTND).
O diretório raiz (/) é normalmente organizado (subdividido) em uma coleção de
subdiretórios. Cada um destes subdiretórios armazena uma classe específica de
arquivos, como pode ser visto na tabela a seguir:
Subdiretório Função (classe de arquivos armazenados)
bin Executáveis essenciais (comandos); ex: cat, chmod, cp, date, dd, df, ed, kill, login, ls,mkdir, more, mount, mv, ps, pwd, rm, rmdir, umount,…
boot Arquivos estáticos do carregador de boot (boot loader)
dev Arquivos de dispositivos
etc Arquivos e scripts para configuração do sistema; ex: csh.login, fstab, group, inittab,lilo.conf, passwd, profile, exports, hosts, networks, protocols, …
home Diretórios para usuários
lib Bibliotecas compartilhadas (shared libraries)
mnt Diretório para montagem de sistemas de arquivos temporários
proc Pseudo sistema de arquivos (armazena informações de processos)
root Diretório do administrador do sistema (root user)
sbin
Executáveis essenciais (para administração do sistema); ex: clock, getty, init, mkswap,
swapon, swapoff, shutdown, fdisk, fsck, mkfs, badblocks, dumpe2fs, e2fsck, lilo,
ifconfig, route, …
tmp Arquivos temporários
usr É a 2
ª maior porção do sistema de arquivos; armazena arquivos compartilháveis,
geralmente read-only (tabela a seguir)
var Dados variáveis; incluem arquivos de spool, arquivos de log e arquivos temporários;não pode ser uma partição separada
O diretório /usr comtém uma hierarquica bastante grande de subdiretórios e
merece uma descrição detalhada:
Subdiretório Função (classe de arquivos armazenados)
X11R6 X Window System versão 11 release 6
X386 X Window System versão 11 release 5 para plataforma x86
bin Comandos de usuário
dict Lista de palavras (para spell checkers)
doc documentação
etc Arquivos de configuração não locais
games jogos
include Arquivos .h (header files para programas em C)
info GNU info system
lib bibliotecas
local Hierarquia local; usada pelo administrador do sistema quando instala softwarelocalmente
man
Man pages; subdiretórios man1 (programas de usuário), man2 (chamadas do sistema),
man3 (funções de bibliotecas), man4 (dispositivos), man5 (formatos de arquivos),
man6 (jogos), man7 (miscelânea), man8 (administração do sistema), man9 (funções e
variáveis internas do kernel)
sbin Executáveis não essenciais
share Dados dependentes de arquitetura
src Código-fonte do sistema operacional
O diretório /var também contém uma hierarquia de diretórios merecedora de uma
análise mais detida. Sua estrutura é apresentadalogo abaixo:
Subdiretório Função (classe de arquivos armazenados)
adm (obsoleto); link simbólico para /var/log
catman Manual pages formatadas localmente
lib Subdiretórios para arquivos temporários e de log para aplicativos (emacs, games, … )
local Dados variáveis de software de /usr/local
lock Arquivos de lock
log Arquivos de log
named Arquivos usados pelo servidor de nomes Internet (named)
nis Arquivos do Network Information Service (NIS)
preserve Arquivos salvos após crash no vi e ex
run Contém arquivos com informações sobre o sistema desde o momento do boot
spool Diretórios de spool (lpd – diretório de spool da impressora; mail – arquivos demailbox; cron – arquivos cron; …)
tmp Arquivos temporários
O shell
O shell é a camada do sistema operacional que interpreta os comandos do
usuários e dispara os processos adequados para atender aos seus objetivos. Do ponto
de vista do usuário, um shell é representado por uma janela de terminal na qual é
possível digitar comandos e receber respostas do sistema operacional. O universo
Linux oferece um número considerável de shells, mas a versão mais usada atualmente é
chamada de bash (Bourne Again Shell). Entre as outras versões disponíveis destacam-
se ainda o sh (Bourne shell original), o csh (C shell), o ksh (Korn shell), o tcsh
(Enhanced C shell) e o zsh (Z shell).
Redirecionamento de entrada/saída e dutos (pipes)
O Linux permite que a entrada de dados para um arquivo não precise ser
necessariamente feita via teclado, caso esta seja a única forma de leitura adotada pelo
programa. Uma forma alternativa é redirecionar a entrada de dados a partir de um
arquivo, como no exemplo abaixo.
ordena < lista
Neste exemplo, o processo ordena e coleta os dados a serem processados a
partir do arquivo lista. Uma outra situação possível é redirecionar a saída de um
processo para um arquivo, como no exemplo a seguir.
classifica > resultado
Aqui, o processo classifica e gera dados de saída que são armazenados em um
arquivo chamado resultado. Pode-se também fazer com que a saída de um processo
seja adicionada ao final de um arquivo já existente (append), como no exemplo abaixo.
classifica >> novo
É possível ainda fazer com que a saída de um processo alimente com dados a
entrada de um segundo processo. Este mecanismo é chamada de dutos ou pipes. O
exemplo a seguir ilustra este tipo de situação.
classifica|ordena
Neste caso, os dados gerados pelo processo classifica são usados como entrada
de dados para o processo ordena.
Filtros
Filtros são utilitários geralmente de pequeno tamanho mas muito poderosos,
sendo seu uso bastante difundido na comunidade de usuários UNIX/Linux.
cat : mostra, cria e concatena arquivos
sort : ordena arquivos
grep : procura padrão em arquivos
wc : conta o número de linhas, palavras e caracteres de um arquivo
head : imprime as n 1as linhas de um arquivo
tail : imprime as n últimas linhas de um arquivo
split : divide um arquivo em arquivos menores
diff : compara arquivos e mostra diferenças
O uso de caracteres especiais (metacaracteres)
* substitui qualquer string
Ex.: ls a* (lista todos os arquivos que começam por “a”)
rm * (remove todos os arquivos do diretório corrente)
? substitui um caractere
Ex.: ls a? (lista todos os arquivos que começam com “a” e possuem só 2
caracteres)
ls ?b? (lista todos os arquivos de 3 caracteres que tenham “b” como 2ª
letra)
Segurança e permissões de acesso
Permissões de acesso indicam quais tipos de operações um determinado usuário
poderá realizar sobre um arquivo. Todos os arquivos têm suas permissões de acesso
divididas em três grupos: permissões de acesso do próprio usuário (daquele que criou
o arquivo), permissões de acesso dos usuários que pertencem ao mesmo grupo deste
usuário e por último as permissões de acesso de todos os outros usuários da rede.
As permissões de acesso são visíveis quando se utiliza o comando ls –l:
No exemplo acima aparecem as permissões de acesso de três arquivos.
Estrutura do campo de permissão de acesso:
As permissões de acesso de um arquivo podem ser ajustadas através do
comando chmod. Exemplo:
chmod ugo + rwx nomearquivo → adiciona permissão de leitura (r), escrita (w)
e execução (x) para o próprio usuário proprietário (criador) do arquivo (u), para
usuários do seu grupo (g) e para todos os outros usuários cadastrados (o).
Outra maneira de usar o chmod é empregando o modo absoluto:
Usuário Permissão Valor
U r 400
U w 200
U x 100
G r 040
G w 020
G x 010
O r 004
O w 002
O x 001
Exemplo: chmod 755 nomearquivo → dá permissões pra u,g,o de r,w,x (root).
Outro comando importante é o chown, que permite alterar o dono de um
determinado arquivo. Exemplo:
chown mateus casa.doc → o arquivo casa.doc agora é do usuário mateus
Pode-se alterar ainda o grupo ao qual um arquivo pertence; para isso emprega-se
o comando chgrp. Exemplo:
chgrp projetos casa.doc → o arquivo casa.doc agora pertence ao grupo
projetos
Utilitários de compressão e arquivamento
gzip
gzip teste.txt → gera arquivo teste.txt.gz
gzip –l teste.txt.gz → lista informações sobre o arquivo compactado
gunzip teste.txt.gz → recupera o arquivo original
compress
compress teste → gera arquivo teste.Z
uncompress teste.Z → recupera arquivo teste
zip (compatível com pkzip)
zip arqdest arqfonte → gera arqdest.zip
unzip arqdest → recupera arqfonte
zip –pr arqdest fonte.*
tar (utilitário de arquivamento Tape Archive)
tar cvf dest.tar x → junta arquivos do diretório x em um só arquivo chamado
dest.tar; parâmetros c (cria), f(file), v (verbose)
tar xvf dest.tar → extrai (x) arquivos
tar tvf dest.tar → lista conteúdo do arquivo
tar com gzip
tar cvf – arq1 arq2 … | gzip > dest.tar.gz (ou dest.tgz) → arquiva e compacta
gunzip < dest.tar.gz | tar xvf - → descompacta e desarquiva
tar com compress
compress dest.tar → gera o arquivo dest.tar.Z
zcat dest.tar.Z | tar xvf - → descompacta e desarquiva
Significado de alguns comandos UNIX
pwd: mostra caminho do diretório corrente (path do diretório onde se está).
ls:
lista conteúdo do diretório (mostra arquivos e subdiretórios que estão
no diretório.
mkdir: cria um diretório.
cd: muda (alterna) para este diretório.
cat: cria um arquivo, mostra um arquivo ou concatena arquivos.
more: mostra o conteúdo de um arquivo.
cp: copia arquivo.
rm: deleta (remove) arquivo.
mv: move um arquivo (usado também para renomear arquivos).
chmod: altera as permissões de acesso de um arquivo.
ps: lista processos da máquina.
man: utilitário de ajuda.
A seguir é apresentada uma sequência de comandos que podem ser fornecidos
dentro de uma janela de terminal:
pwd mostra caminho (path atual).
ls lista (dir) diretório atual.
ls –l lista diretório atual, mostrando atributos do arquivo.
mkdir arquivos cria diretório arquivos.
cd arquivos entra no diretório arquivos.
ls lista diretório corrente.
cat > teste criação do arquivo chamado teste.
este é um teste com 2 linhas; para encerrar inclusão de linhas.
mais uma linha teclar control-d.
ctrl-d 
cat > carro criação do arquivo chamado carro.
mais um arquivo e mais uma
linha
 
ctrl-d 
ls –l lista conteúdo do diretório atual (arquivos).
more teste mostra conteúdo do arquivo teste.
 
cp teste ..
copia o arq. teste para o diretório pai do diret.
arquivos.
ls .. lista o conteúdo do diretório pai do diret. arquivos.
pwd mostra o path atual.
cd .. volta para o diretório pai (o diretório inicial).
rm teste remove arquivo teste deste diretório.
ls –l lista o novo conteúdo deste diretório.
ls arquivos lista o conteúdo do diretório arquivos.
cd arquivos muda para o diretório arquivos.
cat carro >> teste
adiciona o conteúdo do arquivo carro no final do arq.
teste.
more teste motra o novoconteúdo do arquivo teste.
mv carro casa muda o nome do arquivo carro para casa.
ls –l lista o conteúdo do diretório.
chmod ugo+rw casa muda os direitos de acesso do arquivo casa.
ls –l lista novamente o conteúdo do diretório.
ps mostra números dos processos em execução.
man ps chama o help para o comando ps (manual do ps).
CAPÍTULO 6
REDES DE COMPUTADORES
 
Um dos recursos mais significativos oferecido pelos computadores é a capacidade de trocar
informações entre diferentes máquinas, possibilitando a comunicação entre usuários e programas, o que
criou, com o tempo, uma série de novas possibilidades, e de problemas.
 
As redes de computadores podem ser divididas em três categorias de acordo com
sua abrangência geográfica:
Rede local (LAN ou Local Area Network): faz a interligação com
computadores próximos, localizados na mesma sala, andar ou
edifício; possui uma distância máxima de alguns quilômetros entre as
estações. Geralmente, as LANs possuem uma taxa de transferência de
dados na ordem de 1 a 1.000 MBps;
Rede metropolitana (MAN ou Metropolitan Area Network): interliga
computadores dentro de uma mesma cidade ou área metropolitana,
cobrindo distâncias de até 100 Km;
Rede de longa distância (WAN ou Wide Area Network): interliga
computadores localizados em cidades, estados ou países diferentes.
As velocidades podem ir desde 2.400 bps até acima de 1 GBps.
LANs: Principais características
Uma LAN pode ser caracterizada a partir de diversos fatores, como, por
exemplo, sua topologia e forma de codificação dos dados, como apresentado a seguir.
Topologia
A forma como os computadores de uma LAN estão conectados entre si define a
topologia em uso. Cada topologia possui características próprias e pode influir em
diversos fatores como facilidade e custo da operação da rede, custo de manutenção,
expansibilidade etc.
As topologias básicas são três: estrela, anel e barra, com possíveis combinações
entre elas, resultando em redes de topologia híbrida. A seguir, são apresentadas essas
três topologias.
Topologia em estrela
Nesta topologia todas as estações estão ligadas a um nó central, às vezes através
de um canal bidirecional ou então através de dois canais unidirecionais. A figura a
seguir ilustra esse tipo de topologia.
Figura 28: Topologia em estrela.
Nas LANs, esse tipo de topologia já é muito popular, devido às seguintes
características:
Uma interrupção no cabo que liga a estação ao hub central não
paraliza a rede, mas somente a estação cujo cabo está rompido;
Permite gerência de rede centralizada;
Permite a utilização de qualquer meio físico;
Topologia adequada ao cabeamento predial.
Todavia, o componente central é crítico e, se este falhar, toda a rede é paralisada.
Em alguns casos, é mantido um equipamento reserva para o caso de acontecer algum
problema.
Topologia em anel
Esta topologia consiste de um laço fechado no qual cada nó está conectado
através de um dispositivo repetidor. A informação circula numa só direção no anel,
conforme a figura a seguir.
Figura 29: Topologia em anel.
A estação que quiser transmitir deve esperar sua vez e então introduzir a
mensagem ao anel, na forma de um pacote que possui, entre outras informações, o
endereço fonte e destino da mensagem. Quando o pacote alcança seu destino, os dados
são copiados em um buffer auxiliar local e o pacote prossegue através do anel até fazer
toda a volta e chegar novamente na estação origem, que é responsável por tirá-lo de
circulação.
Topologia em barra
Em uma topologia em barra, aquilo que é transmitido por uma estação através do
barramento (ou Bus) é recebido por todos os outros nós simultaneamente,
configurando, dessa forma, um canal broadcast. A figura a seguir ilustra a topologia em
barra.
O meio de transmissão é bidirecional, pois as mensagens partem do nó gerador
em direção ao terminador do cabo, e só um nó deve transmitir por vez, pois se não
ocorrem colisões e os dados são perdidos.
Figura 30: Topologia em barra.
Topologias híbridas
Se numa topologia estrela o nó central ficar sobrecarregado, é possível fazer uma
interligação do nó central com outro nó central, levando parte das estações para o
outro nó, formando uma outra topologia denominada estrela-estrela.
Existem equipamentos no mercado atual que permitem fazer a interconexão entre
quaisquer tipos de topologias. Por exemplo, existem hubs que possuem várias
entradas para estações na topologia estrela e um conector para cabo coaxial (topologia
barra).
Forma de codificação dos dados
Uma forma bastante comum de codificação é a codificação Manchester
(empregada nas redes Ethernet), na qual o período de um bit é dividido em dois
intervalos iguais. Quando o bit que deve ser transmitido é “1”, é gerado um pulso de
voltagem alta no cabo durante o primeiro intervalo, e baixa no segundo intervalo.
Quando deve ser transmitido o bit “0”, o algoritmo é o inverso, ou seja, transmite-se
um pulso de baixa voltagem no primeiro intervalo e de alta no segundo intervalo.
Protocolos de transmissão de pacotes
São duas as principais categorias de protocolos de transmissão existentes: com
colisão e sem colisão, isto é, quando se aceita a existência de colisões e quando se evita
que elas ocorram.
Com colisão: CSMA/CD
Um problema que teve que ser superado para a existência das redes locais foi a
comunicação entre várias máquinas através de um mesmo meio físico (canal
broadcast), sendo que as mensagens deveriam chegar na estação destino e não
deveriam interferir nas aplicações que estivessem rodando nas outras estações.
O protocolo mais utilizado atualmente que resolve esse problema é o CSMA/CD
(Carrier Sense Multiple Access with Collision Detection), que é largamente utilizado
em redes locais, como, por exemplo, a Ethernet.
O funcionamento desse protocolo é simples, e pode ser resumido na sequência
abaixo:
1. Todas as estações estão continuamente escutando o barramento, com
o objetivo de ver se alguma mensagem veio para ela;
2. Caso exista a necessidade da estação executar uma transmissão, ela
primeiro olha se o barramento está livre (sem transmissão de dados).
Caso positivo, a estação envia a sua mensagem, caso contrário, ela
espera até que o barramento fique livre;
3. Se duas estações começam a transmitir praticamente no mesmo
instante (ambas pensaram que o barramento estava livre), acontece
uma colisão entre os quadros das duas estações e os dados tornam-se
inválidos. Nesse momento (quando a estação detectou a colisão), ela
para de transmitir sua mensagem e aguarda um tempo aleatório.
Quando esse tempo esgotou, ela repete o processo, vendo se o
barramento está livre e assim por diante.
A estação detecta colisão comparando o dado que ela está enviando com o dado
que passa pelo barramento. Caso seja diferente, é sinal de que aconteceu uma colisão.
Sem colisão (utilizando token)
As colisões que ocorrem no CSMA/CD afetam o desempenho da rede como um
todo, principalmente quando o cabo é longo, os pacotes são curtos e o número de
estações concorrentes é grande.
Existem vários tipos de protocolos livres de colisão, mas o mais empregado é o
método de token para evitar colisões, como é utilizado pelas redes Token Ring e
Token Bus, que utilizam topologias em anel e barra, respectivamente.
Há um elemento denominado token, que fica circulando entre as estações da rede.
Somente a estação que possui o token pode efetuar a transmissão, e, como existe
apenas um token circulando, não ocorrem colisões.
Quando uma estação quer transmitir uma mensagem, ela primeiramente deve
aguardar a chegada do token, para então retirá-lo de circulação e enviar sua mensagem.
Após a transmissão de sua mensagem, a estação deve gerar novo token para continuar
circulando e atendendo as outras estações da rede.
Protocolos de comunicação: o modelo OSI
O modelo OSI é divididoem sete níveis, onde cada um deles possui uma função
específica no processo de comunicação entre dois sistemas abertos. A figura abaixo
mostra os sete níveis do modelo OSI, iniciando pelo nível mais próximo ao meio físico
e terminando no nível mais próximo do usuário. Pode-se ver pela figura que cada nível
possui um ou mais protocolos que realizam as funções específicas daquele nível, e
esses protocolos são compatíveis entre as máquinas que estão se comunicando.
Figura 31: Os sete níveis do modelo OSI.
Entre cada nível existe uma interface responsável por permitir 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.
Os principais equipamentos que fazem a interconexão entre segmentos de rede,
alguns modificando os protocolos de rede para manter a compatibilidade com o outro
segmento, são os repetidores, as pontes, os switches, os roteadores e os gateways,
que serão analisados a seguir.
Repetidores
Repetidores são dispositivos que amplificam sinais elétricos, sem dar tratamento
algum à informação que passa através dele. Sua necessidade surge quando a potência
do sinal não é suficiente para fornecer a corrente necessária por toda a extensão do
cabo.
Por exemplo, a distância máxima nas redes Ethernet (com cabo coaxial grosso) é
de 2.500 m, mas os chips dos tranceivers só têm potência para 500 m. Uma das
soluções é utilizar repetidores para poder ampliar a distância.
Pontes (Bridges)
Pontes são dispositivos que operam no nível de enlace (nível 2) do modelo OSI,
portanto, uma ponte pode interligar duas redes que utilizem protocolos de nível de
enlace diferentes, como, por exemplo, Ethernet e Token Ring, ou Token Ring e FDDI.
Figura 32: IBM 8229 LAN Bridge.
Switches
Os switches são dispositivos que operam no nível 2 do modelo OSI e permitem a
interconexão entre máquinas diretamente, ou seja, simulando uma conexão ponto a
ponto. Essa é uma grande vantagem em relação aos hubs, pois estes somente
conseguem fazer uma conexão do tipo broadcast.
Assim, em uma rede local com hub central, os 10 MBps da Ethernet são
compartilhados por todas as estações, provocando colisões e queda de desempenho.
Como se sabe, uma rede Ethernet deve ser projetada com tráfego médio de, no
máximo, 40% de sua capacidade nominal.
Figura 33: Switch gerenciável TP-Link.
No switch, a largura de banda é dedicada entre as estações, eliminando as colisões
e provocando um aumento de desempenho. A figura a seguir ilustra várias estações se
comunicando simultaneamente.
Figura 34: Funcionamento do switch.
Com a eliminação das colisões, as estações não precisariam mais ouvir a
informação à medida que transmitissem o pacote (característica do CSMA/CD). Dessa
forma, sobra um par de fios no esquema Ethernet. Aproveitando-se disso, os
fabricantes já lançaram no mercado o Ethernet full-duplex, em que as estações falam
por um par de fios e ouvem por outro, duplicando a velocidade da rede, ou seja, as
estações falam entre si a 20 MBps (ou 200 MBps no caso de redes Fast-Ethernet).
Entretanto, caso se utilizem placas full-duplex, é necessária a utilização de
switches que suportem esse protocolo.
Roteadores
Roteadores são similares às pontes, porém, trabalham no nível de rede do
modelo OSI. As redes interligadas através de roteadores podem diferir muito mais que
as redes conectadas através de pontes. Os roteadores são necessários quando existe a
necessidade de interligar redes locais com redes de longa distância, ou quando se deseja
dar uma independência maior aos diferentes segmentos de uma rede local, pois dois
segmentos de rede local conectados através de um roteador possuem endereços de rede
diferentes.
Figura 35: Roteador CISCO.
Devido à maior complexidade dos protocolos utilizados pelos roteadores, eles
são mais lentos se comparados às pontes. Além disso, são mais caros e pedem um
esforço maior para instalação e utilização.
Conversores de protocolo (gateways)
Os gateways possuem uma tarefa muito mais complexa e difícil que os
roteadores, já que devem interligar redes completamente diferentes (a partir do nível
de transporte (nível 4) do modelo OSI). Assim, por exemplo, deve-se utilizar um
gateway para interligar uma rede que utiliza o protocolo usado na internet (TCP) com
outra que utiliza o protocolo OSI (TP4).
Algumas vezes, utiliza-se o termo gateway genericamente para indicar a conexão
entre quaisquer segmentos de rede, não importando o nível do modelo em que esses
segmentos se encaixam.
IEEE 802.3 e Ethernet
A norma IEEE 802.3 refere-se a uma família de redes locais baseadas no
protocolo de acesso ao meio CSMA/CD, que sugere uma forma para permitir a
comunicação de várias estações através do mesmo meio físico, utilizando um canal
broadcast.
A norma 802.3 especifica uma família inteira de sistemas CSMA/CD, rodando a
velocidades que variam de 1 a 10 MBps em vários meios físicos. O protocolo Ethernet
é uma das possíveis implementações da norma 802.3.
Topologia
A Ethernet pode ser implementada através das topologias barra e estrela. A
topologia mais barata é a tipo barra, com o meio físico sendo o cabo coaxial, mas a
tendência é a utilização das redes locais na topologia estrela, com um switch ou hub
central e o meio físico sendo o par trançado categoria 5.
Velocidade
As redes locais Ethernet utilizam uma velocidade de transmissão de dados de 10
MBps, sendo um caso particular da norma IEEE 802.3. Com o tempo foram
introduzidos versões mais velozes como a Fast-Ethernet (100 MBps) e a Giga-
Ethernet (1 GBps).
Meio físico
O meio físico utilizado pelas redes Ethernet pode ser o cabo coaxial, o par
trançado ou ainda outros tipos alternativos, como a rede via ondas de rádio.
Dois tipos de cabos coaxiais são muito comuns:
Thick Ethernet cable – cabo Ethernet grosso: normalmente
amarelo, possui marcações a cada 2,5 m para mostrar onde devem ir
as conexões referentes a cada estação de trabalho. Este padrão é
conhecido como o 10base5;
Thin Ethernet cable (cheapernet) – cabo Ethernet fino: é mais
fino e flexível, utilizando conectores tipo BNC para fazer as junções
às estações de trabalho. Este cabo é muito mais barato, porém, a
distância máxima é menor que a conseguida com o cabo grosso. O
padrão Ethernet com cabo coaxial fino é conhecido como 10base2.
Quando se utiliza par trançado (padrão 10baseT), utiliza-se a topologia estrela,
pois é necessário um equipamento concentrador das estações (switch ou hub). O par
trançado é bastante suscetível a ruídos. Existem dois tipos de hubs: o primeiro
funciona simplesmente como um repetidor, recebendo o sinal das estações e enviando
para todas as estações conectadas a ele. O segundo tipo é mais sofisticado, sendo
chamado de hub inteligente, possuindo normalmente as seguintes características:
Concentra as estações, formando a topologia estrela;
Isola automaticamente estações com falha;
Possui facilidades de gerência, controlando o tráfego, número de
colisões e outras informações, que são enviadas a uma estação de
controle.
CAPÍTULO 7
A INTERNET
 
A internet representou uma revolução em termos de aplicação da tecnologia em larga escala,
influenciando todas as áreas de atuação. É também uma concorrência direta da grande evolução das
tecnologias de redes de computadores.
 
Uma associação entre o DARPA (Defense Advanced Research Projects Agency),
um grupo de universidades e algumas instituições, criaram o “ARPANET Network
Working Group” em meados de 1960. Em 1969, a rede ARPANET entrou em operação,
consistindo de quatro nós e utilizando comutação de pacotes para efetuar a
comunicação.
Em 1974, um estudo feito por Vinton Cert e Robert Kahn propôs um grupo de

Continue navegando