This post originated from an RSS feed registered with Java Buzz
by Avery Regier.
Original Post: Analyses of two Java OS projects: JX and e-leos
Feed Title: cAVEman's Musings
Feed URL: http://sedoparking.com/search/registrar.php?domain=®istrar=sedopark
Feed Description: Musings of Avery Regier on the subject of Java, DevWiki, J2EE, Java operating systems, and whatever else strikes my fancy.
This weekend I've stumbled upon two Java OS projects that I'd not had any clue existed before. Both aim to create a JOS that is aimed at normal Intel PCs, rather than some embedded device. Both are written by people whose natural language is something other than English. Therefore, their comments are a bit hard for me to read. The analyses below is based on a few hours of perusing their web sites and whatever code I could get my hands on. They are:
e-leos is French project. I took a year and half of French in high school and college, but alas, I forgot most of it as soon as I was our of those classes. e-leos has no discernable license. You can get access to the Java code, but the C code is not available. It is at a stage where there is a JIT compiler, but still doesn't have hard disk drivers. I tried out its demo which runs a few tests from a floppy and it works well enough, though you can't do anything with it yet. I stumbled accross this project because it uses a version of GNU Classpath for its libraries, and there is link from there.
JX is a project run out of a German university. It's documentation is a mixture of English and German. I have a German ancestry, and my grandparents spoke German, but I never picked it up. I expect I'll be making good use of bablefish looking at these projects. (sigh) This project seems to be much farther along. It has drivers for IDE drives, ext2 support, network cards, minimal AWT support, etc. It has various demos that you can put on a floppy to run, but I'd say that it is at a stage where it isn't well integrated yet. It could use some work to create a functional system out of it that boots off the hard disk and has a shell that you can load arbitrary applications with. It's libary is not based on GNU Classpath and thus it is more limited in that respect. I haven't been able to discern if it has a JIT or not. It is licensed under the GPL with an exception similar to the Classpath license that I've mentioned previously.
It also has been written with many features in mind that make a Java-based operating system worthwhile. They have multiple heaps for good resource cleanup, byte code sharing, statics are kept seperate, inter-process communication, etc. These are the hard problems to crack and I commend them for the solutions they've found. This is the type of JOS that I've been advocating for years. (See the poster from their site to the right.)
Thus, this project is well-suited to become the basis of a renewed push to create a generic Java operating system and it has the correct license by which it can be most successful. It needs the integration work I've already mentioned, and to be converted to use the Classpath libraries. Then it could be integrated with one of the Java desktop projects. There is another research project out there that is a testbed for JVM performance research. It could be integrated into this project and JX could get the latest JVM performance enhancements for virtually free.
I'm excited about this project. It has gotten past (or is on the verge of getting past) some of the humps that the JOS project was never able to get past, which resulted in its decline. I may yet see the day where I've got a fully Java-based operating system that I can do my daily work in and be productive.