#387 Re: [osFree] Kernel/mikrokernel architecture
Expand Messages
JMA
Mar 13, 2002
On Wed, 13 Mar 2002 20:19:05 -0800 (PST), Lynn H. Maxson wrote:
>John Martin writes:
>"... Are you saying that its easier to build "a kernel which is
>second to none" than graft the CPAPI ontop differnet kernels ?
>..."
>
>If by different you mean more than one, then most certainly yes.
>If by different you mean only one, e.g. Linux, then it's a closer
>call as the effort is about equal with a slight edge to the
>"second to none".<g> However, there's no doubt about which
>produces the better result with respect to future development.
>
Nice that you think this. As a developer with some familarity with
the CPAPI and some knowledge in kernels (though I have never
developed one myself) I simply cannot agree. You say its easy
to do a great kernel - a piece of software that depends on hardware
services and must support drivers from other oses - compared to
a very wellknown CPAPI that is built to be hardware independant.
Also you somehow think that OS/2 has lots of unique features that
would it hard or almost impossible to implement the CPAPI ontop
of other (less capable ?) kernels.
Ask most lowlevel OS/2 developers and they will tell you the OS/2
kernel is "an old hack".
>Only three possible changes are available to us: increase performance,
>decrease resource usage specfically internal and external storage,
>and increase quality (RAS--Reliability, Availability, Service).
>If we do only that, we will have a better OS/2 than OS/2, i.e.
>that sourced from IBM.
>
We are out to create an opensource clone and thats the only place to
start. If we plan for a wiz-bang system people will have lost interest
before it leaves the planning stages - just go back to FreeOS and look.
The first release of a opensource clone will be slower and less featured
that OS/2 is today. IBM has spend enormous funds on developing and
enhancing OS/2 through the years. And as many parts of the system
are getting old they benefit from the ever increasing speed enhancement
in hardware.
No method of planning nor developing can ever replace money and time.
>However better we make our open source product, we will not have
>solved either the application and driver issues. Remember that
>the responsible parties for both of these are third-party hardware
>(driver) and software (application) vendors. It does us little
>good to solve one problem through open source providing a better
>OS/2 if we do not at the same time solve the other two situations.
>
Its up to the open source OS developer to ensure there are drivers
and applications for a new OS. If you assume that developers will
come running asking for a chance to develop drivers and application
for your new OS you are dead wrong.
>However, you have deficiencies in Linux and in Windows that
>restrict the possibilities in an OS/2 CPAPI layer. You end up
>with something less than OS/2 and yet incapable of using (through
>the CPAPI interface) the something more that might exist in the
>underlying host. So why does anyone not understand the tendency
>toward products like the Virtual PC and VMWare, which are
>deliberate (and expensive) attempts to not layer one CPAPI on top
>of the other.
>
You cannot technically compare a product like VPC or VMWARE
to a proposion to place a CPAPI layer ontop another kernel.
Or are we talking marketing ?
>So why is something like the microkernel so tempting? Why have a
>lowest API functional level acting as a common denominator to
>multiple OS personalities (OS/2, Linux, Windows, BeOS). It means
>not only having backward compatibility with these "legacy" OSes,
>but having a "forward" compatibility with something not possible
>with any. So you protect existing investments while providing an
>extended environment for future investments.
>
Please read up on what a microkernel does !
>The point is that there is a lot of work involved in producing a
>kernel whether second to none or not. It's about the same about
>of work. So why opt for less than the best? In the time it takes
>to do this the Linuxes and Windows will be changing as well. So
>why not choose at point of GA (General Availability) to be equal
>to or better than those choices on their on home turf, their own
>kernels.
>
OK, you opt to set a GA where the kernel will be better at running
Windows apps than Windows is. With the right development
methods and aiming at the starts we could easily beat Microsofts
hoards of money and developers - right ?
>If I want to encourage Linux volunteers to participate in this
>effort, to have the second to none endpoint, then why would I not
>want them to use their Linux expertise to increase Linux
>capabilities in this environment? If in fact it leads early on to
>the conclusion that it is a better Linux than Linux, I would fully
>expect to see current Linux development collapse and be absorbed
>into this effort.
>
>That leaves only Windows (and to a lesser degree BeOS). I see no
>reason why we cannot take the expertise arising from the ODIN
>project and transfer it into a Windows personality based on the
>same microkernel.
>
Now you are contradiction yourself. By placing a CPAPI layer ontop
another kernel than OS/2 you say I opt for a less than optimal solution.
Now you say that Linux and Windows (poss. BeOS) developers will
flock around your proposed os since it will be so much better that what
they have today. How are you going to ensure that four operating
systems get a perfect kernel that matches there "CPAPI's so good
that its better than their existion solutions.
To do this you either have to write in support for many different OS'es
in the kernel or you have to make OS layers that maps to a generic
set of kernel support. And you will come up with things that would
conflict between the "personalities". What OS to prefere then ?
IBM did spend in excess of $100 million on OS/2 for PPC and were
not able to get more that acceptable performance for their main
personality. And thats after they stepped down from the WPOS
multiple personalities plans.
And IBM was not dumb (at least not the development team).
>That will require far less effort than ours to
>produce an OS/2 personality. If we have a superior, i.e. second
>to none, set of lowest level APIs, we will not only have an open
>source for Windows, but the ability to produce a better Windows
>than Windows, not to mention the fact that it will bring Microsoft
>crashing down.
>
Get real, Windows is not at its current place due to good or bad
kernel services.
>"I'm not trying to stop anyone to build "a kernel which is second
>to none". But osFree is about something else, building a OS/2
>clone."
>
<SNIP>
>You leave yourself open that you do not have OS/2 driver support
>per se, but a layer above the driver support of the host OS. If
>by the "different" from earlier you have multiple OS hosts, then
>you have multiple driver support layers independently developed
>and maintained as changes to the host occur.
>
Maintained by someone else. Thats why leaving kernel development
to people that have the time and knowledge is so interesting.
If osFree was build to run on the os/A kernel and os/A started dwindling
we would be able to move to os/B or os/C relativly easy. If we build
our own kernel we have to ensure its has all the drivers.
This is simple economics. Time and money is not on our side.
>Now why is it do you think that something like the Virtual PC and
>VMWare regardless of cost work and something that has been in
>development for an equal length of time like ODIN is still beta?
>The answer doesn't lie in the amount of resources available to
>ODIN. The answer is it is easier to develop and maintain a
>horizontal layered set of OSes, e.g. the microkernel, Virtual PC,
>and VMWare, than a vertically layered set.
>
OK, please compare the few ODIN developers that do their work at
spare time with companies that have many fulltime employees.
But that not that important since thay are doing quite different
things. Building a hardware PC in software cannot be compared
with supporting the user mode API of a huge operating system.
>None of the other choices, however, come close to the microkernel
>in terms of functionality, performance, resource usage,
>reliability, and maintainability. It is "integrated" from the
>get-go, not some "add-on" functionality. The object then is to
>choose the microkernel, choose the set of lowest level APIs, and
>implement them second to none.
>
Please read up on this.
You simply dont just build a microkernel and place personalities
ontop of that. A mk is just a small layer to hide the hardware from
the real kernel.
Your suggested method of software development would fit very
well into a CPAPI clonage method. This API and the API's above
is well known and well documented. This means everything could
be documented and quite well typed out before a single line of
code is written.
Doing the same with a kernel supposed to support a OS/2
personality (with ample speed and compatibility) needs
intricate knowledge on how the OS/2 kernel works. How outside
(or even inside IBM) has that ?
Sincerely
JMA
Development and Consulting
John Martin , jma@...
==================================
Website:
http://www.jma.se/
email: mail@...
Phone: 46-(0)70-6278410
==================================