[Barrelfish-users] some portability questions in Barrelfish
troscoe at inf.ethz.ch
Thu May 18 11:50:24 CEST 2017
I'm cc'ing the Barrelfish users mailing list
(barrelfish-users at lists.inf.ethz.ch), which is the best place to post
questions like this - you'll probably get more of a complete response
To give a first answer to your questions:
1. Quite a lot. The big missing POSIX feature is fork() - Barrelfish
is, by design, Really Not Unix, and while an implementation of
fork() is possible using user-level page management, it's not
there. Instead, processes (which we call domains, as in Xen) are
started using spawn() (as in Windows), and extended from one core
to another using span(). Threads are implemented in user space
using scheduler activations, but otherwise the regular pthread
functionality is there.
2. There's a VFS layer, and a few simple implementations below that.
We mainly use NFS, plus an initial RAM disk and a VFS interface to the
multiboot image. FAT32 also works, but we don't support things like
ext4 (though there's nothing inherently difficult about doing so).
3. Not out of the box, but we have certainly done it in the past
(actually over raw Ethernet), and it's part of our current
direction. There is already tunnelling and multihop functionality
between monitors as part of the main system. Being Barrelfish,
there's no problem with non-shared memory as long as you have a
suitable message-passing transport.
Hope this helps...
At Thu, 18 May 2017 11:22:35 +0800, 孙思杰 <sunsijie at buaa.edu.cn> wrote:
> Hello all,
> We want to port some application to Barrelfish. So could you answer us some questions?
> 1. How much POSIX interfaces does barrelfish have implemented?
> 2. Which filesystems does Barrelfish support?
> 3. Does Monitor support communication between two boards (based on TCP/IP or something else)?
> Thank you for your help!
More information about the Barrelfish-users