Replies: 3 comments 2 replies
-
You may want to take a look at one of our recent academic papers. |
Beta Was this translation helpful? Give feedback.
-
@fangkaix So the short answer is that from a 30000-foot view they are both static partitioning hypervisors providing the same functionality. Nevertheless, despite Bao being inspired by Jailhouse and following the static partitioning idea, they are completely separate implementations. The main difference between the two is that Jailhouse requires the Linux privileged "root cell" to boot and launch the other cells, while Bao is self-sufficient and has no privileged guests and boots directly after the boot loader. While it allows it to be more dynamic (starting, pausing, or stopping new cells while the system is running), this comes with the big downside of a larger system TCB and boot times. Also, you must always have that Linux guest while you can have a configuration in Bao without any Linux guest. There is also a difference in the platforms and architecture supported. Both Bao and Jailhouse support Arm-A, but only Bao supports Armv8-R; both support RISC-V (still not upstream for Jailhouse I believe), and only Jailhouse supports x86/64 systems. As mentioned in the paper Sandro references above, you will find other small differences regarding performance, latencies, and in the features provided (e.g. inter-vm communication is implemented differently, providing different nterfaces and capabilities). |
Beta Was this translation helpful? Give feedback.
-
Closing this discussion. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
All reactions