We first wanted to focus on running Emscripten-generated WebAssembly files, so we are wrapping the syscalls that Emscripten is using with the real syscalls under the hood.
I'm not very well informed but I assume that you just call functions which are implemented by the VM, in the same manner you do filesystem operations in nodejs.
Here's an example of that: https://github.com/wasmerio/wasmer/blob/master/src/apis/emsc...