<div dir="ltr">Utsav,<br><br>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. <br><br>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.<br><br>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 <a href="http://www.colinux.org/">http://www.colinux.org/</a><br><br>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 &quot;logical partitioning&quot; 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.<br><br>regards,<br>Antonio<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 12, 2015 at 5:05 AM, Timothy Roscoe <span dir="ltr">&lt;<a href="mailto:troscoe@inf.ethz.ch" target="_blank">troscoe@inf.ethz.ch</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Dear Utsav,<br>
<br>
I&#39;m not quite sure whether Barrelfish is terribly relevant to your<br>
question, but I&#39;ll try and answer as best I can.<br>
<br>
Since it&#39;s an OS, Barrelfish expects to run on every core in the<br>
system.  If you want to run Linux applications, you&#39;ve got at least<br>
three options:<br>
<br>
 - Run Linux in a virtual machine.  Barrelfish has a rudimentary VMM<br>
   that can boot Linux on hardware with virtualization extensions.<br>
<br>
 - Port the applications and recompile.  POSIX compatibility is not a<br>
   goal of our research, but the POSIX compat layer in Barrelfish is<br>
   not too bad and allows us to run many applications (such as<br>
   PostgreSQL).  The main missing facility (for interesting<br>
   philosophical reasons) is fork().<br>
<br>
 - Use a libraryOS like Graphene.  Graphene does not currently run on<br>
   Barrelfish, but we do have someone here looking at porting it over<br>
   the next 6 months or so.<br>
<br>
If you want to run Windows applications, your options are more<br>
limited.  At Microsoft Research in the past they have shown Office and<br>
other applications running over Barrelfish using Drawbridge, but that<br>
code is not released.  Also, supporting Windows in a VMM requires much<br>
more work than supporting the Linux kernel, and we&#39;ve never tried<br>
booting Windows inside the Barrelfish VMM.<br>
<br>
If you really want to partition the hardware into two different areas<br>
and run Linux on some cores and Windows on others, you&#39;re going to<br>
have to modify both Linux and Windows to co-exist, share devices,<br>
partition main memory, etc., and you&#39;ll almost certainly need source<br>
code to do this (you might try this with the Windows NT research<br>
kernel, which is old but whose source is available to Universities).<br>
Barrelfish in its current form is not going to help you much here.<br>
<br>
For a discussion of the difficulties in doing this just with multiple<br>
instances of Linux, check out the Popcorn Linux project at Virginia<br>
Tech.  Some of the Popcorn folks are on this list, so they might also<br>
be able to reply.<br>
<br>
Best regards,<br>
<br>
 -- Timothy Roscoe<br>
<div><div class="h5"><br>
At Wed, 11 Mar 2015 15:39:47 -0700, Utsav Popli &lt;<a href="mailto:utsav2601@gmail.com">utsav2601@gmail.com</a>&gt; wrote:<br>
&gt; Hello All,<br>
&gt; I want to utilize one core running Linux and another core running windows<br>
&gt; How can I do that ?<br>
&gt; Thank you<br>
&gt;<br>
&gt; Regards<br>
&gt; Utsav Popli<br>
&gt;<br>
<br>
</div></div>_______________________________________________<br>
Barrelfish-users mailing list<br>
<a href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a><br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">Dr. Eng. Antonio Barbalace, PhD<br>Systems Software Research Group (SSRG)<br>Bradley Department of Electrical and Computer Engineering<br>Virginia Tech<br>453 Durham Hall (0111)<br>Blacksburg, VA 24061<br>phone: +1 (540) 231-2494<br>email: <a href="mailto:antoniob@vt.edu" target="_blank">antoniob@vt.edu</a></div>
</div>