3 ms·
Isn't this simply an acknowledgement that having an entire OS (at least in a traditional sense) is overkill? I remember a couple of attempts to make the JVM ru
by smoyer 14y ago
Isn't this simply an acknowledgement that having an entire OS (at least in a traditional sense) is overkill? I remember a couple of attempts to make the JVM run on bare metal (JavaOS was one if I recall correctly) and I think that, to a lesser extent, ChromeOS, FirefoxOS and company are trying to eliminate some of the bloat that's occurred.
The other day I spun up a CentOS6 server on a VM and it required a minimum of 512MB of RAM. I remember building RedHat5 system (not RHEL5) with 32MB or 64MB. What is the new server doing differently? Functionally I have the exact same machines (yes, the newer machine is more secure, but should that really require 8x the memory?).
So these micro-systems allow the user to go "back to DOS" if they think Windows is too overblown. And if you don't need a windowing system, and you have the language tools you need, why not treat the VMs (or hardware devices) as embedded systems.
- reeses 14y agoVery similar to how most projects start with,"Let's design the database model..."
- pjmlp 14y agoThere are JVMs that run in bare metal, specially in the embedded space. This was also the Lisp Machines and Smalltalk. Native Oberon and AOS are also two systems were the language and OS follow the same principles, although the code is usually compiled to native code, or JITted on load.
- shawn-butler 14y agoARM even implemented hardware java bytecode instruction execution. [0] I don't think it ever got very far in the market, but I don't know all the reasons behind it. [0]: http://www.arm.com/products/processors/technologies/jazelle.php http://www.arm.com/products/processors/technologies/jazelle....
- pjmlp 14y agoFor the same reason Lisp Machines had issues with their special processors. It is a fallacy that those instructions help execution, in the end general purpose processors are quite capable and you just need a native code compiler instead of trying to execute the bytecodes directly. So most JITs on ARM just take advantage of the native instructions, or you just make use of a native code compiler for Java if required to do so. Although the general public seems unaware of it, many Java SDKs for the embedded market also offer native compilers, even Oracle does it.