Break binary compatibility for faster development?

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

Post Reply
Mike
Posts: 54
Joined: Fri Sep 30, 2005 7:14 pm

Break binary compatibility for faster development?

Post by Mike » Mon Apr 24, 2006 9:22 pm

Sorry for the weird topic title, phpBB limits forced me to rephrase it into something that sounds worse. Basically I ask if a ReactOS fork could hypothetically be maintained that allows for faster development of APIs and such, in which might possibly cost binary incompatibility?

Even without Microsoft Windows NT binary compatibility, it might prove useful. In house software companies can recompile software onto the lighter ReactOS platform (possibly even take the time to trim ReactOS to only needed functions? hehe). For free software that doesn't rely on proprietary compilers (eg, Microsoft VisualC or Borland) and can use MinGW, they might be perfectly adaptable on ReactOS.

GvG
Posts: 499
Joined: Mon Nov 22, 2004 10:50 pm
Location: The Netherlands

Post by GvG » Mon Apr 24, 2006 11:18 pm

I guess it's possible, but it's not the goal of this project. You can always fork if you feel this is the way to go.

Jaix
Moderator Team
Posts: 838
Joined: Sat Nov 27, 2004 3:40 pm
Location: Sweden, Växjö

Set top box

Post by Jaix » Tue Apr 25, 2006 12:24 am

I guess you are talking about an application like a set top box, only a few applications will be running on the hardware thus no need for a full windows api. Of cource this is possible, and for a company that wants windows gui for a certain box this might be as good or better then WinCE. Nothing that I know of stops such a project. One potential project like this could be the $100 pc, no need for plug'n play, all drivers preinstalled and configured all focus on the most important for that project.

bratao
Posts: 57
Joined: Thu Dec 02, 2004 12:23 pm

Post by bratao » Tue Apr 25, 2006 2:24 am

There no pratical use in this..
If is to break compitability we already have some good os here, like SkyOs, MenuetOS, Yellowtab and go on....
Last edited by bratao on Tue Apr 25, 2006 4:47 am, edited 1 time in total.

oiaohm
Posts: 1322
Joined: Sun Dec 12, 2004 8:40 am

Post by oiaohm » Tue Apr 25, 2006 3:49 am

Side project already doing this.

Pratical is Windows Driver compad. In some case you don't need any more.

bratao
Posts: 57
Joined: Thu Dec 02, 2004 12:23 pm

Post by bratao » Tue Apr 25, 2006 4:49 am

The hard level of create a new api is the same as use the windows one...

To create a new one, we have to Documentate and create or change a compiler..
And a Sdk, and so many things !

oiaohm
Posts: 1322
Joined: Sun Dec 12, 2004 8:40 am

Post by oiaohm » Tue Apr 25, 2006 6:56 am

Linux programs like captivefs need Windows Driver system nothing more.

Posix api. I would not say create a new api from scratch. Some times you don't need win32 api. Reactos has elf support as well as normal PE.

No new complier need here. Mingw can produce elf and pe as well.

Almost never do you create one from scratch. Just sometimes for embeded work you don't need one. Direct to kernel.

Reason why Linux is popular with embed systems. You can threw everything away and be back to the kernel and driver system and a init app directly interfaceing with the kernel. If sticking to using the api change to a static link mode instead of dynamic to reduce space.

Note a standard posix api would not need documentaiton as long as its standard. Even using this would not require changing the compiler just add the right .a files and the new dlls or .so. Note C++ would be out at first.

Basicly as long as how to strip off the api is documented there is no reason why developers cannot do this if they want to. Problem it is extreamly hard to strip out what is not needed if you don't know what the min parts are.

reactux
Posts: 55
Joined: Tue Nov 29, 2005 10:12 pm

Post by reactux » Sun Apr 30, 2006 2:47 am

bratao wrote:There no pratical use in this..
If is to break compitability we already have some good os here, like SkyOs, MenuetOS, Yellowtab and go on....
if you run only open-source programs you won't have problems...
but there isn't a lot of open-source software on windows...
what if you want to run office or games or particular software?

reactux
Posts: 55
Joined: Tue Nov 29, 2005 10:12 pm

Post by reactux » Sun Apr 30, 2006 2:49 am

oiaohm wrote:Linux programs like captivefs need Windows Driver system nothing more.

Posix api. I would not say create a new api from scratch. Some times you don't need win32 api. Reactos has elf support as well as normal PE.

No new complier need here. Mingw can produce elf and pe as well.

Almost never do you create one from scratch. Just sometimes for embeded work you don't need one. Direct to kernel.

Reason why Linux is popular with embed systems. You can threw everything away and be back to the kernel and driver system and a init app directly interfaceing with the kernel. If sticking to using the api change to a static link mode instead of dynamic to reduce space.

Note a standard posix api would not need documentaiton as long as its standard. Even using this would not require changing the compiler just add the right .a files and the new dlls or .so. Note C++ would be out at first.

Basicly as long as how to strip off the api is documented there is no reason why developers cannot do this if they want to. Problem it is extreamly hard to strip out what is not needed if you don't know what the min parts are.
that will render reactos usable very quickly...wile maintaining a binary compatibility
you have an unix subsystem and you use the kernel,and also a basic win32 subsystem with certains apps that works(unreal tournament,deus Ex,office...)

but i don't think that the posix subsystem is still developed(the developer that did this is now gone...)

you only have colinux...that means that you have a true linux compatibility without X and hardware acces,and some limitation of this architecture

oiaohm
Posts: 1322
Joined: Sun Dec 12, 2004 8:40 am

Post by oiaohm » Sun Apr 30, 2006 1:40 pm

Posix in the reactos tree was killed. Reason http://sourceforge.net/projects/winntposix . More developed than the one in the reactos tree.

Note I think I was responable for the posix death in the reactos tree. I messaged the developer about the other project that might speed things up a little.
[Missed a enter here and there was a this other above should have been the other]
colinux is not the only option http://sourceforge.net/projects/keow under development.

If someone does not want to go the Win32 path. The posix path is still open. Winnt posix still could do with more work.

Note I class binary compad more than just the fileformat. Solaris use ELF32 and Linux user ELF32. Program binarys from one don't run on the other. Even that the binary formats are the same. Binary Compad required fileformat and matching api. Linux distros are currently addressing the problem of binary compad between them. A few years back there was not Binary Compad between Linux Distros at all.

Linux Standard Basic is addressing this problem.
Last edited by oiaohm on Mon May 01, 2006 1:24 am, edited 1 time in total.

GreyGhost
Posts: 295
Joined: Mon Jun 13, 2005 12:16 pm

Post by GreyGhost » Sun Apr 30, 2006 3:52 pm

if i'm correct(i may not be) the posix subsystem branch was more a project to show that subsystems could be done ...
and as far as i know the developer has not left the project ...

reactux
Posts: 55
Joined: Tue Nov 29, 2005 10:12 pm

Post by reactux » Mon May 01, 2006 1:27 am

colinux and posix environement:
i think that colinux is the most advanced solution for windows and reactOS because it is incredibly fast due to the copoperative virtualisation solution(colinux runs in kernel space),but it has drawback such as an unstable cofs driver(problems only when windows and colinux share the same partition,loop devices are ok) but the bigest problem is the inpossibility to use the hardware avaliable trough winnt kernel that could be used with a real and compatible unix subsystem,some examples could be running unixes games...

when you look at windows's unix subsystem it isn't usable because it doesn't have SOURCE compatibility with apps...a lot of apps need to be ported on SFU

binary compatibility of such environement:
binary compatibility isn't that important because reactOS is still in the early stages of developement and so having a binary compatibility such as BSD or solaris isn't
that important...but beeing able to run a linux distribution natively sounds like a dream...
Colinux is very well suited here,it only need:
*an X server that works well(i had not tested xming on reactOS)
*an installer or docs for installing the whole thing

about the target of such thing:
A lot of person could benefit from a native unix implementation
Basicaly having both system that can run natively could be great in the long term or for:
*people trying to switch from windows to unix
*people wanting unix but that need a particular windows app
*people that simply want the best of both worlds...

so that should be good to tell them(winntposix) that reactOS exist,so they could do some work in order to make it work under reactOS

Post Reply

Who is online

Users browsing this forum: Baidu [Spider] and 4 guests