How does the operating system post io completion messages for async io

tcb

IO completion ports need to be signaled when async IO completes. This can be done by the user manually calling PostQueuedCompletionStatus or the OS automatically doing this when async IO completes. How does the OS automatically do this and on which thread? How exactly does the communication between the disk drive and the OS work in this scenario?

I tried setting a breakpoint on PostQueuedCompletionStatus in visual studio when debugging a call to FileStream.ReadAsync, but that was never hit.

tcb

As Harry pointed out, the queuing of IO completion events is handled by the windows kernel. When IO completes, the disk sends an interrupt that is handled by the OS. The OS handler presumably enqueues the completion message to the appropriate IOCP.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

How does the operating system post io completion messages for async io

From Dev

How to reregister for IO Completion ports for a handle

From Dev

SQL backup "Operating System error 13", system.Io.error

From Dev

How does IO monad work in System.Random

From Dev

IO Completion Ports (IOCP)

From Dev

Enabling Asynchronous IO at HP-UX Operating System

From Dev

How does scope work in Io?

From Dev

How do Async IO Coroutines get executed?

From Dev

How does bash get commands into the operating system?

From Dev

How does a network port work?(operating system)

From Dev

How does design in an operating system work?

From Dev

How does Chrome detect the operating system

From Dev

How does Linux operating system shut down?

From Dev

How does the operating system manage processes

From Dev

IO Completion port Linux equivalent

From Dev

IO Completion Ports and socket send()

From Dev

IO Completion Ports and socket WSARecv()

From Dev

Business logic in IO completion Port

From Dev

IO Completion Ports and OVERLAPPED management

From Dev

IO Completion port Linux equivalent

From Dev

IO Completion Ports and socket send()

From Dev

IO Completion Ports and socket WSARecv()

From Dev

How does telepat.io work? Architecture of telepat.io

From Dev

How to resolve this System.IO.FileNotFoundException

From Dev

How to resolve this System.IO.FileNotFoundException

From Dev

How to avoid this `System.IO.IOException`

From Dev

System does not boot to operating system

From Dev

How can I send socket.io messages to mongodb

From Dev

How to get IO error messages when creating a file in C++?