I recently came across an interesting opinion paper that posits – modern VMMs are microkernels done right. Its a bit dated but a good read nonetheless. I couldn’t help but disagree with some parts of their claims. In all honesty, comparing VMMs to microkernels doesn’t feel like an apples to apples comparison. I am summing up my thoughts for your instructive criticism. Avoid Liability Inversion Their claim about microkernels having performance problems because of page evictions by user-space pagers is correct for the most part.
In 1983, Butler Lampson published a landmark paper about Hints of Computer System Design. As a practitioner and a student of distributed systems design, I find it immensely insightful and I habitually go back and re-read this paper every few months. In this post I’ll try and summarize some of the learnings from this paper that I’ve gained over the years. Prerequisite Before jumping into system design, think hard about what is it that you are trying to accomplish?