目录:
定义-I / O请求是什么意思?
I / O请求数据包是内核模式结构,用于Windows驱动器模型和Windows NT设备驱动程序之间以及与Windows操作系统之间的通信。 所有数据细节都通过单个指针传递给数据结构,而不是遵循传输许多小数据参数的旧约定。 使这些I / O请求通过许多不同的处理阶段。 这些阶段取决于请求的性质,无论是针对单层驱动器还是多层驱动器的目标设备。
Techopedia解释了I / O请求
I / O请求数据包基本上用于设备驱动程序和操作系统之间的通信。 它允许特定进程不受阻碍并完全执行。
在第一步中,启动一个过程,该过程在先前使用的文件的文件描述符上发出阻止读取。 操作系统或内核的代码具有系统调用代码,可用于检查参数的准确性。 如果缓冲区高速缓存中已经有数据,则返回数据并完成请求。 在缓冲区高速缓存中找不到数据的情况下,将执行物理I / O。 这样可以确保将流程从运行队列中删除并放置在等待队列中。 此后,设备驱动程序通过I / O子系统接收请求。 然后由设备驱动程序决定是否为传入数据腾出空间并安排I / O。 然后,设备控制器在设备硬件上工作以执行数据传输过程。 DMA控制器管理和操作数据到内核内存的传输。 传输完成后,这将创建一个中断,该中断将由中断处理程序通过中断向量表接收。 它扫描数据以获取重要信息,然后返回中断。 然后,该信号由设备驱动程序接收,设备驱动程序完成请求并确定请求的状态。 最后,由内核决定将进程从等待队列中移到就绪队列中,然后将数据传输到地址空间。 此步骤将阻止该过程。 因此,现在,将进程分配给CPU后,它将恢复工作并完成。
