D
D
dizlv2015-01-21 06:17:26
Java
dizlv, 2015-01-21 06:17:26

Why is Java not developed for operating systems?

Why is Java (in particular, the standard JVM implementation) not used for OS development (+ is considered an inefficient PL when developing Realt Time Systems)?
PS. Question from the exam, I suspect this is due to the Garbage Collector and the impossibility of manual memory allocation, but if possible, explain this point in more detail.
Thank you.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
A
Alexey Cheremisin, 2015-01-21
@dizlv

Everything is simply banal. Java compiles to bytecode, not assembler. The bytecode is interpreted by the JVM virtual machine, which, if necessary, compiles it into the native code of the processor (JIT technology - Just-in-time compilation).
In other words, in order to get native code, you need to run bytecode inside the JVM. That is why no one will send drivers and other low-level crap to java. On the other hand, in order to write this crap in java, one of two conditions must be met:
1) either the processor directly supported the JVM specification (with all the junk like GC, memory allocation ^ resource management)
2) or the operating system supported the JVM specification in the kernel (with the same junk)
Well, there is no need to say that the language is junk if you cannot write drivers and sections for the MMU in it. There are a dozen or two other languages ​​that do not support this, for example, all X.NET or erlang^ python, etc.
Java for application programming, and C/C++/D/ASM and so on for machine programming.

T
Tagir Valeev, 2015-01-21
@tagir_valeev

Well, they were developed at different times: JavaOS , JX , SavaJe , Vino . All these developments were curtailed for various reasons, but there seem to be no fundamental problems that absolutely prevent the development of OS in Java.

M
Maxim Prigozhenkov, 2015-01-22
@Waka_Waka

It seems to me that a Java OS will require a separate rack with RAM))

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question