manyOSany conception NetSys GmbH Basic ideas and system architecture
Presentation plan manyOSany general architecture manyOSany Micro Operating System manyOSany VM host - VM host architecture - virtualization technique PREC VGA component VM resource server Remote PC client software
manyOSany general architecture Remote PC manyOSany VM hosts VM resource server VMs database VMs data... authorization Remote PC mouse/keyboard events video/sound data VMs data... Disks array
manyOSany Micro Operating System PREC VGA card Hardware Drivers IO devices PREC VGA card driver IO device drivers OS API, TCP/IP, HTTP protocols Kernel Memory manager Task manager VM manager IO subsystem Multiprocessor support module
VM host architecture Guest OS Exceptions Ring 0 Ring 3 Hardware emulation x86 emulation VM monitor Host address spaceGuest address space Micro OS API calls Real hardware PREC VGA card Direct access
Virtualization technique - Adding special mode for AMD processor. In this mode all privileged instructions should cause an exception when running on 3-rd protection ring. Guest code running natively in VM monitors address space on 3-rd protection ring. All privileged instructions cause an exception and emulated by VM monitor. - Guest code running natively in VM monitors address space on 3-rd protection ring. All privileged instructions cause an exception and emulated by VM monitor. - No code scanning or translating needed. Guest code perfomance depends on IO intensity and only times slower than on real PC - Some IO devices (PREC VGA card for example) are managed directly by guest code without emulation
Mouse/Keyboard compressing/ transferring module PREC VGA component PREC VGA card software Video compressing/ transferring module Sound compressing/ transferring module PREC network service Server Remote PC VM
VM resource server Searching requested or free VM in database Choose and run VM Authorization request VMs address VMs databasemanyOSany VM hosts VMs data Remote PC
Remote PC client software Receives video/ sound data from VM Sends mouse/ keyboard events to remote VM Connects to VM resource server Make direct connection to allocate VM VM console application