1 / 21

Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia

Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado por Sidney Lucena (Prof. UNIRIO) Capítulo 12 Gerência de Dispositivos. Introdução. Gerência de dispositivos. Introdução.

diella
Download Presentation

Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementadopor 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%

More Related