4 ms·
> the author also mentions that file IO isn't async And the best part is that NT kernel was always async… Linux is actually kind of special in that it was prim
by baq 2y ago
> the author also mentions that file IO isn't async
And the best part is that NT kernel was always async… Linux is actually kind of special in that it was primarily sync.
- tankenmate 2y agoThe Linux kernel isn't "primarily" sync, the kernel itself has been almost entirely async except for some small parts, like the bottom half of interrupt handlers which can't be pre-empted. Even in the early days of Linux the scheduler was pre-emptive and used "wait channels" create a synchronous interface for the asynchronous kernel. In the early days of Linux, if a process was in kernel mode then it couldn't be pre-empted until it returned to user mode, but this is no longer the case, and with PREEMPT_RT this is even the case for RT processes /kernel tasks. Now, the POSIX API is largely synchronous, but this is mainly because of the history of UNIX (and Multics before it).