Hi everybody,
i would like to know if it's a good idea to develop an operating system under java?what are the advantages and disadvanges??is there enough resources??
thankzzz ;D
Java for os development??
-
Jamethiel
Re:Java for os development??
I think a good rule of thumb here is that if you have to ask if it's a good idea then actually doing it will be way beyond your skill level.
That said, http://cjos.sourceforge.net/archive/ appears to be a Java OS. It also appears to be far more complexity than -I'd- like to deal with right now.
That said, http://cjos.sourceforge.net/archive/ appears to be a Java OS. It also appears to be far more complexity than -I'd- like to deal with right now.
Re:Java for os development??
The motivation why people ask "can I write my OS in language XY" is usually because they know that language well and don't want to leave their comfort zone.
What is just as usually forgotten is that OS development is different from application development.
When writing an application in Java, you write the .java file, compile it into a .class file, and then execute it in a virtual machine.
When writing an OS in Java, you either have to write a virtual machine to execute your .class first, or you have to come up with a way to compile .java into binary.
You'll probably look for the latter, for performance reasons. Then be aware that existing solutions to compile .java into binary mean an application space binary... you'd still have to provide an environment for that binary to run in.
You can't just open a socket and expect your OS to - voila - have TCP/IP support. You would have to implement the code that talks to the network, before using such a Java function in your code. (If that is clear to you, don't take offense, it's just that many beginners don't realize this at first.)
Add to this the fact that Java has not been designed with system development in mind.
There is no "final saying" in which language can and which can't be used - in the end, they all are just a string of 0's and 1's. But personally, I consider it a bad choice to try low level programming with a very high-level language.
I've been taking some flak for using C++, which some people already consider too "high-level" for OS work...
What is just as usually forgotten is that OS development is different from application development.
When writing an application in Java, you write the .java file, compile it into a .class file, and then execute it in a virtual machine.
When writing an OS in Java, you either have to write a virtual machine to execute your .class first, or you have to come up with a way to compile .java into binary.
You'll probably look for the latter, for performance reasons. Then be aware that existing solutions to compile .java into binary mean an application space binary... you'd still have to provide an environment for that binary to run in.
You can't just open a socket and expect your OS to - voila - have TCP/IP support. You would have to implement the code that talks to the network, before using such a Java function in your code. (If that is clear to you, don't take offense, it's just that many beginners don't realize this at first.)
Add to this the fact that Java has not been designed with system development in mind.
There is no "final saying" in which language can and which can't be used - in the end, they all are just a string of 0's and 1's. But personally, I consider it a bad choice to try low level programming with a very high-level language.
I've been taking some flak for using C++, which some people already consider too "high-level" for OS work...
Every good solution is obvious once you've found it.
- Pype.Clicker
- Member

- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:Java for os development??
similar negative responses for other languages:
Perl for OS development??
Language requirements
Basic for OS development ??
Perl for OS development??
Language requirements
Basic for OS development ??