Towards ¡ Small ¡Portable ¡ VMs ¡
- N. ¡Bouraqadi ¡and ¡L. ¡Fabresse ¡
Smtalltalks ¡nov ¡2010 ¡
Towards Small Portable VMs N. Bouraqadi and L. Fabresse - - PowerPoint PPT Presentation
Towards Small Portable VMs N. Bouraqadi and L. Fabresse Smtalltalks nov 2010 Mul@ple devices => Mul@ple VMs Image VM 1 VM 2 VM 3 OS
Smtalltalks ¡nov ¡2010 ¡
VM ¡1 ¡ OS ¡1 ¡ OS ¡2 ¡ OS ¡3 ¡ VM ¡2 ¡ VM ¡3 ¡ Image ¡
VM ¡ Image ¡ OS ¡
Library ¡A ¡ Plugin1 ¡ Plugin2 ¡ Plugin ¡x ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡
Other ¡OS ¡ VM ¡ Image ¡
Library ¡A ¡ Plugin1 ¡ Plugin2 ¡ Plugin ¡x ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡
Other ¡OS ¡ VM ¡ Image ¡
Library ¡A ¡ Plugin1 ¡ Plugin2 ¡ Plugin ¡x ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡
VM ¡ Image ¡
VM ¡ Image ¡ VM ¡ Image ¡
VM ¡ Image ¡
VM ¡ Image ¡
VM ¡ Image ¡ VM ¡ Image ¡
VM ¡ Image ¡ OS ¡
Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡
FFI ¡
VM ¡ Image ¡ Other ¡OS ¡
Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡
FFI ¡
VM ¡ Image ¡ Other ¡OS ¡
Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡
FFI ¡
VM ¡ Image ¡ Other ¡OS ¡
Library ¡A ¡ Library ¡B ¡ Library ¡Z ¡ API ¡α ¡ API ¡β ¡ API ¡ψ ¡
FFI ¡
VM ¡ Image ¡ OS ¡
Network ¡ Network ¡API ¡
Socket ¡ Plugin ¡
Socket ¡ HTTPSocket ¡ SocksSocket ¡ SocketAdress ¡ ByteArray ¡ TCP+ ¡ UDP+… ¡ IPv4 ¡+IPv6 ¡ IPv4 ¡+IPv6 ¡
0% tested
VM ¡ Image ¡ OS ¡ OCEAN ¡
Alien ¡ plugin ¡ Alien ¡ Library ¡
Wrap POSIX Lib.
POSIX ¡ <sys/socket.h> ¡
TcpSocket UdpSocket NetworkLibraryProxyFactory WindowsLibrary LinuxLibrary Socket
networkLibrary socketID
MacOSLibrary PosixLibrary
TcpSocket UdpSocket NetworkLibraryProxyFactory WindowsLibrary LinuxLibrary Socket
networkLibrary socketID
MacOSLibrary PosixLibrary
100% tested
TcpSocket UdpSocket NetworkLibraryProxyFactory WindowsLibrary LinuxLibrary Socket
networkLibrary socketID
MacOSLibrary PosixLibrary
100% tested
Socket ¡ connected? ¡ Data ¡ received? ¡ Data ¡ sent? ¡ Socket ¡ closed? ¡
VM ¡ Image ¡ OS ¡ OCEAN ¡
Alien ¡ plugin ¡ Alien ¡ Library ¡
POSIX ¡ <sys/socket.h> ¡
OS ¡ API ¡ OSProcess ¡ Library ¡ OSProcess ¡ plugin ¡
0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ 250 ¡ 300 ¡ 350 ¡ Receive ¡10MB ¡ Send ¡10MB ¡ ms ¡ Ocean ¡ OldSocket ¡
Smaller ¡VM ¡
OOP
VM ¡ Image ¡ OS ¡
FFI ¡
Smalltalk IDE
Ease porting ¡
Alien-based Networking Library
Promising first Bench 100% tested
Portable
Remove other VM plugins Finish the OCEAN experiment Identify the Minimal VM
Smtalltalks ¡nov ¡2010 ¡