> I did an experiment where I wrapped `mmap` make all the memory used by a Nim > process shared so I could run a second program which loaded all the shared > memory and allowed the two programs to pass memory addresses between them.
This is very similar to what I'm trying to do with my OS. However, I'm trying to have separate heaps for communication between tasks. It's a single-address OS, and I want to take advantage of passing pointers between tasks instead of (de)serializing/copying into/from a kernel buffer (i.e. zero copy). I guess Nim's allocator wasn't designed with such use case in mind.