Uload ReactOS kernel module?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
com1
Member
Member
Posts: 105
Joined: Sat Apr 28, 2007 11:57 am
Location: TN

Uload ReactOS kernel module?

Post by com1 »

could i possibly have two kernel options in my OS, where one is my kernel and the other one ReactOS? Then the user could run some windows apps on my OS without installing a whole other one. is this possible?
oh microsoft, microsoft, what souls you have dismayed
User avatar
mathematician
Member
Member
Posts: 437
Joined: Fri Dec 15, 2006 5:26 pm
Location: Church Stretton Uk

Post by mathematician »

I don't think you can. If you had a very deep pocket, and an army of volunteers, it might in theory be possible to write a kernel, and on top of that have two or more api's to mimic Windows, Linux or whatever. But two different kernels is effectively two different operating systems.
User avatar
Alboin
Member
Member
Posts: 1466
Joined: Thu Jan 04, 2007 3:29 pm
Location: Noricum and Pannonia

Post by Alboin »

Exokernels anyone?
C8H10N4O2 | #446691 | Trust the nodes.
User avatar
Combuster
Member
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:

Post by Combuster »

Exokernels will still require the emulation layer. Actually, you'll need at least one in order to be even able to run ansi C applications...

Of course you could build a virtual machine that runs two OSes at the same time. Once the VM is complete you can theoretically run any program by switching OSes. No guest-specific code would be needed, but you'd have two separate systems which are really difficult to be made to cooperate with each other.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
niteice
Member
Member
Posts: 59
Joined: Tue Oct 03, 2006 3:49 pm

Post by niteice »

In that case you've basically reimplemented Xen...
jnc100
Member
Member
Posts: 775
Joined: Mon Apr 09, 2007 12:10 pm
Location: London, UK
Contact:

Re: Uload ReactOS kernel module?

Post by jnc100 »

com1 wrote:could i possibly have two kernel options in my OS, where one is my kernel and the other one ReactOS? Then the user could run some windows apps on my OS without installing a whole other one. is this possible?
IMHO operating system = drivers + kernel + API + ABI. The ABI is generally determined by the process loading/creation functions in the kernel. Drivers are abstractified by the kernel to respond to various API calls. Are you therefore asking: can I create an operating system that can run programs with two sets of API/ABI implementations? In theory yes, but ReactOS is probably not the way, as its a complete operating system, expecting to run by itself. I suppose you could implement the ReactOS environment as it is open source, but you would need a very deep understanding of that particular project. You could, I suppose, port an emulator to your OS or even dualboot???

Regards,
John.
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: Uload ReactOS kernel module?

Post by Brendan »

Hi,
com1 wrote:could i possibly have two kernel options in my OS, where one is my kernel and the other one ReactOS? Then the user could run some windows apps on my OS without installing a whole other one. is this possible?
Have you considered porting Wine to your OS? ;)


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
anon19287473
Member
Member
Posts: 97
Joined: Thu Mar 15, 2007 2:27 pm

Post by anon19287473 »

Combuster wrote:Exokernels will still require the emulation layer. Actually, you'll need at least one in order to be even able to run ansi C applications...

Of course you could build a virtual machine that runs two OSes at the same time. Once the VM is complete you can theoretically run any program by switching OSes. No guest-specific code would be needed, but you'd have two separate systems which are really difficult to be made to cooperate with each other.
WRONG! An exokernel isn't just a emulator OS, it multiplexes raw hardware, so each application uses a large lib instead of an os. i.e. oslib (or something like that) is a unix library, which unix apps can be compiled against, and run in the exokernel. It is a whole OS in a library, not really emulation.
User avatar
Alboin
Member
Member
Posts: 1466
Joined: Thu Jan 04, 2007 3:29 pm
Location: Noricum and Pannonia

Post by Alboin »

anon19287473 wrote:
Combuster wrote:Exokernels will still require the emulation layer. Actually, you'll need at least one in order to be even able to run ansi C applications...

Of course you could build a virtual machine that runs two OSes at the same time. Once the VM is complete you can theoretically run any program by switching OSes. No guest-specific code would be needed, but you'd have two separate systems which are really difficult to be made to cooperate with each other.
WRONG! An exokernel isn't just a emulator OS, it multiplexes raw hardware, so each application uses a large lib instead of an os. i.e. oslib (or something like that) is a unix library, which unix apps can be compiled against, and run in the exokernel. It is a whole OS in a library, not really emulation.
Yes, and you can have multiple oslibs! Mwa ha ha! I was correct~! :D
C8H10N4O2 | #446691 | Trust the nodes.
User avatar
Combuster
Member
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:

Post by Combuster »

anon19287473 wrote:
Combuster wrote:Exokernels will still require the emulation layer. Actually, you'll need at least one in order to be even able to run ansi C applications...

Of course you could build a virtual machine that runs two OSes at the same time. Once the VM is complete you can theoretically run any program by switching OSes. No guest-specific code would be needed, but you'd have two separate systems which are really difficult to be made to cooperate with each other.
WRONG! An exokernel isn't just a emulator OS, it multiplexes raw hardware, so each application uses a large lib instead of an os. i.e. oslib (or something like that) is a unix library, which unix apps can be compiled against, and run in the exokernel. It is a whole OS in a library, not really emulation.
It all depends on what you call emulation. In essence a libos is a conversion layer between the calls expected by application layer and the interfaces of the exokernel. Call it emulation or not, you still need a separate libos for windows programs, and a separate libos for *nix programs (and one for mac, and....)
Similarly, wine provides a windows interface over your favorite linux in pretty much the same way. Still its called an emulator.

Also, true exokernel applications don't require a libOS. They use the raw interfaces of the kernel for their own gain.

Point remains, you need to provide code for each platform you want to run rather than just one. Something you wouldn't need with some virtual-machine style kernel/program.

Now, would you tell me what's so wrong about my statement?
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Post Reply