[Barrelfish-users] Running Linux over barrelfish

Antonio Barbalace antoniob at vt.edu
Fri Mar 13 04:13:59 CET 2015


Popcorn runs a Linux kernel per core or per group of cores. Every kernel is
loaded with a restricted view of hardware resources. Kernels coordinate via
the messaging layer to exploit resources not included in their resource
partition. This is inspired by the multikernel OS pioneered by Barrelfish,
in which kernels are peers and cooperate. There is no software layer
between the kernels and the hardware. We exlusively run Linux kernels.

However, this will not stop anyone to run Popcorn along with another OS
kernel. Note that such OS kernel must be able to run with a partition of
hardware resources and should eventually communicate/coordinate with
Popcorn. Therefore, exploiting the same communication channels, and using
the same communication protocols. I presume the same apply to Barrelfish.

I am aware about the colinux project that tries to make Windows and Linux
co-exist on the same machine. However, this does not restrict each OS on a
different core. Check out their website at http://www.colinux.org/

Virtualization solutions are the easy way to transparently run Windows and
Linux on the same machine, and you can pin virtual CPU to physical CPUs.
However, I also suggest to look at "logical partitioning" or LPAR.
Furthermore, you can maybe consider L4, in the past they worked on Wombat
and Darbat, to run Mac OSX and Linux together; I do not know the status of
this work.


On Thu, Mar 12, 2015 at 5:05 AM, Timothy Roscoe <troscoe at inf.ethz.ch> wrote:

> Dear Utsav,
> I'm not quite sure whether Barrelfish is terribly relevant to your
> question, but I'll try and answer as best I can.
> Since it's an OS, Barrelfish expects to run on every core in the
> system.  If you want to run Linux applications, you've got at least
> three options:
>  - Run Linux in a virtual machine.  Barrelfish has a rudimentary VMM
>    that can boot Linux on hardware with virtualization extensions.
>  - Port the applications and recompile.  POSIX compatibility is not a
>    goal of our research, but the POSIX compat layer in Barrelfish is
>    not too bad and allows us to run many applications (such as
>    PostgreSQL).  The main missing facility (for interesting
>    philosophical reasons) is fork().
>  - Use a libraryOS like Graphene.  Graphene does not currently run on
>    Barrelfish, but we do have someone here looking at porting it over
>    the next 6 months or so.
> If you want to run Windows applications, your options are more
> limited.  At Microsoft Research in the past they have shown Office and
> other applications running over Barrelfish using Drawbridge, but that
> code is not released.  Also, supporting Windows in a VMM requires much
> more work than supporting the Linux kernel, and we've never tried
> booting Windows inside the Barrelfish VMM.
> If you really want to partition the hardware into two different areas
> and run Linux on some cores and Windows on others, you're going to
> have to modify both Linux and Windows to co-exist, share devices,
> partition main memory, etc., and you'll almost certainly need source
> code to do this (you might try this with the Windows NT research
> kernel, which is old but whose source is available to Universities).
> Barrelfish in its current form is not going to help you much here.
> For a discussion of the difficulties in doing this just with multiple
> instances of Linux, check out the Popcorn Linux project at Virginia
> Tech.  Some of the Popcorn folks are on this list, so they might also
> be able to reply.
> Best regards,
>  -- Timothy Roscoe
> At Wed, 11 Mar 2015 15:39:47 -0700, Utsav Popli <utsav2601 at gmail.com>
> wrote:
> > Hello All,
> > I want to utilize one core running Linux and another core running windows
> > How can I do that ?
> > Thank you
> >
> > Regards
> > Utsav Popli
> >
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users

Dr. Eng. Antonio Barbalace, PhD
Systems Software Research Group (SSRG)
Bradley Department of Electrical and Computer Engineering
Virginia Tech
453 Durham Hall (0111)
Blacksburg, VA 24061
phone: +1 (540) 231-2494
email: antoniob at vt.edu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20150312/cd9bcb7e/attachment.html 

More information about the Barrelfish-users mailing list