Expand description
Asynchronous I/O subsystem.
Provides shared ring buffers (SQ/CQ) for zero-copy I/O submission and completion between userspace and kernel.
§Status
- IMPLEMENTED : ring buffer, dispatch (Nop/VFS/IPC/Storage), AHCI IRQ => CQE bridge. See GitLab issue for details.
§TODO
Read/WriteVFS: switch from synchronous (blocking scheme::read) to truly async via theAsyncSchemetraitOpen/Close/Stat: implement dispatch handlersIpcCall: implement combined send+recvPollAdd/PollRemove: epoll-like supportTimeout/TimeoutRemove: async timerAccept/Connect: async networkingCancel: implement actual cancellation of in-flight ops- Efficient blocking: use
ring.wq.wait_until()instead ofyield_task()inSYS_ASYNC_ENTER - Multi-slot AHCI (queue depth > 1 per port)
- Userspace runtime (
libasync) + Rust async/await compatibility - Safety audit (IRQ-safety of SpinLocks, stack overflow)
Tracking : https://git.strat9-os.org/strat9-os/strat9-os/-/issues/53