<story><title>It’s Time for a Modern Synthesis Kernel</title><url>https://blog.regehr.org/archives/1676</url></story><parent_chain></parent_chain><comment><author>cogman10</author><text>Honestly, seems like a big waste of time to me.  Generating the code wouldn&amp;#x27;t be free, so you pay for that.  IO, generally, is fairly expensive, so you are now weighing the costs of IO against the savings in instructions&amp;#x2F;reduced branches. So where are the savings?  OS level mutexes?&lt;p&gt;Basically all of the modern CPUs are going to do a really good job at optimizing away most of the checks cooked into the code  Modern CPUs are really good at seeing &amp;quot;99% of the time, you take this branch&amp;quot; and &amp;quot;these 8 instructions can be ran at the same time&amp;quot;.&lt;p&gt;What they can&amp;#x27;t optimize away is accessing data off CPU.  The speed of light is a killer here.  In the best case, you are talking about ~1000 cycles if you hit main memory and way more if you talk to the disk (even an SSD).  You can run down a ton of branches and run a bunch of code in the period of time you sit around waiting for data to arrive.&lt;p&gt;This wasn&amp;#x27;t true in 1992 when CPUs ran in the Mhz.  But we are long past that phase.&lt;p&gt;About the only place this would seem to be applicable is in embedded systems looking to squeeze out performance while decreasing power usage.  Otherwise, feels like a waste for anything with a Rasberry pi CPU.</text></comment>
<story><title>It’s Time for a Modern Synthesis Kernel</title><url>https://blog.regehr.org/archives/1676</url></story><parent_chain></parent_chain><comment><author>monocasa</author><text>Neat!  My main side project takes exactly the same base idea, that we need a synthesis v2.&lt;p&gt;The big question is &amp;quot;what have we learned in the past thirty years of OS design that&amp;#x27;s applicable?&amp;quot;  Capabilities are amazing in this context is the big one; if you squint synthesis quajects and capability objects line up in semantics pretty well.  I&amp;#x27;d argue that xok would be a lot cleaner if they had a central VM concept instead of the three or so seperate kernel VMs.</text></comment>