<story><title>Windows NT vs. Unix: A design comparison</title><url>https://blogsystem5.substack.com/p/windows-nt-vs-unix-design</url></story><parent_chain><item><author>nullindividual</author><text>There&amp;#x27;s a large debate whether a &amp;#x27;hybrid&amp;#x27; kernel is an actual thing, and&amp;#x2F;or whether NT is just a monolithic kernel.&lt;p&gt;The processes section should be expanded upon. The NT kernel doesn&amp;#x27;t execute processes, it executes _threads_. Threads can be created in a few milliseconds where as noted, processes are heavy weight; essentially the opposite of Unicies. This is a big distinction.&lt;p&gt;io_uring would be the first true non-blocking async I&amp;#x2F;O implementation on Unicies.&lt;p&gt;It should also be noted that while NT as a product is much newer than Unicies, it&amp;#x27;s history is rooted in VMS fundamentals thanks to it&amp;#x27;s core team of ex-Digital devs lead by David Cutler. This pulls back that &amp;#x27;feature history&amp;#x27; by a decade or more. Still not as old as UNIX, but &amp;quot;old enough&amp;quot;, one could argue.&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;stackoverflow.com&amp;#x2F;questions&amp;#x2F;8768083&amp;#x2F;difference-between-posix-aio-and-libaio-on-linux&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;stackoverflow.com&amp;#x2F;questions&amp;#x2F;8768083&amp;#x2F;difference-betwe...&lt;/a&gt;</text></item></parent_chain><comment><author>emily-c</author><text>Before VMS there was the family of RSX-11 operating systems which also had ASTs (now called APCs in NT parlance), IRPs, etc. Dave Cutler led the RSX-11M variant which significantly influenced VMS. The various concepts and design styles of the DEC family of operating systems that culminated in NT goes back to the 1960s.&lt;p&gt;It&amp;#x27;s sad that the article didn&amp;#x27;t mention VMS or MICA since NT didn&amp;#x27;t magically appear out of the void two years after Microsoft hired the NT team. MICA was being designed for years at DEC West as part of the PRISM project.</text></comment>
<story><title>Windows NT vs. Unix: A design comparison</title><url>https://blogsystem5.substack.com/p/windows-nt-vs-unix-design</url></story><parent_chain><item><author>nullindividual</author><text>There&amp;#x27;s a large debate whether a &amp;#x27;hybrid&amp;#x27; kernel is an actual thing, and&amp;#x2F;or whether NT is just a monolithic kernel.&lt;p&gt;The processes section should be expanded upon. The NT kernel doesn&amp;#x27;t execute processes, it executes _threads_. Threads can be created in a few milliseconds where as noted, processes are heavy weight; essentially the opposite of Unicies. This is a big distinction.&lt;p&gt;io_uring would be the first true non-blocking async I&amp;#x2F;O implementation on Unicies.&lt;p&gt;It should also be noted that while NT as a product is much newer than Unicies, it&amp;#x27;s history is rooted in VMS fundamentals thanks to it&amp;#x27;s core team of ex-Digital devs lead by David Cutler. This pulls back that &amp;#x27;feature history&amp;#x27; by a decade or more. Still not as old as UNIX, but &amp;quot;old enough&amp;quot;, one could argue.&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;stackoverflow.com&amp;#x2F;questions&amp;#x2F;8768083&amp;#x2F;difference-between-posix-aio-and-libaio-on-linux&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;stackoverflow.com&amp;#x2F;questions&amp;#x2F;8768083&amp;#x2F;difference-betwe...&lt;/a&gt;</text></item></parent_chain><comment><author>mananaysiempre</author><text>&amp;gt; io_uring would be the first true non-blocking async I&amp;#x2F;O implementation on Unices.&lt;p&gt;I would agree with that statement in isolation, except by that standard (no need for a syscall per operation) the first “true” asynchronous I&amp;#x2F;O API on NT would be I&amp;#x2F;O ring (2021), a very close copy of io_uring. (Registered I&amp;#x2F;O, introduced in Windows 8, does not qualify because it only works on sockets.) The original NT API is absolutely in the same class as the FreeBSD and Solaris ones, it’s just that Linux didn’t have a satisfactory one for a long long time.</text></comment>