Skip to main content
gamedev.net
🔒 Locked

[java] Java OS

Started by Kuranes Dec 10, 2002 at 6:46 AM 4 replies 600+ views
Original Post
Kuranes
Kuranes
I''m thinking about the usefulness of an operating system that provides Java Virtual Machines to work with, replacing binary executables with Java''s .class-files. Since the virtual machine wouldn''t need to deal with an underlying OS layer, it might run faster than on other Java platform. Java applications, games as well as business applications, could be shipped on CDs with this OS pre-installed, making already installed OS''es unnecessary to run Java applications. Looking through the available APIs, I found many of the necessary system functions could be handled using the capabilities of existing Java classes or extensions of them. Additionally, a database could be integrated in this OS, making it more attractive for business applications. I know this is a Java games forum, this is no game and it might not be coded in Java (if at all). But you are the people coding for it, so I humbly ask you for your opinions on this. If anybody thinks this subject is violently misplaced here, I''d gladly accept pointers to more appropriate places.
aidan_walsh
aidan_walsh
An OS coded in Java has crossed by mind several times before, but I always discounted it because I thought that a VM would always need a secondary layer of software to run on. There is also the fct that Java is amongst the slowest of the current generation of languages, though this could be attributed to the VM\OS issue again.

An idea worthy of further investigation afterall, it is...


#Old Steve, he said to Xerox "Boys, turn your heads and cough"
And when no-one was looking he ripped their interfaces off#
Three Dead Trolls in a Baggie on the truth behind MacOS 1

SketchSoft | SketchNews


www.aidanwalsh(.net)(.info)
davidsporn
davidsporn
As far as I can remember, I believe that Sun already released a Java OS, and had (still has?) plan to design a Java CPU, i.e. a CPU which native language is actual bytecode...

I''ve checked at sun site, read that :
http://www.sun.com/smi/Press/sunflash/9903/sunflash.990302.1.html

Still the link to JavaOs product is broken, so maybe the project is dead...

----
David Sporn AKA Sporniket
Kuranes
Kuranes
quote:
Original post by doodle_sketch
An OS coded in Java has crossed by mind several times before, but I always discounted it because I thought that a VM would always need a secondary layer of software to run on.


I wasn't thinking about an OS coded in Java (sorry). A bad example for this is the DBox II (a product of the german market). It ran that slow people removed the Java software and installed Linux instead (much smoother).

The OS itself has to be coded in a compiled language like C or even directly in Assembler. You might notice I do not propose C++ for this task.

I think about an operating system that doesn't allow binary executables (mainly for security reasons). Instead, it is supposed to run compiled Java programs. For me, it could run anything else, but Java is quite attractive because many applications already exist and the Java VM is quite good at what I need.

To be honest, I'm not an expert at VM design (punish me for this), but in my mind, anything that a VM running on another OS handles via system calls might as well be done directly by the VM if it is the OS. The secondary software layer could be saved. By the way, it's hidden from the programmer anyway. A qualified statement on this is greatly appreciated.

Remember, whenever you run a DOS program on a Win32 box, it invokes a DOS VM that encapsulates the DOS program. The DOS program runs quite smooth because the system performance of the Win32 box exceeds the requirements of the DOS program. This comes close to what's on my mind.

At this point, thanks for the link to Sun. This project seems to have died around 1999. At that time, end consumer PCs had a memory capacity of about 64 - 128 MB and a CPU speed of 500 - 800 MHz. An interpreting OS on a machine like this, given tasks like drawing windows on screens with a resolution of 1024x768x32 might cause performance problems.

Today, machines with less than 256 MB RAM and CPU speeds less than 1 GHz are sometimes considered legacy (no punishment accepted for this). Perhaps somebody has even got new ideas about VM optimization. An interpreting OS on a modern machine might actually work as well as our most favourite OS today, or even better.

Any more on this?

[edited by - Kuranes on December 10, 2002 10:48:52 AM]
HenryApe
HenryApe
quote:
I''m not an expert at VM design (punish me for this) ... An interpreting OS on a machine like this ... An interpreting OS

Grrr, yes, you really deserve punishment. Java has not been really been interpreted since about 97 when all big JVMs started featuring JIT (Just In Time) compilers that optimize and compile the Java code at runtime. This is the reason why Java can compete with and occasionally beat the performance of staticly compiled languages like C. Some optimizations can only be done when runtime information is available, for instance aggressive inlining of all functions, automatic removal of virtual method calls etc.

About Java operating systems. Well, there was one old open source project called JOS that worked on building one. I don''t know how far they have come or if they have given up, but I think you can find some quite recent posts (from a few months back was the latest I found) if you do a little digging in the site.

Personally, I have recently started to like MacOS X. Java is very nicely integrated into that operating system and the whole OS feels quite nice now that Apple has thrown out its old proprietary core and replaced it with Unix (you can even open terminals!).
Kuranes
Kuranes
Thank you all for taking part in this discussion. I'll stop watching this thread.

[edited by - Kuranes on December 11, 2002 2:42:49 AM]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.