>It's not an operating system, because it cannot operate the system (your system being the Computer)
Be that as it may (I haven't fully checked out the source to this thing, so I can't say if it could "operate the system" or not), there's nothing preventing anybody from writing an operating system in (mostly) Javascript. You'd just have to have a JS interpreter built into your kernel. Now, why you'd want to do that other than for pure hack value, I cannot say. Nonetheless, it can be done.
Edit: You could also (theoretically) have a specially microcoded system that can directly run some form of Javascript bytecode, as was done with the old Lisp machines.
No, it's not an operating system, but for someone who only has access to a computer via their public library and wants to learn *nix/vim/emacs/etc., something like this could be a perfect first step.
>I hesitate to call something like this an operating ....
<humor>
Why not? If Microsoft can call Windows versions before Win 95 an operating system, I think this qualifies. ;-)
</humor>
In all seriousness, if there's no task scheduler or multitasking capabilities in this software (and I must admit I haven't poked at it enough to determine whether there is or not), it's not much of an operating system. It kind of reminds me of when I was 12 and thought I'd make an "operating system" using QBasic. (What I ended up with was little more than a glorified text-based, menu-driven program launcher. But, hey, I was 12.)
You'd be surprised what people will build with a host environment-bound language and then call an operating system. Brings back memories of VB6 on PlanetSourceCode.
Nifty, unix-like command-line interface in Javascript.
"Shell In A Box implements a web server that can export arbitrary command line tools to a web based terminal emulator. This emulator is accessible to any JavaScript and CSS enabled web browser and does not require any additional browser plugins. Most typically, login shells would be exported this way"
It would be neat to be able to develop a website by building an 'image' through a VM like this.
You could describe the fundamental concepts on a two-page doc. You could easily copy images around. This could be a low-entry-barrier platform.
Changes it would need: a free software license, some system call documentation, a means of maintaining a library of static images, /var/cgi-bin. Nice to haves: system calls for talking to a database on the backend; library import mechanism; ometa.
As part of a larger system abstracting configuration and administration tasks it might actually be useful. I could imagine mapping a RESTful system around a filesystem path and embedding it in this 'os' to leverage shell concepts to web resources. Environments like CouchDB, Riak or Node.js that are partially javascript under the hood to begin with could see even deeper associations.
Hell you could probably add an abstraction layer underneath the 'vm' and multiplex it to arbitrarily many actual systems, think administering a large set of memcachedb instances with a single command line. And of course you have javascript as a first-level primitive for scripting tasks that you'd use perl for on a real UNIX.
For example Linux, Mac OS X, Windows do control your System by taking over all resources, interrupts, almost anything.
At best this is a Browser Operation System (BOS), and even then it's not - because it does not have control over the Browser.
It's an illusion.