Pedido i / o

Definição - O que significa Solicitação de E / S?

Os pacotes de solicitação de E / S são estruturas de 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 passados ​​para a estrutura de dados por meio de um único ponteiro, em vez de seguir a antiga convenção de transportar muitos pequenos argumentos de dados. Essas solicitações de E / S são feitas para passar por vários estágios de processamento diferentes. Esses estágios são determinados pela natureza da solicitação, seja ela destinada ao dispositivo de destino para um driver de camada única ou uma unidade de várias camadas.

Definirtec explica a solicitação de I / O

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 determinado processo seja desbloqueado e executado completamente.

Na primeira etapa, é iniciado um processo que emite um bloqueio de leitura no descritor de um arquivo usado anteriormente. O código do sistema operacional ou kernel possui um código de chamada do sistema que funciona no sentido de verificar a precisão dos parâmetros. Se o cache do buffer já tiver os dados, eles 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. Depois disso, o driver de dispositivo recebe a solicitação por meio do subsistema de E / S. Cabe ao driver de dispositivo, então, liberar espaço para os dados de entrada e agendar E / S. O controlador do dispositivo, então, trabalha no hardware do dispositivo para realizar 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 tratador de interrupção por meio da tabela de vetor de interrupção. Ele verifica os dados em busca de informações importantes e, em seguida, retorna a interrupção. Esse sinal é então recebido pelo driver do dispositivo, que conclui a solicitação e também determina o status da solicitação. Por último, cabe ao kernel remover o processo da fila de espera para a fila de prontidão 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.