Switching to Jnode made easy

This topic is about making it easy for people to switch from their existing OS to Jnode. I think this is a very important issue in terms of adoption.

E.g. switching from Windows to Linux is a huge discrete step. You have one computer and you need to install the new OS on it, which must provide all kinds of applications you are already running on the old OS since you can't use both at the same time (without reboot).

But does this also apply to Jnode - the Java OS? Maybe it is possible to derive OS-specific versions of Jnode that can be run as secondary OS inside the primary OS and allow the Jnode plugins / applications / services to be used on the primary OS. Thereby allowing people to migrate to Jnode step-by-step with the final step being replacing the old primary OS by Jnode.

This would of course only allow the non-system plugins / applications / services to be used on the primary OS, since then it will run in a normal JVM from Sun or so which doesn't provide direct access to memory. But it would be able to access the network and the files of the primary OS.

Sebastian

Command line

I would like to be able to bring up a JNode command line from Eclipse. I would also like to be able to run the new GUI from Eclipse.

Heck I would like to run JNode as an Applet. Smiling

Re: Command line

Maybe we can try to make a list of things that we want to have when running Jnode inside a host VM and then try to find out how to possibly change the design of Jnode to accomplish it.

Below is a first list including things that should be part of Jnode when running inside a host VM and what should / cannnot be available.

Required
--------
- Shell
- Jnode GUI
- Jnode plugin mechanism (also system plugins?)
- USB API (using a JNI-based native implementation?)
- Jnode Look & Feel

Not Required
------------
- Device drivers
- all other VM-related things (Garbage Collection, Runtime Compiler, ...)

Of course this list is not yet complete. Please feel free to add things and comment on it.

Sebastian

Plain Old Java Code

The services you mentioned are already supported on a variety of Operating Systems by the Java API Implementation on that architecture. For example, if I write a Java application that requires Files or URL classes and behavior, they should work on any java-supported OS, as well as JNode. It seems that the vital piece that is not already supported by a java implementation, that would be convenient to run outside of JNode would be a JNode configuration tool--that is, a program that lets you set the parameters of a JNode session, plugins, hardware, etc... Running a plain vanilla java program on JNode should be exactly like running it on Windows or Unix or Mac (except faster).

I'm not sure a full-blow JNode simulator is necessary, just adapters for the subset of programs that are JNode-specific (and not plain-old-java programs).

The key to making the switch easy and natural is keeping a distinct line between OS functionality and java-application in JNode; all non-driver, non-service code written in JNode should be general enough to also run under any old JVM (Windows, Mac, etc...)

Sam Reid