Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Arquitetura de Sistemas Operacionais
Francis Berenger Machado Luiz Paulo Maia Complementado por Sidney Lucena (Prof. UNIRIO) Capítulo 12 Gerência de Dispositivos
2
Introdução Gerência de dispositivos
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
4
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 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)
5
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 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)
6
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 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)
7
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 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)
8
Device Drivers ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)
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
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)
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
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
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
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
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
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
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
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
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
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%
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%
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.