Subsistema de Entrada e Saída do Kernel Profa. Priscila Facciolli Sistemas Operacionais 1 Conteúdo • Introdução; • Acesso ao Subsistema de Entrada e Saída; • Device Drivers; • Controladores; • DMA e Padrões de Conexão; • Dispositivos de Entrada e Saída; • Discos Magnéticos e Desempenho; • Redundância e Proteção de Dados; • Exercícios. Sistemas Operacionais 2 Introdução • O SO é formado por um conjunto de rotinas que oferece servios aos usuários e às suas aplicações (Kernel). • A Gerência de Dispositivos de Entrada/Saída é uma das mais complexas funções do SO e sua implementação é estruturada através de camadas. • A diversidade dos tipos de E/S exige que o SO implemente uma camada chamada de Subsistema de E/S, com a função de isolar a complexibilidade dos dispositivos da chamada de sistemas de arquivos e da aplicação, possibilitando ao sistema manter sua flexibilidade. • As camadas são divididas em dois grupos: – O primeiro visualiza os diversos tipos de dispositivos do sistema de um modo único; – O segundo é específico para cada dispositivo Sistemas Operacionais 3 Figura 1 – Gerência de Dispositivos Sistemas Operacionais 4 Acesso ao Subsistema de Entrada e Saída • O SO possui um conjunto de rotinas que torna possível a comunicação com qualquer dispositivo que possa ser conectado ao computador. Essas rotinas são denominadas de Rotinas de Entrada/Saída e fazem parte do Subsistema de E/S. • As operações de E/S são realizadas através de System Calls que chamam as rotina de E/S do núcleo do SO. Dessa forma, é possível escrever um programa que manipule arquivos, estejam eles em disquetes, discos rígidos, CDs, fitas magnéticas, sem ter que alterar o código para cada tipo de dispositivo. • As System Calls responsáveis pois essa comunicação são chamadas de System Calls de Entrada/Saída, e um de seus objetivos é simplificar a interface entre as aplicações e os dispositivos. Sistemas Operacionais 5 Acesso ao Subsistema de Entrada e Saída As operações de E/S podem ser classificadas em: • Operação Síncrona: Quando o processo que realizou a operação fica aguardando em estado de espera por seu término. • Operação Assíncrona: Quando o processo que realizou a operação não aguarda pelo seu término e continua pronto para ser executado. Neste caso deve existir uma sinalização que indique que a operação foi terminada. Sistemas Operacionais 6 Figura 2 – Operações de Entrada/Saída Sistemas Operacionais 7 Device Drivers • O Device Driver ou somente Driver, tem como função implementar a comunicação do subsistema de E/S com os dispositivos através de Controladores. • Os Drivers recebem os comandos gerais sobre os acessos aos dispositivos e traduz para comandos específicos que poderão ser acessados pelas funções do Controladores e com isso ele possa entendê-las e executá-las. • Cada driver manipula um tipo de dispositivo ou grupo de dispositivos semelhantes e normalmente o SO possui diferentes drivers para cada recurso computacional. • Devido ao grau de dependência entre os drivers e o restante do Núcleo do SO, os fabricantes desenvolvem para um mesmo dispositivo, diferentes drivers cada um para um SO. Sistemas Operacionais 8 Figura 3 – Device Drivers Sistemas Operacionais 9 Controladores • São componentes de hardware responsáveis por manipular diretamente os dispositivos de E/S. • O Driver comunica-se com os dispositivos através dos Controladores. • Ele pode ser uma placa independente conectada a um slot do computador ou implementada na mesma placa do processador. • O Controlador possui memória e registradores próprios. • São utilizados na execução de instruções enviadas pelo Driver. Em operações de leitura, armazena em seu buffer interno, uma seqüência de bits provenientes driver até formar um bloco. Após verificar se no bloco existem erros, é transferido para um buffer de E/S na Memória Principal. • A transferência do bloco para o buffer pode ser realizado por um controlador de DMA. Sistemas Operacionais 10 Figura 4: UCP, Memória e Controladores Sistemas Operacionais 11 DMA e Padrões de Conexão • DMA (Direct Memory Acess ou Acesso Direto a Memória), permite que certos dispositivos de hardware acessem a memória para leitura e gravação independentemente. • A técnica de DMA evita que o processador fique ocupado com a transferência do bloco para a memória.Pode fazer parte do Controlador ou ser independente. • Exemplos: Controladores de Disco, placas de rede e som. • Uma transferência por DMA copia um bloco de memória de uma dispositivo para o outro. A UCP inicia a transferência, mas não a executa. Alguns padrões de Conexão: • SCSI (Small Computer Systens Interface); • IDE (Integrated Drive Electronics) ou ATA (Advanced Techology) Attachment. • ATA, SATA, S-ATA, tecnologias de transferência de dados em série. Sistemas Operacionais 12 Figura 5 – Técnica de DMA Sistemas Operacionais 13 Dispositivos de Entrada e Saída Permitem a comunicação entre o SO e o mundo externo. São classificados como: • Entrada de Dados: (CD-ROM, teclado, etc) • Saída de Dados: (impressoras) ou ainda, • Entrada/Saída de dados: ( modem, discos, CD-ROM.) Sistemas Operacionais 14 Dispositivos de Entrada e Saída Em função da forma com que os dados são armazenados, são classificados em: • Dispositivos Estruturados: Armazenam as informações em blocos de tamanho fixo possuindo cada qual um endereço que pode ser lido/gravado. Ex. Disco rígido. Seus tipos: – Acesso Direto: Quando um bloco pode ser recuperado através de seu endereço. – Acesso Seqüencial: Quando para se acessar um bloco, o dispositivo blocos. percorre seqüencialmente os demais • Dispositivos não Estruturados: Enviam ou recebem uma seqüência de caracteres sem estar estruturado no formado de um bloco. Ex.: Terminais, impressoras, interfaces de rede. Sistemas Operacionais 15 Figura 6 – Tempo de Acesso Sistemas Operacionais 16 Discos Magnéticos e Desempenho Entre os diversos dispositivos de E/S, os discos magnéticos são o principal repositório de dados. O tempo utilizado pela leitura e gravação de dados em um disco está em função de três fatores: • Tempo de Seek: Tempo do posicionamento do cabeçote de leitura/gravação. • Latência Rotacional: Tempo de espera até que o setor desejado posicione sobre o mecanismo de leitura / gravação. • Tempo de Transferência: Tempo necessário transferir o bloco da MP para o setor do disco. Sistemas Operacionais para 17 Redundância e Proteção de Dados Na década de 80, os pesquisadores desenvolveram técnicas de gerenciamento de disco para otimizar as operações de E/S e implementar redundância e proteção de Dados conhecidos como RAID (Redundant Arrays of Inexpensive Disk). • Uma característica da técnica de RAID é a criação de um dispositivo virtual, o Array de Discos. • Consiste em um grupo de discos físicos que são tratados pelo SO como um único disco, trazendo mais capacidade de armazenamento, maior desempenho e confiabilidade nos dados armazenados. • As técnicas de Raid estão distribuídas em 6 níveis (1-6) e um novo nível foi introduzido denominado RAID 0. Detalhamento dos níveis foram abordados na disciplina de Organização e Arquitetura de Computadores. Sistemas Operacionais 18 Redundância e Proteção de Dados Dentre as técnicas de RAID temos: • RAID 0 (Striping) Que distribui as operações de E/S entre diversos discos físicos visando aumento de desempenho, • RAID 1 (Espelhamento / Mirroring) Que replica todo o conteúdo do disco principal, chamado de primário em discos secundários; • RAID 5 (Acesso Independente com Paridade Distribuída) Distribui dados entre os discos do array e implementar redundância baseada em paridade, requerendo espaço adicional menor para ser implementada. Sistemas Operacionais 19 Figura 7 – Níveis do RAID RAID O RAID 1 RAID 5 Sistemas Operacionais 20 Exercícios 1) Qual é a função do Subsistema de E/S para o SO? 2) Em qual aspecto, a System Calls é importante no acesso ao Subsistema de E/S? 3) Diferencie Operações Síncronas e Assíncronas. 4) Descreva a função dos Devices Drivers. 5) O Controlador é responsável por_______________ complete a frase. 6) A técnica de DMA facilita em que a execução dos Controladores? 7) No que consiste os Dispositivos Estruturados? 8) "O tempo utilizado pela leitura e gravação de dados em um disco está em função de 3 fatores". Explique-os. 9) Como a tecnologia RAID trabalha? Sistemas Operacionais 21