3 ms·
The bigger issue is that no OS was designed for expansive and flexible async functionality. The implementations reflect practical limitations of remaining compa
by jandrewrogers 2y ago
The bigger issue is that no OS was designed for expansive and flexible async functionality. The implementations reflect practical limitations of remaining compatible with the rest of the guarantees the kernel makes. I would love a portable standard, I’ve been doing async for a long time and I would benefit greatly, but I also understand why it hasn’t happened.
A good standard would likely require every OS to materially redesign its internals in a way that would have backward compatibility issues for the other users of the system. I am not against the idea since I would clearly benefit personally, but I understand why the tradeoffs make it unlikely to happen.
Even going from io_submit to io_uring just on Linux changes the way you need to architect your software, aside from API changes, and that is the same kernel. It deeply touches the behavior of the system.
- p_ing 2y ago> The bigger issue is that no OS was designed for expansive and flexible async functionality. The NT kernel was designed in this very way. All I/O in the NT kernel is async. It was one of the design principles.