[kwlug-disc] How is data passed between linux/unix kernel and user process? Contrast with WASI?

Mikalai Birukou mb at 3nsoft.com
Thu Nov 4 00:42:56 EDT 2021


I think I am missing some fundamental knowledge. How is data passed 
between linux/unix kernel and user process?

Can you describe it, or give a link to human parsable material?


My context.

I am looking at how to pass long binary messages to/from wasm. There 
must be something said about WASI, but where is it? I only see examples 
without saying what is a cosher way to do it. For example, if there are 
sockets from OS in WASI, then there is somewhere description of how it 
is done. But where is it? May be it is some standard unix way that 
everyone should know?

My current hunch for WASM is that some fixed size memory is allocated 
within WASM's memory, into which both outside and inside write bytes, 
asking other side to read respective length from a respective offset. 
And this read/write operations over a fixed memory span/buffer is a way 
to exchange messages with WASM. And may be WASI is doing something like 
this?

Do you know know about WASI? How is it similar/different with/to message 
passing between






More information about the kwlug-disc mailing list