Should look at systems of the past for inspiration on that. Remember that old systems couldn&#x27;t waste MB on stuff. So, they got clever. Hansen&#x27;s Solo had 4KB trusted kernel with whole OS being 21Kloc of readable Pascal with total image size of 110KB. That includes kernel, filesystem, I&#x2F;O, editor, and two compilers. Result was type-safe, mostly memory-safe, and concurrency-safe (deadlock &amp; race condition free specifically). People could copy and update old approaches like that for OS side of things then they don&#x27;t even need a unikernel. ;)<p>Now, wanting strong separation mechanisms and so on would complicate things. The old security kernels, like STOP OS and GEMSOS, used MMU&#x27;s, segments, MAC policies, covert channel suppression... you name it. STOP was still only 21,000 Kloc in total:<p><a href="http:&#x2F;&#x2F;www.cse.psu.edu&#x2F;~trj1&#x2F;cse544-s10&#x2F;slides&#x2F;cse544-lec9-10-security-kernel.pdf" rel="nofollow">http:&#x2F;&#x2F;www.cse.psu.edu&#x2F;~trj1&#x2F;cse544-s10&#x2F;slides&#x2F;cse544-lec9-1...</a><p>So, monolithic or micro-kernel route, you can get things way smaller at the foundation than what we use today. Add basic TCP&#x2F;IP stack, Ethernet driver, and runtime it should still be way smaller than 693K unless that&#x27;s tons of error or security handling code to increase robustness.