People are even doing hardware design in the browser now. That may or may not directly involve JavaScript on HW part as I don't know how much those apps rely on servers. It's conceivable a basic, EDA tool could be built with Javascript, though.
I have a two-finger salute I typically give to cooperative multitasking especially thanks to the Windows 3.1 era. ;) I still investigate it with better type systems, languages, hardware monitors, whatever. I just think "NOOOOO!!!" is a good default when I see it.
Actually, BEAM can somewhat (and probably should be) considered an OS. It's got most everything you'd need baked in and ready to go...
Right now, I'd say the bigger issue isn't he entire OS taking advantage but the applications running within it... in which case, yes, BEAM would be an amazing paradigm shift! :D
I remember SGI adding code to Linux to to make it work on their NUMA machines with 256 sockets and 2,000-4,000 cores with single system image. They were my favorite but not only one. I'm sure some distro out there can handle 50 by now. :)
I'm honestly not sure. I was under the impression that it was limited... but thinking back perhaps I was thinking of the software that usually doesn't take advantage of multiple processes. Also half joking :D
One thing I can't seem to find is, is this a true nodejs-based operating system in that it's all single threaded? single-threaded event loop stuff works well for network servers but an OS? To me it seems like a terrible idea.
I'm going to have to assume it's using some form of Node's clustering support, which will let you run up to X instances where X is the maximum number of supported instances for the number of cores you have. Otherwise, you're right, bad combination.
What about something like ChromeOS? Does it need multi-threading?
If each app is running it's own thread, and can spawn new threads, maybe that would work.
Also, though Node.js is currently single-threaded, there is the Nexus project https://github.com/voodooattack/nexusjs which is doing multi-threaded javascript. Maybe this or Node.js will support multiple threads in the future.
Nashorn on the JVM supports threads. So the problem is definitely not a JS issue but a JS engine issue. NodeJS is single threaded because NodeJS V8 is. There was a talk about implementing workers that communicate view text messages though, I don't know the state of workers in NodeJS .
I recently read about the SIMD support for Javascript. While parallelism and distributed systems contribute a lot to the OS, SIMD is something nice to have on top that. So, JS may be single threaded but having SIMD support might speed things up.
"Any application that can be written in JavaScript, will eventually be written in JavaScript."
http://blog.codinghorror.com/the-principle-of-least-power/