Gerência de Entrada/Saída
Agenda
n
Dispositivos de E/S
¡ Componentes, Barramento, Interface de
Acesso, Endereçamento, Interrupções
n
Estratégias de Iteração
¡ Controlada por software, por evento e
acesso direto a memória
n
Software de E/S
n
Disco Rígido
Dispositivos de Entrada e
Saída
Exemplos
n E x i s t e m m u i t a s p o s s i b i l i d a d e s d e
Barramento
n
L i g a d i s p o s i t i v o s d e E / S a o
computador.
n
Antes feito por fios, hoje está a cargo
de dois controladores (hardware) que
fazem parte do chipset da placa-mãe:
a north bridge e a south bridge.
Barramento
n A north bridge - acesso à RAM e aos
dispositivos de alta velocidade, via de barramentos dedicados
¡ AGP (Accelerated Graphics Port) e PCI-Express (Peripheral Component Interconnect).
n A south bridge – responde por barramentos
e portas de baixa ou média velocidade como portas seriais e paralelas, e por barramentos dedicados como o PCI padrão, o USB e o SATA.
Barramento
n A south bridge costuma integrar rede
on-board, controladores de áudio, de interrupções, DMA (Direct Memory Access), relógio de tempo real (para o quantum), controle de energia e o acesso à memória BIOS.
n O processador se comunica com a south
bridge indiretamente, através da north bridge.
Interface de Acesso
n Define como acessar um dispositivo,
configurá-lo e enviar dados para ele (ou receber dados dele).
n Cada dispositivo possui portas de entrada/ saída (conjunto de registradores),
acessíveis via barramento, usadas para a comunicação entre o dispositivo e o processador.
Interface de Acesso
n
As portas de acesso podem ser:
¡ Portas de entrada e de saída
¡ Portas de status - consultar o estado
interno do dispositivo ou verificar se uma operação solicitada ocorreu sem erro
¡ Portas de controle - enviar comandos
ao dispositivo ou modificar parâmetros de sua configuração
Endereçamento
n A forma de acesso a interface de um
dispositivo varia de acordo com a arquitetura do computador.
n Alguns sistemas utilizam entrada/saída mapeada em portas (port-mapped I/O),
onde as portas que compõem a interface são acessadas pelo processador através de instruções específicas para operações de entrada /saída.
Endereçamento
n
Exemplo: família Intel
¡ Instrução “IN reg port” para ler o valor
presente na porta “port” do dispositivo e depositá-lo no registrador “reg” do processador
¡ Instrução “OUT port reg” é usada para
escrever na porta “port” o valor contido no registrador “reg”
Endereçamento
n
Na entrada/saída mapeada em portas,
é definido um espaço de endereços
de entrada /saída (I/O address space)
separado da memória principal e
normalmente compreendido entre 0 e
64K.
Endereçamento
n Outra forma de acesso usado em interfaces
gráficas e de rede, é a entrada/saída
mapeada em memória (memory-mapped I/
O).
n Portas são vistas como se fossem parte da
memória principal e podem ser lidas e escritas através das mesmas instruções usadas para acessar o restante da memória.
Endereçamento
n
A abordagem mais sofisticada é o uso
de um hardware independente, com
processador dedicado, que comunica
com o processador principal através
de algum tipo de barramento.
¡ Interfaces para vídeo ou áudio de alto
desempenho (placas gráficas com aceleração)
Interrupções
n
Quando o controlador precisa informar
algo ao processador, uma requisição
de interrupção é enviada pelo
barramento de controle.
n
Cada interrupção está associada a um
número inteiro (0–31 ou 0–63), que
identifica o dispositivo que a solicitou.
Estratégias de Interação
n
O SO precisa e deve interagir com
cada dispositivo de E/S.
n
P a r a t a n t o , s ã o u s a d a s t r ê s
estratégias:
¡ E/S controlada por programa,
¡ E/S controlada por eventos
Interação controlada por
programa
Interação controlada por
eventos
Tratamento de interrupção em
níveis
n Tratador primário (FLIH – First Level Interrupt
Handler). Interrupção rápida e imediata, pois bloqueia todas as outras.
n Tratador secundário (SLIH) – Trata a fila de
interrupções pendentes pelo bloqueio, conforme disponibilidade.
¡ Tratado como processo comum com alta prioridade
(escalonado)
n Vantagens:
¡ Tratamento mais rápido de interrupções
¡ minimiza a perda de interrupções concomitantes ¡ Remove interrupções redundantes (mouse p/ ex.)
Acesso direto à memória
n
A maioria dos computadores atuais
oferece mecanismos de acesso
direto à memória (DMA - Direct
Memory Access), que permitem
transferências diretas entre a memória
principal e os controladores de
entrada/saída.
Acesso direto à memória
n
A ativação do mecanismo de DMA
p o d e s e r s í n c r o n a , f e i t a
explicitamente pelo processador, ou
assíncrona, quando ativada por um
dispositivo de E/S que dispõe de
dados a serem transferidos para a
memória.
Acesso direto à memória
n
O mecanismo de DMA é utilizado para
transferir grandes blocos de dados
diretamente entre a memória RAM e
as portas dos dispositivos de E/S,
liberando o processador para outras
atividades.
Classes de Dispositivos
n
Os dispositivos de E/S são agrupados
em:
¡ dispositivos orientados a blocos -
operações de I/O de dados são feitas usando blocos de bytes.
¡ dispositivos orientados a caracteres -
transferências de dados são sempre feitas byte por byte ou em blocos de bytes de tamanho variável.
Classes de Dispositivos
¡ As interfaces de rede são vistas como
dispositivos orientados a blocos (pacotes), que são endereçáveis (endereços de destinos dos pacotes), mas a saída é feita de forma sequencial, bloco após bloco.
Disco Rígido
n
Discos rígidos são usados para
armazenar o SO, aplicações e dados
dos usuários.
n
Um disco rígido é composto por um ou
mais discos metálicos que giram
juntos em alta velocidade (entre 4.200
e 15.000 RPM), acionados por um
motor elétrico.
Disco Rígido
n
Lentos por serem dispositivos
eletromecânicos.
n
Para cada bloco a ser lido/escrito, a
cabeça de leitura deve se posicionar
na trilha desejada e aguardar o disco
girar até encontrar o setor desejado.
Sistemas RAID
n
Os discos constituem um dos maiores
gargalos de desempenhos.
n
Além disso, apresentam o problema
de confiabilidade, onde falhas podem
levando à perda de dados.
n
A solução mais eficientes para esses
problemas é o RAID (Redundant Array
of Inexpensive Disks)
Sistemas RAID
n
Um sistema RAID é constituído de
dois ou mais discos rígidos que são
vistos pelo SO e pelas aplicações
como um único disco lógico.
n
O objetivo é proporcionar mais
desempenho, com o paralelismo no
acesso aos vários discos, e mais
confiabilidade, usando redundância.
Sistemas RAID
n
Um sistema RAID pode ser construído
“por hardware” (placa controladora) ou
“por software” (drivers).
n
É importante observar que os
sistemas RAID se preocupam apenas
com o armazenamento e recuperação
de blocos de dados.
Sistemas RAID
n
Há várias formas de se organizar um
conjunto de discos rígidos em RAID.
n
Os níveis RAID padronizados pela
S t o r a g e N e t w o r k i n g I n d u s t r y
Association são:
Sistemas RAID
n
RAID 0
¡ Os discos físicos são divididos em áreas
de tamanhos fixo chamadas fatias ou faixas (stripes).
¡ Cada fatia de disco físico armazena um
ou mais blocos do disco lógico.
¡ As fatias são preenchidas com os blocos
Sistemas RAID
Sistemas RAID
nRAID 0 linear
Sistemas RAID
n
RAID 0 oferece um grande ganho de
desempenho em operações de leitura
e escrita:
¡ usando N discos físicos, até N operações
podem ser efetuadas em paralelo.
n
Entretanto, não existe redundância de
dados.
¡ caso um disco falhe, todos os blocos
Sistemas RAID
n
RAID 1
¡ Cada disco físico possui um “espelho”,
ou seja, outro disco com a cópia de seu conteúdo, sendo por isso comumente chamado de espelhamento de discos.
¡ Caso hajam mais de dois discos, devem
ser incorporadas técnicas de RAID 0 para organizar a distribuição dos dados (configurações RAID 0+1, RAID 1+0 ou RAID 1E).
Sistemas RAID
Sistemas RAID
n
RAID 1 oferece confiabilidade, já que
cada bloco lógico está escrito em dois
discos distintos.
n
O desempenho em leituras também é
beneficiado, pois pode-se distribuir as
leituras entre as cópias.
n
Contudo, não há ganho na escrita,
devido a necessidade de replica, e o
custo de implantação é elevado.
Sistemas RAID
n
RAID 2
¡ Fatia os dados em bits individuais que
são escritos nos discos físicos em sequência;
¡ discos adicionais são usados para
armazenar códigos corretores de erros (Hamming Codes), em um arranjo similar ao usado nas memórias RAM.
Sistemas RAID
n
RAID 3
¡ Fatia os dados em bytes, que são
escritos nos discos em sequência.
¡ Um disco separado contém dados de
paridade, usados para recuperar erros.
¡ A cada leitura ou escrita, os dados do
disco de paridade devem ser atualizados, o que requer serialização dos acessos e queda de desempenho.
Sistemas RAID
Sistemas RAID
n
RAID 4
¡ Similar ao RAID 3, com a diferença de
que o fatiamento é feito por blocos ao invés de bytes.
¡ Sofre dos mesmos problemas de
desempenho que o RAID 3, sendo por isso pouco usada.
Sistemas RAID
Sistemas RAID
n
RAID 5
¡ Assim como a anterior, esta abordagem
também armazena informações de
paridade para tolerar falhas em discos.
¡ Todavia, essas informações não ficam
concentradas em um único disco físico, mas são distribuídas uniformemente
Sistemas RAID
Sistemas RAID
n
RAID 5 elimina o gargalo de
desempenho no acesso aos dados de
paridade.
n
É a abordagem de RAID mais popular,
por oferecer um bom desempenho e
redundância de dados com um custo
menor que o espelhamento (RAID 1).
Sistemas RAID
n
RAID 6
¡ É uma extensão do nível RAID 5 que
utiliza blocos com códigos corretores de erros de Reed-Solomon, além dos blocos de paridade.
¡ Esta redundância adicional permite
tolerar falhas simultâneas de até dois discos.
Sistemas RAID
n