ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 12/1 Arquitetura de Sistemas...
Transcript of ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 12/1 Arquitetura de Sistemas...
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/1
Arquitetura de Sistemas Arquitetura de Sistemas OperacionaisOperacionais
Francis Berenger MachadoFrancis Berenger MachadoLuiz Paulo MaiaLuiz Paulo Maia
Complementado por Sidney Lucena (Prof. UNIRIO)Complementado por Sidney Lucena (Prof. UNIRIO)
Capítulo 12Capítulo 12Gerência de DispositivosGerência de Dispositivos
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/2
Introdução
• Gerência de dispositivos
C on tro lado res
D ispo sitivo s d e E/ S
Processo
Sistem a d e A rq u ivo s
D evice D rivers
Sub sistem a d e E/ S
O perações d e E/ S
Mo
do
Usu
ári
oM
od
o K
ern
el
I nd epend ented o d isp ositivo
(a )
D ep end en ted o d isp ositivo
(b )
SOFT
WA
RE
HA
RD
WA
RE
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/3
Introdução
• Subsistema de E/S isola complexidade dos dispositivos das camadas superiores (sistema de arquivos ou aplicação)– Permite flexibilidade ao SO para comunicação com
qualquer tipo de periférico
• Detalhes do periférico (velocidade de transferência, tipos de operações, etc) ficam a cargo do device driver de cada dispositivo
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/4AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
Acesso ao Subsistema de Entrada e Saída
• Operações de entrada/saída devem ser as mais simples possíveis para as aplicações
• SO possui conjunto de rotinas que possibilita comunicação com qualquer dispositivo:– Rotinas de Entrada/Saída– Fazem parte do Subsistema de E/S– Permitem operações de E/S sem a necessidade de se
saber detalhes do dispositivo acessado
• Operações de E/S realizadas via System Calls de E/S– Chamam rotinas de E/S do núcleo do SO– Por ex., um programa que manipula arquivos o fará
qualquer que seja a mídia onde o arquivo se encontra
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/5AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
Acesso ao Subsistema de Entrada e Saída
• Comunicação com system calls de E/S:– Relacionamento criado na geração
do código executável– System calls realizadas
diretamente no código de alto nível do programa
• Operação de E/S síncrona:– Processo fica em espera até
término da operação– Maioria dos comandos em alto nível
• Operação de E/S assíncrona:– Processo não fica em espera,
término da operação é sinalizado
D evice d r ivers
D ispo sitivo s d e E/ S
C om an dosd e E/ S
Ro tina s d e E/ S
System ca lls d e E/ S
A plicaçã o
Bib lio tecas
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/6AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
Subsistema de Entrada e Saída
• Responsável pela interface (uniforme) entre dispositivos e aplicação:– Cuida das funções comuns a todos os tipos de
dispositivos– Aspectos específicos são tratados pelos device drivers
• Unidades de informação de tamanhos diferentes (p/ex. caracteres ou blocos)
• Em geral, tratamento de erros nas operações de E/S
– Erros podem ser tratados de maneira uniforme usando subsistema de E/S
– Implementa mecanismos de proteção no acesso a dispositivos compartilhados, verifica permissões
– Realiza “bufferização” (cache) das operações de E/S– Padroniza interface com diferentes device drivers
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/7AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
Device Drivers • Os drivers, implementam a comunicação entre
subsistema de E/S e controladores dos dispositivos
• Recebem comandos genéricos de acesso e os traduz para comandos específicos do dispositivo, executados pelos controladores
• Cada driver é específico para um tipo de dispositivo, ou grupo de dispositivos– Ex.: drivers de disco, de rede, de vídeo, etc
• Diretamente integrado às funções do controlador– Conhece características como registradores,
funcionamento e comandos– Inicializa e gerencia seu funcionamento
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/8AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
Device Drivers
Processo
D r iver d eIm presso ra
Sub sistem a d e E/ S
D r iver d eD isco
D r iver d eFita
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/9
Device Drivers• Na leitura síncrona de um dado em disco:
– Driver recebe solicitação de leitura de um dado bloco– Informa ao controlador do disco qual cilindro, trilha e
setor onde o bloco se localiza– Inicia operação de leitura, processo colocado em espera– Controlador gera interrupção de término, driver verifica
se há erros e transfere dados subsistema de E/S e, portanto, para o processo, que será acordado
Ro tinad e E/ S
D r iverd e D isco
C on tro lado rd e D isco
Le r b lo co n Le r seto r x
D iscos
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/10
Device Drivers• Drivers fazem parte do núcleo do SO
– Códigos reentrantes que executam em modo kernel– Qualquer bug prejudica todo o sistema, deve ser
cuidadosamente desenvolvido e testado
• Geralmente escritos em assembly• Em geral, fabricantes do dispositivo desenvolvem
drivers deste dispositivo para diferentes Sos– Procura evitar problemas de bug dado o grau de
dependência entre SO e drivers
• Inclusão de novo driver, algumas vezes, exige recompilação do kernel (SOs mais antigos)
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/11
Controladores • Componentes de hardware responsáveis por
manipular diretamente os dispositivos de E/S– Geralmente, pode estar numa placa independente
conectada a um slot ou estar na placa mãe– Possui memória e registradores próprios usados na
execução das instruções do driver
M em óriaPr in cip a lU C P
C on tro lado rd e
Im p resso ra
C on tro lado rd e
D isco
C on tro lado rd e
Fita
Im p resso ra D isco Fita
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/12
Controladores• A técnica de DMA (Direct Memory Access) é
usada para transferir um bloco entre o buffer interno do controlador e o buffer de E/S da memória principal sem intermédio da CPU– Evita ocupar CPU com a transferência do bloco– Controlador de DMA pode fazer parte do controlador do
dispositivo ou ser independente
• Em geral, controladores de disco usam técnicas de cache para melhorar desempenho
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/13
Controladores• Operação de leitura usando DMA:
– CPU, através do driver, inicializa registradores do controlador de DMA e fica liberada
– Controlador de DMA solicita ao controlador de disco a transferência do bloco para seu buffer interno
– Controlador de disco verifica se não há erros– Controlador de DMA transfere bloco para buffer de E/S
na MP e gera interrupção para a CPU
U C P
C o n tro la do rd e D M A
Reg istra do res
Bu ffer
M em ó riaPr in cip a l
Bu ffer de E/ S
C o n tro la do rd e
D isco
D isco
1
2
3
4
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/14
Controladores
• O SCSI (Small Computer System interface) é um padrão popular de conexão de dispositivos
• Define padrões de hardware e software para conexão de dispositivos de fabricantes diferentes
• SO deve possuir driver SCSI e hardware para conexão dos periféricos deve possuir controlador SCSI
Dis
po
siti
vos
SCSI
U C P
M em ór iaPr in cip a l
Dis
po
siti
vos
nã
o-S
CSI
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/15
Dispositivos de Entrada e Saída
• Permitem comunicação do SO com o mundo externo
• Podem ser só de entrada, só de saída ou ambos• Conforme forma de armazenamento dos dados,
podem ser classificados como estruturados e não-estruturados– Os estruturados (block devices) usam blocos de
tamanho fixo, cada qual com seu endereço• Ex.: discos magnéticos e ópticos, fitas magnéticas
– Os não-estruturados (character devices) enviam ou recebem seqüência de caracteres sem estrutura definida, portanto não endereçável
• Ex.: Terminais, impressoras e placas de rede
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/16
Discos Magnéticos
• Constitui-se por vários discos sobrepostos, unidos por um mesmo eixo vertical, girando a velocidade constante
• Cada disco possui trilhas concêntricas divididas em setores
• Trilhas de diferentes discos numa mesma posição vertical formam um cilindro
• Braço se move no sentido radial
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/17
Discos Magnéticos
• Tempo de acesso é função do tempo de seek, latência rotacional e tempo de transferência
• Envolve aspectos mecânicos e, portanto, é extremamente longo se comparado ao número de instruções que poderiam ser executadas num mesmo intervalo de tempo
• Alguns sistemas usam área da MP como espelho de parte do disco: RAM Disk– Similar à técnica de
cache
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/18
Desempenho, Redundância e Proteção de Dados
• RAID: Redundant Arrays of Inexpensive Disk– Técnicas de gerenciamento de
discos para otimizar operações de E/S, implementar redundância e proteção dos dados
– Diferentes técnicas que utilizam múltiplos discos, publicadas em 7 níveis (0 a 6)
– Podem ser implementadas diretamente nos controladores de discos (RAID externo), no SO ou através de software específico
Sistem aO peracion a l
Sistem aO peracion a l
So ftw areRA ID
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/19
Desempenho, Redundância e Proteção de Dados
• O RAID cria dispositivo virtual conhecido como array de discos– Grupo de discos físicos tratados como se fosse um
único disco– Grande capacidade de armazenamento, alto
desempenho e confiabilidade nos dados armazenados
• RAID 0: Faz disk striping, dividindo igualmente pedaços dos arquivos (stripes) pelos discos– Operações de E/S podem ser paralelizadas– Não faz redundância
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/20
Desempenho, Redundância e Proteção de Dados
• RAID 1: Espelhamento– Replica conteúdo do disco primário em um ou mais
discos secundários ou espelhos, permitindo redundância no caso de falha
– Toda escrita no disco primário é reproduzida nos espelhos, mas overhead é pequeno
– Capacidade útil só vai até 50%
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
12/21
Desempenho, Redundância e Proteção de Dados
• RAID 5: Acesso independente com paridade distribuída– Distribui os dados entre discos do array e implementa
redundância baseada em paridade (maior overhead)– No caso de falha, dados podem ser recuperados através
de algoritmo de reconstrução• Faz operação inversa entre dados de paridade e
dados restantes– Requer espaço adicional menor para ter redundância
• Capacidade útil sobe para ~80%