mumu is a hobby hypervisor-ish. mumu can be a good resource to learn virtualization, hypervisors and KVM right now. In the future, who knows, it may become a real hypervisor.
o o
o
o ______ o
_/ ( \_
_ _/ ( \_ O
| \_ _/ ( ( 0 \
|== \_/ ( ( |
|=== _ ( ( ( |
|==_/ \_ ( ( |
|_/ \_ ( ( \__/
\_ ( _/
| |___/
/__/
_ __ ___ _ _ _ __ ___ _ _
| '_ ` _ \| | | | '_ ` _ \| | | |
| | | | | | |_| | | | | | | |_| |
|_| |_| |_|\__,_|_| |_| |_|\__,_|
- can run multiple vms
- static scheduler
- multicore support
- can run 64bit x86 assembly and C programs
- serial console implementation
- static configuration through xml file
- shared memory with sampling port implementation
it's very easy to run virtual machines under mumu.
- Create partition vm.
cd examples/vm/hello_world
make
- Run mumu
cd examples/mumu
g++ helloworld.cpp -lpthread
./a.out
- Output:
KVM version 12
vcpu init success
vm created
Testing 64-bit mode
core: 0 140737341830912
CPU init with id: 462474 core: 0
id: 462474 core: 0 id: 0 data: H
id: 462474 core: 0 id: 0 data: e
id: 462474 core: 0 id: 0 data: l
id: 462474 core: 0 id: 0 data: l
id: 462474 core: 0 id: 0 data: o
id: 462474 core: 0 id: 0 data:
id: 462474 core: 0 id: 0 data: W
id: 462474 core: 0 id: 0 data: o
id: 462474 core: 0 id: 0 data: r
id: 462474 core: 0 id: 0 data: l
id: 462474 core: 0 id: 0 data: d
id: 462474 core: 0 id: 0 data:
halted