Hey, I have some questions regarding the architecture of Rumpkernels / Rumprun.
1. To my understanding the platform of Rumprun on Xen is MiniOS which provides the memory space , the platform / hardware threads and scheduling for them? 2. If the system resides in one address space how is it possible that according to the rumpctrl tool rumprun has 3 processes (proc.0 to proc.2)? I always thought that Kernel and Application are sharing one address space. Where the kernel and application have their own threads all belonging to one main process. Does this mean that Rumprun is having three distinct address spaces (0: kernel 1:? and 2: application) since each process requires his own address space and there are context switches between them? But if this is the case why are Pseudo System Calls used since there is basically a user / kernel space by dividing the system into three distinct address spaces. 3. Does Rumprun use virtual memory since x86_64 architecture mandates virtual memory usage for long mode operations? 4. If not how is the compatibility with applications using mmap on rumprun to map and unmap memory maintained? Thanks! - Vincent
