Why is ChromeOS considered an OS when it relies on a host OS to do the heavy lifting? by Jeff Nelson
Answer by Jeff Nelson:
Several people forwarded this question to me. Thank you!
I think of webtops as a new OS architecture, in the sense that a webtop is a new execution environment layered on top of a host OS, similar to how consumer OSs are layered on top of a BIOS. The host OS is low-level, close to the bare metal, and the webtop is high-level, far away from the bare metal. For the host OS, applications run in machine code. For the webtop, applications run in HTML or associated web technologies.
Chrome OS is also largely kernel agnostic. To date, it's been built on top of a number of distinct Linux kernels, but there's no reason the underlying kernel even has to be a Linux. It could be any OS that can manage the devices and provide an execution environment for Chrome. Again, this is very similar to how a BIOS provides an execution environment for the host OS.
The question details also mention a VM. In a sense the browser execution environment can be considered a form of VM. It's an interpretted VM that is comprised of an HTML interpretter and a collection of other interpretted and bytecode execution technologies. It can be taken as a whole as one meta-VM implementing the HTTP protocol and a language for implementing web apps.
So, I'd agree, that in a sense Chrome OS could be considered a virtual machine architecture, rather than an OS. However, it's also hiding all the details of the underlying OS. For example, if you built Chrome OS on top of Ubuntu or SUSE, a user couldn't tell the difference, because we don't let them get any closer to the bare metal than the browser execution environment (unless they put it in dev-mode, of course). So, it's not exactly a virtual machine, because by design, there is no lower level of access to the bare metal and it's devices. If you want to run an app on Chrome OS, it has to be a web app. Since that's the entire execution environment, it can be considered an "OS".
Some people have also compared Chrome OS to JavaOS.
In my view, they are apples and oranges. They are both fruit, but they are entirely different fruit: Java OS was based around the concept that everything would be run on a Java VM, and every application would run locally as a Java applet. It failed, because there really weren't many Java applets and none of them were of a quality to compete head to head with Microsoft products. Chrome OS is based on the concept that everything WON'T be run locally, instead all apps are distributed in the cloud and run as web apps (although some can be cached and synced locally for the convenience of users who go offline). Obviously, there's plenty of web content and some of it is good enough to compete with Microsoft products, which is one of the reasons Chrome OS has been such a success. Chrome OS also doesn't include a Java VM, so there's really no similarities with JavaOS or it's product vision.
Chrome OS is also compared frequently to the "Network Computer", which was a product of Oracle back in 1996. Oracle's NCOS was a derivative of RISC OS, and designed to boot over the network.
That's how it gets the name "network computer"; it's a diskless computer that boots over the network, much like PXE boot, today. In fact, Oracle published a specification for "network computers" that was so broadly defined, it encompassed every computer – even Windows. The Oracle product, however, was a full Unix, with the Unix architecture, and running native apps locally just like every Unix. So, again, there's not really even a slight similarity with the webtop architecture and the "network computer" architecture. Chrome OS is not designed to run native apps, it has a disk, and it doesn't do network boot.
The term "webtop" is also heavily overloaded. It's been re-used as a trademark for a wide variety of products that have nothing whatsoever to do with the modern definition of a web-centric operating system delivered on a laptop. SCO originally trademarked the term for a product they were selling, a web browser plugin that implemented a VNC viewer. Motorola trademarked it for a smartphone docking station. Obviously, these have nothing to do with modern webtops, either.