Índice:
Definição - O que significa Pedido de E / S?
Pacotes de solicitação de E / S são estruturas no modo kernel usadas para comunicação entre o Windows Drive Model e os drivers de dispositivo do Windows NT, bem como com o sistema operacional Windows. Todos os detalhes dos dados são transmitidos para a estrutura de dados por meio do ponteiro único, em vez de seguir a convenção antiga de transportar muitos argumentos de dados pequenos. Essas solicitações de E / S são feitas para passar por muitos estágios de processamento diferentes. Esses estágios são determinados pela natureza da solicitação, seja para o dispositivo de destino de um driver de camada única ou de uma unidade de várias camadas.
Techopedia explica solicitação de E / S
Os pacotes de solicitação de E / S são basicamente usados para comunicações entre os drivers de dispositivo e o sistema operacional. Ele permite que um processo específico seja desbloqueado e seja completamente executado.
Na primeira etapa, é iniciado um processo que emite uma leitura de bloqueio no descritor de arquivo de um arquivo usado anteriormente. O código do sistema operacional ou do kernel possui um código de chamada do sistema que trabalha para verificar a precisão dos parâmetros. Se o cache do buffer já tiver os dados, os dados serão retornados e a solicitação será concluída. Na situação em que os dados não são encontrados no cache do buffer, uma E / S física é executada. Isso garante que o processo seja removido da fila de execução e colocado na fila de espera. Posteriormente, o driver do dispositivo recebe a solicitação através do subsistema de E / S. Cabe ao driver do dispositivo, então, liberar espaço para os dados recebidos e agendar E / S. O controlador do dispositivo trabalha no hardware do dispositivo para executar o processo de transferência de dados. O controlador DMA gerencia e opera a transferência de dados para a memória do kernel. Quando a transferência é concluída, isso cria uma interrupção que é recebida por um manipulador de interrupções através da tabela de vetores de interrupção. Ele verifica os dados em busca de informações importantes e retorna a interrupção. Esse sinal é então recebido pelo driver do dispositivo, que completa a solicitação e também determina o status da solicitação. Por fim, cabe ao kernel remover o processo da fila de espera para a fila pronta e os dados são transferidos para o espaço de endereço. Esta etapa desbloqueia o processo. Portanto, agora, quando o processo é atribuído à CPU, ele retoma o trabalho e é concluído.