3 ms·
Can you be more specific about how POSIX is more advanced than Windows (NT kernel)? Or a primitive it offers that NT doesn’t? Examples? Windows provides most (
by jcrites 4y ago
Can you be more specific about how POSIX is more advanced than Windows (NT kernel)? Or a primitive it offers that NT doesn’t? Examples?
Windows provides most (all?) of the same mechanisms, and a number that POSIX does not.
https://learn.microsoft.com/en-us/windows/win32/ipc/interprocess-communications https://learn.microsoft.com/en-us/windows/win32/ipc/interpro...
Example Windows concepts that Unix doesn’t have (AFAIK):
Transactions on named pipes (request/response): https://learn.microsoft.com/en-us/windows/win32/ipc/transactions-on-named-pipes https://learn.microsoft.com/en-us/windows/win32/ipc/transact...
Parents can control which handles child processes inherit: https://learn.microsoft.com/en-us/windows/win32/ipc/pipe-handle-inheritance?source=recommendations https://learn.microsoft.com/en-us/windows/win32/ipc/pipe-han...
Remote Procedure Call (RPC) IPC: https://learn.microsoft.com/en-us/windows/win32/ipc/interprocess-communications#using-rpc-for-ipc https://learn.microsoft.com/en-us/windows/win32/ipc/interpro...
ACL-based permissions on objects that kernel APIs operate on, including pipes. (ACLs are a much more sensible way of specifying permissions on resources than owner/group). https://learn.microsoft.com/en-us/windows/desktop/SecAuthZ/access-control-model https://learn.microsoft.com/en-us/windows/desktop/SecAuthZ/a...
Since windowing is built into the NT kernel, it also has support for powerful clipboard operations as one crucial type of IPC in a graphical environment (see 1st link).
Windows I/O Completion Ports (IOCP) also provide a high-performance way to implement kernel-managed asynchronous I/O operations which has no parallel in POSIX: https://learn.microsoft.com/en-us/windows/win32/fileio/i-o-completion-ports https://learn.microsoft.com/en-us/windows/win32/fileio/i-o-c...
I’ve been developing professionally on Linux for >15 years, and while I do like its simple aesthetic, the consistency and power of NT kernel APIs are something I miss.