[Barrelfish-users] some portability questions in Barrelfish

Timothy Roscoe troscoe at inf.ethz.ch
Thu May 18 11:50:24 CEST 2017

Dear Tommy,

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...

 -- Mothy

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!
> Tommy

More information about the Barrelfish-users mailing list