The JNode team has released the latest version of their operating system written in Java (it does have a small assembler nano kernel). “This release features the integration of the OpenJDK implementation of Swing and AWT, and significant improvements to the overall JNode GUI including improved painting and font rendering, generic VESA support and graphical console. The release also includes a new command argument framework for the shell, reworked shell commands, a configure tool for the JNode build environment, Samba file system with read/write support and many stability and bug fixes across the whole system.” They have screenshots, a changelog, and (surprise!) a download page.
Is JNode already able to run JEdit or even NetBeans?
From the webpage:
People often want to know if their favorite Java-based application or library runs on JNode.
The short answer is usually: “We don’t know; why don’t you give it a try?”.
The long answer is that it depends on the nature of the application. Here are some guidelines:
* Non-GUI based applications that are pure Java and that use only J2SE libraries have a chance of working right now.
* Applications that use AWT/Swing or that stress garbage collection, multi-threading and the security model may have problems right now. JNode’s deficiencies are being addressed; please feel free to help.
* If the application has (or depends on) C/C++ libraries, then it will not work unless the libraries are recoded in Java.
* If the application relies on external (non Java) programs then it will not work unless those programs can be coded in Java and ported to JNode.
Seems like most complex programs still won’t run. I know its popular to hate on Java ’round these parts. Regardless, I think this could be a really cool project going forward. As it gets better, a whole suite of existing, mature applications being run and used on other platforms will become available.
I can almost guarantee that it won’t. It had major problems running reliably for me even with almost nothing open running in VMware for the last release. You’ll notice they don’t showcase Eclipse or any fancy graphical apps in these screenshots. It’s still rough Alpha quality.
My guess is that the SharpOS guys will get a usable OS faster then JNode, which is fine with me.
Eclipse is not a Swing app as NetBeans is. And I didn’t really expect NetBeans to run yet. But as soon as JEdit will work I’ll play around with JNode.
They don’t seem to have GUI support so far.
It would be ridiculous to expect Eclipse to run in JNode. In order for Eclipse to run, there must be SWT libraries available for the OS. It isn’t really reasonable to port SWT (where most implementations are C++) to JNode yet.
However, when the time comes, I believe I saw somewhere that someone had created a pure Java Swing-SWT bridge. That would make the job a lot easier.
Almost all drivers are implemented in C or assembly. It is hard enough getting vendors to release their drivers for Linux / FreeBSD / Solaris etc in the language they are already written in. Good luck getting anyone to release drivers written in Java.
Also, that blurb about re-implementing libraries written in C++ or C into Java….good luck. Doesn’t that seem backwards.
C is the de-facto standard. Everything starts with C. There is a C interface to everything. You can call C from Fortran, Java, Python etc.
Perhaps LLVM could help out here and target the JVM with some C or C++ code.
Old but intresting (pdf):
http://research.sun.com/techrep/2006/smli_tr-2006-156.pdf
Writing device drivers in Java is not a bad idea. definitely safer than C.
I’ve always found this project fascinating. Every few releases I download the source code and start digging through it just to get an idea of how things like “device drivers in Java” even work.
The first time I did this I was baffled at some of this code… these guys are more like code ninjas than hobby programmers.
For anyone that tends towards the more “hardcore” aspects of open source projects, I’d really encourage you to check out some of the JNode source code and have a peek at it, atleast the interesting parts (like the NET and USB drivers)… it’s really fascinating stuff if all you do is stare at Swing and JSP code all day long and never get to tap into your byte-array-bit-operator side.
Glad to see the project progressing, it’s a good amount of working in there.