osFree project aimed to produce operating system with support of OS/2 compatible presonality as base personality. We used following definetions in our research and development:
As result we have following considerations:
We propose to reuse some or most of OS/2 PPC design with some reformulation. Because OS/2 support is our primary target, of course, we propose to reuse most of OS/2 technologies.
In general, we use L4 microkernel as core of system. On top of L4 we plan to work folowwing personalities:
Neutral personality is a real OS API. It is set of servers for various services. All other personalities need to work via Neutral personality. Most probably we will reuse many of OS/2 features in this personality. We have a plan to make Neutral personality API with usage of IDL (like SOM/CORBA). Because L4 also uses IDL for it's API this is just logical approach.
OS/2 personality aimed to provide partal or full set of OS/2 API. At the first stage we want to implement core 32-bit API. In most cases OS/2 personality planned to be just forwarders of calls to Neutral personality.
Linux personality aimed to provide full functionality of Linux. Linux is one of current mainstream OSes. It provides lot of development tools, libraries and applications. And we want to use Linux as one of main development platforms. We have a plan to reuse afterburner project for this. If all will work fine then we just recompile afterburner project and reuse it as is.
DOS personality aimed to provide functionality of DOS. DOS supported by original OS/2 and still used by many ppl. We don't want to lost forces for this goal and, most probablu, just reuse DOSEMU here.
Win32 personality aimed to provide partal of full functionality of Win32. Windows also one of mainstream OSes and we can't ignore existent of it. If it will be possible to pre-virtualize ReactOS then we also will provide Win32 functionality. Otherwise Win32 support will come via WINE project.
Of course you are free to add another personality.
At the present time we have closed view about file systems support and boot process. We reuse OS/2 conception of IFSes. Most notable differences from OS/2 PC it is absense of MiniFSD (as in OS/2 PPC) and 32-bit IFS main driver. For more information about boot process look at Boot process guides and references.
For general development guidelines see Developer Reference.
Discussion