Unikernel

A unikernel is a type of computer program that is statically linked with the operating system code on which it depends.

Therefore, a library OS can provide improved performance by allowing direct access to hardware without having to transition between user mode and kernel mode (on a traditional kernel this transition consists of a single TRAP instruction[2] and is not the same as a context switch[3]).

Since hardware is rapidly changing this creates the burden of regularly rewriting drivers to remain up to date.

[7] Due to the nature of their construction, it is possible to perform whole-system optimisation across device drivers and application logic, thus improving on the specialisation.

[8][9][10] For example, off-the-shelf applications such as nginx, SQLite, and Redis running over a unikernel have shown a 1.7x-2.7x performance improvement.

Comparison of a traditional OS stack and a MirageOS unikernel