3 ms·
> The same is true of a middle-of-the-road language like Java, but Java isn't ideally suited to kernel development. (If OS researchers prove me wrong on this po
by dmitriid 6y ago
> The same is true of a middle-of-the-road language like Java, but Java isn't ideally suited to kernel development. (If OS researchers prove me wrong on this point, then that's great, of course.)
Microsoft had an experimental OS called Singularity [1]
--- start quote ---
The lowest-level x86 interrupt dispatch code is written in assembly language and C. Once this code has done its job, it invokes the kernel, which runtime system and garbage collector are written in Sing# (an extended version of Spec#, itself an extension of C#) and runs in unprotected mode.
--- end quote ---
And don't forget that SIM cards in your phone run a Java... -ish [2,3]
[1] https://en.wikipedia.org/wiki/Singularity_(operating_system) https://en.wikipedia.org/wiki/Singularity_(operating_system)
[2] https://www.defcon.org/images/defcon-21/dc-21-presentations/Koscher-Butler/DEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdf https://www.defcon.org/images/defcon-21/dc-21-presentations/...
[3] https://en.wikipedia.org/wiki/Java_Card https://en.wikipedia.org/wiki/Java_Card
- MaxBarraclough 6y agoThere's also the JX research operating system, which used Java. https://en.wikipedia.org/wiki/JX_(operating_system) https://en.wikipedia.org/wiki/JX_(operating_system)
- pjmlp 6y agoProject Treble also allows writing userspace drivers in Java. Then besides JX, there was SquawkVM for SPOT, Solaris research for Java drivers, and embedded vendors like PTC and Aicas do support bare metal Java runtimes, which is basically an OS at that point.