I/O Request

Why Trust Techopedia

What Does I/O Request Mean?

I/O request packets are kernel mode structures used for communication between the Windows Drive Model and Windows NT device drivers as well as with the Windows operating system. All the data details are passed on to the data structure via the single pointer, instead of following the old convention of transporting many small data arguments. These I/O requests are made to pass through many different processing stages. These stages are determined by the nature of the request, whether it is meant for the target device for a single-layered driver or a multilayered drive.

Advertisements

Techopedia Explains I/O Request

I/O request packets are basically used for communications between the device drivers and the operating system. It allows a particular process to get unblocked and be completely executed.

In the first step, a process is initiated that issues a blocking read on the file descriptor of a previously used file. The code of the operating system or the kernel has a system-call code that works towards checking the accuracy of the parameters. If the buffer cache already has the data, then the data is returned and the request is completed. In the situation that the data is not found in the buffer cache, a physical I/O is performed. This ensures that the process is removed from the run queue and placed in the wait queue. Thereafter, the device driver receives the request through the I/O subsystem. It is up to the device driver then to make space for the incoming data and schedule I/O. The device controller then works on the device hardware to carry out the process of data transfer. The DMA controller manages and operates the transfer of data to the kernel memory. When the transfer is finished, this creates an interrupt which is received by an interrupt handler through the interrupt-vector table. It scans the data for important information and then returns the interrupt. This signal is then received by the device driver, which completes the request and also determines the status of the request. Lastly, it is up to the kernel to remove the process from the wait queue into the ready queue and the data is transferred to the address space. This step unblocks the process. So now, when the process is assigned to the CPU, it resumes work and is completed.

Advertisements

Related Terms

Margaret Rouse
Technology Expert
Margaret Rouse
Technology Expert

Margaret é uma premiada redatora e professora conhecida por sua habilidade de explicar assuntos técnicos complexos para um público empresarial não técnico. Nos últimos vinte anos, suas definições de TI foram publicadas pela Que em uma enciclopédia de termos tecnológicos e citadas em artigos do New York Times, Time Magazine, USA Today, ZDNet, PC Magazine e Discovery Magazine. Ela ingressou na Techopedia em 2011. A ideia de Margaret de um dia divertido é ajudar os profissionais de TI e de negócios a aprenderem a falar os idiomas altamente especializados uns dos outros.