Escolar Documentos
Profissional Documentos
Cultura Documentos
Silva
8. Entrada e Saída
8.1. Introdução
Nos modernos sistemas operacionais o usuário não pode realizar as operações de entrada/saída
diretamente, mas somente através do sistema operacional. Este procedimento é utilizado porque
os programas encarregados de realizar a interface com os dispositivos de entrada e saída (os
“drivers”) são parte integrante do sistema operacional. Como conseqüência temos uma maior se-
gurança nas operações de E/S, já que um usuário não pode fazer um acesso indevido, por exem-
plo, aos arquivos de um outro usuário.
Isso é necessário porque cada tipo de periférico tem características particulares, como por exem-
plo taxa de transmissão/recepção de dados. Portanto, deve haver um padrão específico de bar-
ramento de E/S mais adequado para cada periférico. Assim, é necessário que o computador
disponha de diversos padrões de barramentos de E/S para permitir a conexão de diversos tipos
de periféricos ao computador.
O padrão de barramento utilizado depende das características do periférico, tais como velocidade
e volume de dados que precisam ser transferidos de/para o periférico a cada instante e até mes-
mo da época em que o periférico foi produzido, já que alguns padrões de barramento são muito
recentes.
Qualquer que seja o barramento de E/S escolhido, deverá haver um componente no computador
para fazer a interligação entre os diversos tipos de barramento de entrada/saída e o barramento
do sistema, onde estão conectados o processador e a memória principal.
A ponte é o dispositivo que faz a interligação entre barramentos com padrões diferentes e com o
processador. Esta situação é ilustrada no diagrama a seguir:
Organização de Computadores Antônio Borges / Gabriel P. Silva
No caso acima existe uma ponte que interliga o barramento do sistema a outros dois barramentos
com padrões distintos, no caso o PCI e o AGP. Uma outra ponte faz interligação entre o barra-
mento com padrão PCI (mais moderno) e o padrão ISA (mais antigo). Nós estudaremos os diver-
sos padrões de barramento com mais detalhes adiante.
O sistema operacional controla toda a atividade de entrada e saída através de rotinas executadas
no processador. Nenhuma operação de entrada e saída pode ser realizada sem que seja autori-
zada pelo sistema operacional, ou seja, pelo processador. Ao término de toda operação de entra-
da, o processador deve ser notificado para que os dados recebidos sejam convenientemente
tratados. Antes de toda operação de saída, os dados devem ser preparados e os periféricos pro-
gramados convenientemente.
O processador tem várias maneiras para saber se uma determinada tarefa solicitada a um perifé-
rico foi realizada:
sistema operacional, para executar uma rotina de tratamento. Esta forma de notificação
recebe o nome de interrupção.
O modo de notificação por interrupção é utilizado quando um programa transfere grandes volu-
mes de dados e o tempo entre o início e o término da operação de E/S é longo. Deste modo o
processador pode executar outros programas especificados pelo sistema operacional e, quando
da chegada da interrupção, a execução do programa original é retomada.
Quando um arquivo é lido do disco, o seu conteúdo é transferido para a memória principal, antes
que possa ser processado ou transmitido para um outro dispositivo, como o disquete ou interface
de rede.
Quando as informações que estão na memória do computador precisam ser transferidas de/para
um periférico, também há duas maneiras principais de realizar essa transferência:
O uso de DMA oferece maior desempenho para as transferências de grande volume de dados,
enquanto que o primeiro método é mais adequado quando o volume de dados é pequeno.
Os dispositivos de entrada e saída podem ser de diversos tipos: teclado, mouse, vídeo, disco,
impressora, áudio, etc. Para cada tipo de dispositivo existe um barramento mais adequado que
é escolhido considerando-se fatores como a taxa necessária para a transmissão das informa-
ções (Mbytes/s); se o barramento será compartilhado por mais de um dispositivo ou não; se há
necessidade do uso de linhas de interrupção; etc.
Organização de Computadores Antônio Borges / Gabriel P. Silva
Assim como o barramento do sistema, os barramentos de E/S são compostos por barramen-
tos de endereço, de dados e de controle. A largura em bits de cada um deles varia de acordo
como padrão utilizado. Variam também com relação a uma série de outros parâmetros, que
são utilizadas para a classificação dos barramentos, que são apresentados a seguir:
Os barramentos síncronos são aqueles que possuem um sinal de relógio em suas linhas de
controle que determina que os dados sejam transmitidos em intervalos de tempo definidos. Os
barramentos assíncronos não possuem sinal de relógio. Os dados são transmitidos mediante
um protocolo implementado por sinais de controle e podem levar tempos diferentes para se-
rem transmitidos.
Os barramentos com árbitros centralizados, como o nome já indica, possuem um único árbitro
que recebe todos os pedidos, que são feitos através de linhas especiais do barramento. Segundo
critérios diversos, tais como a prioridade de cada dispositivo, tempo do último acesso, etc., o uso
do barramento será concedido a um ou outro dispositivo.
O uso de barramento não multiplexados exige um número maior de linhas, ou seja, fios para a
transmissão dos sinais, que muitas vezes não está disponível. Se o barramento pode operar com
modos de transferência em bloco (rajada), onde a partir de um endereço inicial vários dados são
transferidos, é comum encontramos o uso do barramento multiplexado.
O padrão ISA foi o primeiro padrão de barramento de E/S utilizado nos computadores do tipo
IBM/PC, lançado em 1981. É um barramento síncrono, com freqüência de 4.77 ou 8 MHz, não
multiplexado, com uma largura de dados de 8 bits em sua versão inicial, que depois foi expandida
para 16 bits, quando do lançamento do IBM PC/AT em 1984. Permitia o uso de interrupção para
os periféricos se comunicarem com o processador, além de suportar transferências com o uso de
DMA. O conector ISA na realidade é um conjunto de dois conectores um 62 pinos e o outro com
36 pinos.
O padrão PCI foi introduzido nas versões mais recentes dos computadores compatíveis com o
IBM/PC, sendo também utilizado em computadores de outras marcas, como os do tipo Mac e Sun.
O barramento PCI é um barramento síncrono, com freqüências de relógio de 33 e 66 Mhz, com
barramento multiplexado para dados e endereços. Existem versões com 32 ou 64 bits de largura
de dados. Como todo o barramento moderno, o PCI tem suporte para interrupção e permite que
múltiplos dipositivos possam fazer uso do barramento para iniciar transferências de dados, além
do processador.
Organização de Computadores Antônio Borges / Gabriel P. Silva
O PCI trata todas as transferências como transferências em bloco. Cada ciclo começa com uma
fase de endereço seguida por uma ou mais fases de dados. As fases de dados podem se repetir
indefinidamente, mas são limitadas por um temporizador que define o máximo perído de tempo
que um dispositivo pode controlar o barramento.
Largura 32 ou 64 bits
Multiplexado SIM
Arbitragem Centralizada
Síncrono SIM
Freqüencia do Relógio 33 a 66 Mhz
Taxa de Transferência 132 a 528 MBytes/s
Comprimento Máximo 0,5 m
Figura 25 – Características do PCI
O padrão SCSI (Small Computer System Interface) foi criado com a finalidade de oferecer um pa-
drão de alto desempenho para transferência de dados para periféricos nos microcomputadores.
Uma de suas características é permitir a ligação de dispositivos de vários tipos (fitas, discos, etc.)
simultaneamente ao barramento. A maior distância de ligação dos periféricos ao computador é de
alguns metros, o que permite a colocação dos dispositivos fora do gabinete do computador. O
barramento SCSI oferece ainda dois modos de conexão: síncrono e assíncrono, sendo o modo
síncrono é utilizado para a transferência em bloco de dados e o assíncrono para comandos e
pequeno volume de dados.
Este padrão vem evoluindo bastante desde a sua criação de modo a oferecer taxas de transferên-
cias cada vez maiores, mantendo-o à frente em termos de desempenho dos padrões de barra-
mento concorrentes, entre eles o IDE. O barramento Ultra 320 SCSI, finalizado em 2001, veio
para manter o SCSI à frente do barramento IDE em termos de velocidade, já que o ATA 133, com
uma largura de banda de 133 MB/s já havia chegado muito perto do padrão anterior. O Ultra 320
SCSI é destinado apenas a servidores, pois as placas utilizam obrigatoriamente slots PCI de 64
bits e 66 MHz (que transmitem a 533 MB/s), que não são encontrados em placas destinadas a
Organização de Computadores Antônio Borges / Gabriel P. Silva
PCs domésticos. Os requisitos de cabeamento são os mesmos do Ultra 160 SCSI, o que permite
a substituição direta de uma placa pela outra.
Tipos SCSI SCSI 2 Ultra SCSI Ultra 2 SCSI Ultra 160 Ultra 320
SCSI SCSI
Barramento 8-bit (Fast) 8-bit (Ultra) 16-bit 16-bit 16-bit
16-bit (Fast/Wide) 16-bit (Ultra
Wide)
Taxa de 10 MB/s 20 MB/s 80 MB/s 160 MB/s 320 MB/s
Transferência 20 MB/s 40 MB/s
Dispositivos 7 7 15 15 15
Suportados
Tabela 4 – Evolução do SCSI
Característica SCSI
Largura 8 a 32 bits
Multiplexado SIM
Arbitragem Distribuída
Relógio Assíncrono/Síncrono
(5 - 160 Mhz)
Banda Passante 5 a 320 MB/s (sincr.)
Comprimento 25 metros
Tabela 5 – Caracterísiticas do SCI
O barramento IDE surgiu especificamente para possibilitar a ligação de discos rígidos dentro dos
gabinetes dos computadores com os respectivos processadores. Possui diversos modos de trans-
ferência de dados.
No modo PIO as transferências de dados são realizadas pelo processador. O modo PIO deter-
mina a velocidade de transferência de dados de/para o disco:
O modo mais lento é o modo 0, onde o ciclo de dados não pode exceder 600 ns. Con-
siderando que 2 bytes são transferidos em um ciclo, a taxa máxima de transferência no
modo PIO 0 é de 3,3 MB/s.
No barramento IDE/ATA, no modo 1 o ciclo máximo é de 383 ns; no modo 2, de 240
ns.
No barramento ATA-2, no modo 3 o ciclo máximo é de 180 ns; no modo 4 é de 120 ns.
O modo DMA (Acesso Direto à Memória) significa que os dados são transferidos diretamente en-
tre o disco e a memória sem o uso do processador, ao contrário do modo PIO. Alguns discos per-
Organização de Computadores Antônio Borges / Gabriel P. Silva
mitem o modo de transferência em bloco, onde vários setores são transferidos do disco para a
memória sem necessidade de interrupção do processador. Isto diminui a sobrecarga do processa-
dor, já que cada interrupção força uma troca de contexto, verificação do dispositivo e preparação
de uma nova transferência de dados. O modo de DMA “single word” é de pouca utilidade e está
obsoleto no ATA-3.
O barramento AGP é um padrão que permite que placas de vídeo tenham acesso diretamente à
memória principal do computador, onde informações de vídeo estão armazenadas. A taxa de
transferência obtida entre a placa de interface vídeo e a memória principal do computador depen-
derá do modo de operação do barramento AGP, que depende tanto do tipo da ponte de barramen-
to utilizada como também da placa de interface de vídeo.
Interface Relógio Largura de Banda Comparação
PCI 33 Mhz 132 MB/s 1.0
Apesar da velocidade do barramento AGP 8x ser muito menor que a velocidade da memória
de vídeo das placas mais atuais, esta nova versão do AGP significa um grande ganho de desem-
penho para as interfaces de vídeo montadas na placa mãe, que utilizam memória principal com-
partilhada como memória de vídeo.
Organização de Computadores Antônio Borges / Gabriel P. Silva
Para o uso do padrão AGP 8X ou 4X possa ser eficaz, é necessário que a memória principal do
processador utilize memórias do tipo DDR ou RAMBUS, que possuem velocidade adequada para
permitir que as altas taxas de transferências destes barramentos. Em caso contrário, as mesmas
poderão se tornar gargalos e limitar em valores menores as taxas de transferência de dados.
Nesta seção procuraremos explicar como os dados são organizados nos discos rígidos e falar um
pouco sobre a sua organização interna, em termos de cabeça, cilindros e superfícies. A figura
abaixo apresenta um esquemático desta organização:
Organização de Computadores Antônio Borges / Gabriel P. Silva
Ou seja, um disco rígido é um conjunto de discos com superfícies recobertas com material magné-
tico, onde são armazenados os dados no formato binário. Pequenas partículas de material magné-
tico são orientadas em uma ou outra polaridade, correspondendo ao zero e um lógicos. Cada
disco tem duas superfícies, e em cada uma destas superfícies existem trilhas concêntricas, igual-
mente espaçadas, correspondendo ao raio mais externo até o raio mais interno do disco. Estas
trilhas, por sua vez, estão divididas em setores, e cada setor pode armazenar um determinado
número de bytes.
Os discos, devido a sua geometria circular, possuem mais setores nas trilhas exteriores, já que
essas possuem um comprimento maior do que as trilhas mais internas. Mas o programador, con-
venientemente, enxerga uma geometria "cúbica" do disco. É feita uma tradução da geometria
interna de CHS (cilindros, cabeças e setores), para um padrão em que cada trilha possui 63 seto-
res, e cada setor tem 512 bytes.
Os discos mais novos têm uma interface muito mais simples. Em vez de reportar-se aos setores
por seu endereço CHS (cilindros, cabeças e setores) usam a modalidade LBA (Logical Block Ad-
dressing). Na modalidade LBA, um programa tem que especificar somente o número do setor em
relação ao começo do disco (todos os setores no disco são numerados seqüencialmente: 0, 1, 2,
3...).
O sistema operacional precisa guardar os arquivos de uma forma organizada. Normalmente os
discos são divididos em partições, que podem conter diferentes sistemas de arquivos e diferentes
sistemas operacionais. O primeiro setor de um disco no padrão do IBM/PC é chamado de MBR
(Master Boot Record) e contém a tabela de partição. Esta tabela tem quatro registros, cada um
podendo descrever uma partição. A figura abaixo ilustra um MBR:
No exemplo abaixo o “boot sector” começa apenas na trilha de número 1. São deixados 62 seto-
res sem uso na trilha 0 para forçar o início de uma partição coincidir com o início de uma trilha. O
tipo da partição indica qual sistema de arquivos que está contido na mesma.
Organização de Computadores Antônio Borges / Gabriel P. Silva
O diretório raiz mantém os ponteiros para os diretórios, arquivos e outros diretórios que possam
estar contidos no disco. Os “clusters” são a unidade mínima de alocação e podem conter vários
setores. O tamanho do “cluster” varia de acordo como tamanho do disco e do sistema operacional.
A FAT contém a tabela de alocação dos “clusters” do disco, indicando quais os que estão livres,
ocupados ou danificados.
Organização de Computadores Antônio Borges / Gabriel P. Silva