Subsistema de E / S do kernel no sistema operacional
Pré-requisito - Microkernel
O kernel fornece muitos serviços relacionados a E / S. Vários serviços, como agendamento, armazenamento em cache, spool, reserva de dispositivo e tratamento de erros, são fornecidos pelo subsistema de E / S do kernel construído na infraestrutura de hardware e driver de dispositivo. O subsistema de E / S também é responsável por se proteger de processos errôneos e usuários mal-intencionados.
- Agendamento de I / O -
Agendar um conjunto de requests de E / S significa determinar uma boa ordem para executá-los. A ordem em que o aplicativo emite a chamada do sistema é a melhor escolha. O agendamento pode melhorar o desempenho geral do sistema, pode compartilhar a permissão de acesso do dispositivo de maneira justa a todos os processos, reduzir o tempo médio de espera, o tempo de resposta e o tempo de retorno para a conclusão da E / S.Os desenvolvedores de sistemas operacionais implementam programações mantendo uma fila de espera da solicitação para cada dispositivo. Quando um aplicativo emite uma chamada de sistema de E / S de bloqueio, a solicitação é colocada na fila para esse dispositivo. O agendador de E / S reorganiza a ordem para melhorar a eficiência do sistema.
- Buffer -
Um buffer é uma área da memória que armazena dados sendo transferidos entre dois dispositivos ou entre um dispositivo e um aplicativo. O armazenamento em buffer é feito por três motivos.- A primeira é lidar com uma incompatibilidade de velocidade entre o produtor e o consumidor de um fluxo de dados.
- O segundo uso do buffer é fornecer adaptação para dados que têm tamanhos de transferência de dados diferentes.
- O terceiro uso do buffer é suportar a semântica de cópia para a E / S do aplicativo, “semântica de cópia” significa, suponha que um aplicativo queira gravar dados em um disco que está armazenado em seu buffer. ele chama a chamada do sistema write() , fornecendo um ponteiro para o buffer e o inteiro especificando o número de bytes a serem gravados.
- A primeira é lidar com uma incompatibilidade de velocidade entre o produtor e o consumidor de um fluxo de dados.
- Cache -
um cache é uma região de memória rápida que armazena uma cópia dos dados. O acesso à cópia em cache é muito mais fácil do que o arquivo original. Por exemplo, a instrução do processo atualmente em execução é armazenada no disco, armazenada em cache na memória física e copiada novamente no cache secundário e primário da CPU.A principal diferença entre um buffer e um cache é que um buffer pode conter apenas a cópia existente de um item de dados, enquanto um cache, por definição, mantém uma cópia no armazenamento mais rápido de um item que reside em outro lugar.
- Spool e reserva de dispositivo -
Um spool é um buffer que contém a saída de um dispositivo, como uma impressora que não pode aceitar fluxos de dados intercalados. Embora uma impressora possa atender a apenas um trabalho por vez, vários aplicativos podem desejar imprimir suas saídas simultaneamente, sem que suas saídas se misturem.O sistema operacional resolve esse problema, impedindo que todas as saídas continuem para a impressora. A saída de todos os aplicativos é armazenada em spool em um arquivo de disco separado. Quando um aplicativo termina de imprimir, o sistema de spool enfileira o arquivo de spool correspondente para enviar para a impressora.
- Tratamento de erros -
um sistema operacional que usa memória protegida pode proteger contra muitos tipos de erros de hardware e aplicativo, de modo que uma falha completa do sistema não seja o resultado normal de cada pequena falha mecânica. Dispositivos e transferências de E / S podem falhar de várias maneiras. por motivos transitórios, como quando uma rede fica sobrecarregada ou por motivos permanentes, como quando um controlador de disco fica com defeito. - Proteção I / O -
erros e a questão da proteção estão intimamente relacionados. Um processo do usuário pode tentar emitir instruções de E / S ilegais para interromper o funcionamento normal de um sistema. Podemos usar os vários mecanismos para garantir que tal interrupção não ocorra no sistema.Para evitar o acesso ilegal de E / S, definimos todas as instruções de E / S como instruções privilegiadas. O usuário não pode emitir instruções de E / S diretamente.
Aprenda todos os conceitos do GATE CS com aulas gratuitas ao vivo em nosso canal do youtube.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva