·

Engenharia de Software ·

Arquitetura de Computadores

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

Gerência de Dispositivos Sistemas Operacionais Prof Eduardo Xavier A gerência de dispositivos de entradasaída é uma das principais e mais complexas funções de um sistema operacional Solução em camadas A diversidade dos dispositivos de ES exige que o sistema operacional implemente uma camada chamada de subsistema de ES com a função de isolar a complexidade dos dispositivos físicos Aspectos como velocidade de operação unidade de transferência representação dos dados tipos de operações e demais detalhes de cada periférico são tratados pela camada de device drivers Introdução O sistema operacional deve tornar as operações de ES o mais simples possível para o usuário e suas aplicações O subsistema de ES isola a complexidade de operações específicas para cada tipo de dispositivo da camada de sistema de arquivo do sistema gerenciador de banco de dados SGBD ou diretamente da aplicação Dessa forma é possível que as aplicações manipulem qualquer tipo de periférico com mais simplicidade Subsistema de Entrada e Saída O subsistema de ES é composto por um conjunto de rotinas que possibilita a comunicação com qualquer dispositivo que possa ser conectado ao computador As operações de ES são realizadas por intermédio de chamadas às rotinas de ES possibilitando a independência da aplicação com relação a características específicas das arquiteturas dos diferentes dispositivos Aplicações podem realizar operações de ES de dados que podem estar logicamente estruturados em um dispositivo como também em dados armazenados de forma não estruturada A possibilidade de estruturação de dados vai depender do tipo de periférico envolvido na operação Subsistema de Entrada e Saída Subsistema de Entrada e Saída Tratamento de erros nas operações de ES realizado pelas camadas mais próximas ao hardware Existem porém certos erros que podem ser tratados e reportados de maneira uniforme pelo sistema de arquivos independentemente do dispositivo Todos os dispositivos de ES são controlados com o objetivo de obter o maior compartilhamento possível entre os diversos usuários de forma segura e confiável Mecanismo de proteção de acesso aos dispositivos Buffering é outra tarefa implementada por esse subsistema permitindo reduzir o número de operações de ES utilizando uma área de memória intermediária chamada de buffer Uma das principais funções do subsistema de ES é criar uma interface padronizada com os device drivers Sempre que um novo dispositivo é instalado no computador é necessário que um novo driver seja adicionado ao sistema Subsistema de Entrada e Saída O device driver ou somente driver tem como função implementar a comunicação do subsistema de ES com os dispositivos por intermédio dos controladores de ES Enquanto o subsistema de ES trata de funções ligadas a todos os dispositivos os drivers tratam apenas dos seus aspectos particulares Os drivers têm como função receber comandos gerais sobre acessos aos dispositivos e traduzilos para comandos específicos que poderão ser executados pelos controladores Cada device driver manipula somente um tipo de dispositivo ou grupo de dispositivos semelhantes Device Driver O driver está integrado diretamente às funções do controlador que reconhece as características particulares do funcionamento de cada dispositivo de ES Sua função principal é receber comandos abstratos do subsistema de ES e traduzilos para comandos que o controlador possa entender e executar Além disso o driver pode realizar outras funções como a inicialização do dispositivo e seu gerenciamento Device Driver Os device drivers fazem parte do núcleo do sistema operacional sendo escritos geralmente em Assembly Como os drivers são códigos reentrantes que executam em modo kernel qualquer erro de programação pode comprometer por completo o funcionamento do sistema Devido ao alto grau de dependência entre os drivers e o restante do núcleo do sistema os fabricantes desenvolvem para um mesmo dispositivo diferentes device drivers um para cada sistema operacional Device Driver Os controladores de ES são componentes de hardware responsáveis por manipular diretamente os dispositivos de ES O sistema operacional mais exatamente o device driver comunicase com os dispositivos através dos controladores Em geral o controlador pode ser uma placa independente conectada a um slot do computador ou implementado na mesma placa do processador Controladores O controlador possui memória e registradores próprios utilizados na execução de instruções enviadas pelo device driver Essas instruções de baixo nível são responsáveis pela comunicação entre o controlador e o dispositivo de ES Em operações de leitura o controlador deve armazenar em seu buffer interno uma sequência de bits proveniente do dispositivo até formar um bloco Após verificar a ocorrência de erros o bloco pode ser transferido para um buffer de ES na memória principal A transferência do bloco do buffer interno do controlador para o buffer de ES da memória principal pode ser realizada pela UCP ou por um controlador de DMA O uso da técnica de DMA evita que o processador fique ocupado com a transferência do bloco para a memória O controlador de DMA é um dispositivo de hardware que pode fazer parte do controlador ou ser um dispositivo independente Controladores Controladores O padrão mais popular para a conexão de dispositivos a um computador é o SCSI Small Computer Systems Interface O SCSI define padrões de hardware e software que permitem conectar ao sistema computacional dispositivos de fabricantes diferentes como discos CD ROMs scanners e unidades de fita desde que sigam o padrão estabelecido Controladores Um disco magnético é constituído por vários discos sobrepostos unidos por um mesmo eixo vertical girando a uma velocidade constante Cada disco é composto por trilhas concêntricas que por sua vez são divididas em setores As trilhas dos diferentes discos que ocupam a mesma posição vertical formam um cilindro Para a superfície de cada disco existe um mecanismo de leituragravação Todos os mecanismos de leituragravação são conectados a um braço que se movimenta entre os vários cilindros dos discos no sentido radial Exemplo Discos Magnéticos O tempo utilizado para leitura e gravação de um bloco de dados em um disco é função de três fatores O tempo de seek é o tempo gasto no posicionamento do mecanismo de leitura e gravação até o cilindro onde o bloco se encontra O tempo de latência rotacional é o tempo de espera até que o setor desejado se posicione sob o mecanismo de leituragravação O tempo de transferência corresponde ao tempo necessário para a transferência do bloco entre memória principal e o setor do disco Exemplo Discos Magnéticos No final da década de 1980 pesquisadores da Universidade da Califórnia em Berkeley desenvolveram técnicas de gerenciamento de discos que otimizavam as operações de ES e implementavam redundância e proteção de dados conhecidas como RAID Redundant Arrays of Inexpensive Disk As diferentes técnicas utilizando múltiplos discos foram publicadas em seis níveis RAID 1 6 Estas técnicas tiveram grande aceitação no mercado e posteriormente um novo nível foi introduzido e denominado RAID 0 Uma característica fundamental na técnica de RAID é a criação de um dispositivo virtual conhecido como array de discos Este array consiste em um grupo de discos físicos que são tratados pelo sistema operacional como se fossem um único disco Este disco tem como características uma grande capacidade de armazenamento alto desempenho e confiabilidade nos dados armazenados Exemplo Discos Magnéticos Desempenho Redundância e Proteção de Dados RAID 0 Striping A técnica consiste na implementação do chamado disk striping que é distribuir as operações de ES entre os diversos discos físicos contidos no array com o intuito de otimizar o desempenho Como os dados são divididos entre os diversos discos as operações de ES podem ser processadas paralelamente Para poder implementar o striping é preciso formar um conjunto de discos chamado de stripe set onde cada disco é dividido em pedaços stripes Sempre que um arquivo é gravado seus dados são divididos em pedaços iguais e espalhados simultaneamente pelos stripes dos diversos discos Exemplo Discos Magnéticos Desempenho Redundância e Proteção de Dados RAID 1 Espelhamento A técnica também conhecida como espelhamento ou mirroring consiste em replicar todo o conteúdo do disco principal chamado primário em um ou mais discos denominados espelhos ou secundários A redundância oferecida por essa técnica garante que no caso de falha no disco principal os discosespelhos sejam utilizados de forma transparente pelo sistema de arquivos O overhead adicional exigido nesta operação para sincronizar o disco original com seu espelho é pequeno e o benefício da proteção justifica a implementação A capacidade útil do subsistema de discos com a implementação do RAID 1 é de apenas 50 A técnica pode ser implementada por software ou por hardware diretamente pelo controlador de disco em um subsistema RAID externo Exemplo Discos Magnéticos Desempenho Redundância e Proteção de Dados RAID 0 Striping Exemplo Discos Magnéticos Desempenho Redundância e Proteção de Dados RAID 1 Espelhamento RAID 5 Acesso Independente com Paridade Distribuída A técnica de RAID 5 consiste em distribuir os dados entre os discos do array e implementar redundância baseada em paridade Este mecanismo de redundância é implementado através de cálculos do valor da paridade dos dados que são armazenados nos discos do array junto com os dados Caso haja uma falha em qualquer um dos discos do array os dados podem ser recuperados por um algoritmo de reconstrução que utiliza as informações de paridade dos demais discos Esta recuperação ocorre automaticamente e é transparente ao sistema de arquivos A principal vantagem de uma técnica de redundância que utiliza paridade é que esta requer um espaço adicional menor para armazenar informação de controle que a técnica de espelhamento aprox 80 Apesar disso esta técnica de redundância requer um overhead nas operações de gravação no disco em função do cálculo da paridade Exemplo Discos Magnéticos Desempenho Redundância e Proteção de Dados RAID 5 Acesso Independente com Paridade Distribuída Exemplo Discos Magnéticos Desempenho Redundância e Proteção de Dados Arquitetura de sistemas operacionais Capítulo 12 Francis Berenger Machado Luiz Paulo Maia 5 edição Referência