Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
News

Feature:What is Freedows?

Ramon van Handel has written a summary of the Freedows project for everyone to read. He talks about what it is, where it is going, and tries to address some of the major concerns that folks have expressed about it.
The following was written by Slashdot reader Ramon van Handel Due to the recent misunderstandings about the Freedows projects, I have decided to write this article to put the facts about the project straight. I will attempt to sum up the goals of the Freedows project, and the current status.

The goal of Freedows

The goal of the Freedows project is to create a stable operating system based on a modified version of the Stanford Caching Model of Operating System Functionality (http://www-dsg.stanford.edu/papers/cachekernel/main.html). Our version is somewhat modified to make it usable on normal PC hardware (the original cache kernel was implemented on a PaRadiGM computer that was made at Stanford for research purposes) and introduces a modern system for distributed computing, having a CORBA ORB as communication backbone for external kernels.

In the caching model, it is attempted to take as much functionality out of the lowest level of the system, the Cache Kernel. On top of the cache kernel run so called Application Kernels. Each Application Kernel provides medium-level sevices to applications running on top of it (as opposed to the low-level services that are provided by the cache kernel.) Basically, the only things the cache kernel manages are the creation of kernels, threads, and the address spaces they run in, as well as the multitasking of the threads. The rest of the services are provided by each application kernel for the applications running on top of it, thus making this environment very suitable for emulation of other operating systems. As have said above we have modified the original model a bit to allow it to run on conventional hardware. For more details, see the original paper and our current specifications.

The most important reasons for using the cache kernel as our basis are:

  • It provides the modularity of micorkernels with the speed of monolithic kernels
  • The CK (cache kernel) design is extremely suitable for emulation of other OSes

The Freedows team is not affiliated with Stanford in any way. We are just using a modern kernel type designed there, in stead of using old-fashioned kernel types like the unflexible monolithic kernel or the slow and memory-hungry microkernel.

It is not the primary purpose of the Freedows project to provide emulations for all the platforms in existance. This would, as anybody can see, be impossible. In stead, our primary goal is to provide an environment where this kind of emulation is possible and relatively easy to implement.

About emulation

So, what about emulation ? When the base system is relatively stable, the Freedows team will attempt to convert an (or several) existing free operating system(s) to Freedows FEAKs (Freedows Emulation Application Kernels.) This will help test the design, and aside from that provide support for binaries and sources from other environments for people switching to Freedows. Nowadays, you will have great trouble getting people to switch to a new operating system if it doesn't support the old, familiar programs the user used on his previous OS. Thus, emulation is a good thing. The first operating systems to be converted will be Linux and DOS (based on FreeDOS, probably.)

There is a Freedows subteam which researches and will try to implement Win32 binary emulation on top of Freedows, probably based on the existing efforts Wine, TWIN, and Win32-OS/2. The binary support will probably be about the same as Wine binary support - don't expect miracles. After all, we wish to use clean-room techniques, but Microsoft hides a lot of 'undocumented' calls from us that ARE used, but that we CANNOT legally emulate.

But as I said, our first goal is to create an environment in which this is all possible. Emualtion can then be implemented either by the Freedows team or by a third party.

So why does the webpage say something else, then ?

The one thing we have done very badly in the Freedows project is PR. The website, though constantly changing its looks, is terribly outdated. The 'more info' and 'FAQ' sections were written in the early days of the project, when the ideas and goals were still different. They have never been changed since, though our goals and views certainly have. This is very unfortunate, because it leads to many misunderstandings.

I am told that the HTML team is working on a new website with improved and updated content. Also, our project ambassador, Davis Sickmon, is working on a new FAQ. Hopefully, the bad state of the website and its contents will be corrected soon.

About the code

Linux didn't have to spend a year designing his system. Why is this ? Not because the design phase isn't important. It is because the design was done for him already, by Dennis Ritchie. Linus is an implmenter -- and implementer of a well-thought-out, well-designed, and oft-proven system. We are in a completely different situation: we are not implementing an old system, we are working with a novel design. The design wasn't done for us already; it isn't proven yet, and needs to be well-thought-out and well-designed by us. Thus, it is not fair to compare the two projects, as they are in different situations.

The good news is, that the design-and-specification state is slowly but surely coming to an end. We have specified most of the system by now, and slowly all specifications are slipping into a stable state. Soon, we should be able to start coding seriously. So hang on there...

About the development model

The development model we are using is currently rather closed. The reason for that is, that we can simply not use the open model before we have code. Quoting Eric S. Raymond's 'The cathedral and the Bazaar' (http://www.kde.org/food/cathedral/cathedral-paper.html):

"It's fairly clear that one cannot code from the ground up in bazaar style. One can test, debug and improve in bazaar style, but it would be very hard to originate a project in bazaar mode. Linus didn't try it. I didn't either. Your nascent developer community needs to have something runnable and testable to play with."

We are creating the first code in our closed model. When we have a first alpha, we will switch to the open model. The original Freedows teams will continue actively developing their parts of Freedows, but the teams will get mostly a maintainance function: every team maintains its part of the system, much like Alan Cox maintains the stable linux kernel in the linux community.

When will a beta be released

I am often asked when Freedows will go beta. The answer is, 'I don't know.'

A beta will be released when the code has become stable and contains the main features that are specified in the specs. When this is, we can not know. We currently have no deadlines (and as far as I know aren't planning to have any.)

I wish to mention that this project is running entirely on donated time. All developers have other things to do, either working or studying. We cannot expect these people to devote more time to Freedows than they have to give; and so we can also not predict how fast our progress will be. We hope to have at least an alpha by mid-1999, but these are just projections. (it depends on how optimistic you are; some say beta by mid-1999, some say much less.) I suggest you don't take the projections too seriously.

Where can you get more information

As the website is outdated, that is not the place to get information. What can you do ?

  1. wait for the new website, or
  2. read our specifications

Usually, the current specifications can be found at the Freedows forum: http://www.freedows.org/english/index.html

Click the 'guest' button, click on kernel, and follow the links to read the specifications.

Unfortuanetly, the forum doesn't always contain the latest specs either (we're currently running behind again here too.) The only way at the moment to get ALL the news is to subscribe to the kernel team mailing list. Contact one of the kernel team leads, or myself, for more information on this.

Conclusion

I hope this article manages to clear up misunderstandings about the Freedows project, and to explain its goals clearly. I hope the website will be changed soon to reflect the things I have mentioned.

If you still have questions, comments or suggestions feel free to contact either myself, or any other Freedows developer (you can find some email addresses on the website.) We will be glad to hear your opinions/clarify matters. Of course, we will be responding to all comments posted on slashdot.

Thank you for reading all of this, Ramon van Handel
Freedows CK and SORB developer
vhandel@chem.vu.nl

This discussion has been archived. No new comments can be posted.

Feature:What is Freedows?

Comments Filter:

Whenever people agree with me, I always think I must be wrong. - Oscar Wilde

Working...