[WEBINAR] Application Acceleration: Faster Performance for End Users

I/O Request

Definition - 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.

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.

Techopedia Deals

Connect with us

Techopedia on Linkedin
Techopedia on Linkedin
"Techopedia" on Twitter

Sign up for Techopedia's Free Newsletter!

Email Newsletter

Join thousands of others with our weekly newsletter

Free Whitepaper: The Path to Hybrid Cloud
Free Whitepaper: The Path to Hybrid Cloud:
The Path to Hybrid Cloud: Intelligent Bursting To Amazon Web Services & Microsoft Azure
Free E-Book: Public Cloud Guide
Free E-Book: Public Cloud Guide:
This white paper is for leaders of Operations, Engineering, or Infrastructure teams who are creating or executing an IT roadmap.
Free Tool: Virtual Health Monitor
Free Tool: Virtual Health Monitor:
Virtual Health Monitor is a free virtualization monitoring and reporting tool for VMware, Hyper-V, RHEV, and XenServer environments.
Free 30 Day Trial – Turbonomic
Free 30 Day Trial – Turbonomic:
Turbonomic delivers an autonomic platform where virtual and cloud environments self-manage in real-time to assure application performance.