Is it Possible to run different OS on different embedded Cores, Like Android and Windows CE?
What all challenges can be there in OS context Switch and saving the RAM data?
Different OS on different Cores
Re: Different OS on different Cores
It would be possible but both OSes would have to be aware and take into consideration of what is going on.
WinCE and Android could not do this because they Assume full control, and like berkus said they would trash each other...
WinCE and Android could not do this because they Assume full control, and like berkus said they would trash each other...
My hero, is Mel.
Re: Different OS on different Cores
The concept works if the two OSes have private access to physical ram and io-spaces. To avoid trashing, just allocate 256MB to one OS and 256MB to the other, and they would live happily together. IO resources might be harder, but if only one OS access network or IDE, then there will also be no problem. It is kind of similar as when early versions of Windows run DOS applications that thought they owned the machine. It worked because of address space virtualization (V86 mode) and IO-permission bitmaps.
Re: Different OS on different Cores
This would be a cool idea if it could actually work.
Any thoughts on designing a protocol for the kernels to communicate in order to share resources?
Any thoughts on designing a protocol for the kernels to communicate in order to share resources?
- gravaera
- Member
- Posts: 737
- Joined: Tue Jun 02, 2009 4:35 pm
- Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.
Re: Different OS on different Cores
Synchronization of accesses to hardware registers foils the whole thing. That is, if you want two truly independent instances without the need for a "hypervisor". Otherwise, this would just fall into the domain of a hypervisor that schedules the various kernels on different cores, something a good hypervisor would probably already do, with the use of some set of abstractions.
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
Re: Different OS on different Cores
I would say it is possible, using something like a hypervisor to control IO access etc.
-
- Member
- Posts: 255
- Joined: Tue Jun 15, 2010 9:27 am
- Location: Flyover State, United States
- Contact:
Re: Different OS on different Cores
While this might sound like a good idea, what is the point of running different kernels on multiple cores? Also, the overhead incurred by the hypervisor trying to keep track of which kernel uses which memory, IRQs, and controlling output would be massive, even on fast modern machines.
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: Different OS on different Cores
Do you need such accurate tabs of which kernel uses what? Most kernels don't support hotplug RAM, so you have to define which core uses what memory in advance. Most hardware can only be used by one kernel at a time (and again, hotplug isn't usually an option). Hard divisions, time saved.
The only thing you need to emulate because they don't like sharing, are the clock and interrupt systems. Seriously, how much time does that take out of the total system performance?
The only thing you need to emulate because they don't like sharing, are the clock and interrupt systems. Seriously, how much time does that take out of the total system performance?