2012-07-17
07/17 星系主題:探討第三代 microkernel + hypervisor (microhypervisor) by Jserv
報名網址:http://registrano.com/events/d39369
hypervisor.org
簽到
sting@itri.org.tw
jserv
Ben6
C.C. Huang 黃呈章 cc.huang@jorjin.com.tw
Y. Chao
Kito Cheng
Anndy
tomjpsun
Definition Kernel
- Monolithic Kernel
- Micro kernel
Key Man: Liedtke
--> 1993 year : L4
= Concepts =
Tasks
- Represnet domain of protection and isolation
3 management operations
- Map/Unmap
- Grant
- Flush
Performance bottleneck of Mach due to IPC
MAP Reference
- 對應到硬體的Paging 來提高效能
Security:
ACL control --> Capability Based
Recursive Address Space
1995 "優雅的設計"
Memory allocation is users' responsibility
Bug-free kernel?
http://www.linuxfordevices.com/c/a/News/NICTA-sel4-OK-Labs-OKL4/
一個很大的突破:把資源抽象化為cabilities
cability table / cability handler
Everything is a cability
seL4
- Revised IPC
- AsyncEP
interrupt object
Asynchronous (功耗較小)
* avoid blocking
* receiver can poll and wait
okL4 source code download link:
- http://wiki.ok-labs.com/Release/3.0
VM -- ( VM Exit ) --> Hypervisor
Hypervisor -- ( VM Entry ) --> VM
VMCS for Guest OS <-> Hypervisor switching (similar to context switching?)
NOVA Hypervisor
- 9000 LOC for MicroHypervisor
- http://os.inf.tu-dresden.de/~us15/nova/
L4Ka -> FIASCO -> FIASCO.OC
- http://os.inf.tu-dresden.de/L4/
- http://os.inf.tu-dresden.de/fiasco/
The NOVA Microhypervisor 簡報:
http://os.inf.tu-dresden.de/Studium/MkK/SS2012/10_nova.pdf
簡報與code實作是完全一致的。 (令人非常感動啊!)
Source Code
https://github.com/IntelLabs/NOVA
- Entry of NOVA code reading: ioapic.cpp
use kernel object to seach code
ex: tss.cpp, vmm.cpp
GPU 還沒有做出
L4Re -- POSIX Driver
NOVA debuging by L4ka
- NICTA
SDR : Software Defined Radio
ARM
big.Little viedeo for introduction
Linaro
- QEMU ARM fast-modeling
- cortex-a15 + a9/a7
ARM virtualiz(s)er
x86 Virtualization種類:
- Software-only VMMs
- Binary translation
- Paravirtualization
- Device Emulation
- Hardware-assisted Virtualization
- Processor Focus
- http://download.intel.com/technology/itj/2006/v10i3/v10-i3-art01.pdf
- Intel VT-x for intel IA-32 and Intel 64
- (Intel VT-i for intel Itanium )
- AMD-V for AMD CPU
- 補充:Nested Paging
- http://phorum.study-area.org/index.php?topic=51292.0
- http://developer.amd.com/assets/NPT-WP-1%201-final-TM.pdf
- I/O Virtualization
- http://download.intel.com/technology/itj/2006/v10i3/v10-i3-art02.pdf
- Intel VT-d, VT-c
- AMD-Vi (IOMMU)
- 補充:GPU direct access from guest OS (graphic performance will be improved significantly. )
- Xen: http://wiki.xen.org/wiki/XenVGAPassthrough
- http://www.overclock.net/t/1200725/vt-d-is-your-friend-a-success-in-passthrough-to-xen-hvms
- KVM: http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM
- Reference:
- Intel Virtualization Technology Roadmap and VT-d Support in Xen
- http://xen.org/files/xensummit_4/VT_roadmap_d_Nakajima.pdf
- Intel Virtualization Technology Overview
- http://fsa.ia.ac.cn/files/VT-Talk-CAS.pdf