Tangentially:<p>I've begun to suspect that soon we will see a new era of operating systems due to the wide proliferation of virtual machines. Since so many things are running in VMs these days, and since most VM software provides a standardized/simplified view of peripherals, it is an area that would seem ripe for re-specialization.<p>Why have an operating system that only runs one app of importance have codepaths and resources dedicated to super-efficient forking? Why not have a network stack optimized for what is essentially routing (think http proxies or queue servers)? Why not an operating system with an FS focused on record storage and record searching (databases of most variety)? Actor model built into a distributed operating system -- sure, seems reasonable, and fairly straight-forward, and more efficient than throwing a runtime on top of the OS to redo a bunch of stuff, or get around it.<p>One of the big problems of operating systems was always getting enough people to use them on the wildly varying hardware to really justify good portability... VMs seem to help reduce that.