OSv, a new operating system for the cloud
github.com
github.com
We're probably not too far off from java-as-the-os, node-as-the-os, etc. Substituting a hypervisor for Linux or whatever other OS you're using as the emulation layer seems to the be the architecture of choice for this type of work right now... I guess because you'd just have to implement a handful of drivers... in addition to other OS bits like scheduling and memory of course, but I suspect those things are fairly straightforward for many applications especially if you can assume that there are no other "processes" running... essentially those just become implementation details of the application that can be swapped in and out like any other library/framework
The term I've seen for this sort of architecture is a "unikernel"
This OSv project looks nice, definitely something to keep on the radar
The big difference is that while OSv may be targeting the same use case, it's still more similar to a general purpose OS. Some of the kernel APIs it provides seem to be blurring the line though.
Some time ago, I listened to a talk given by one of the OpenMirage devs where he described substantial memory & complexity reductions and subsequent efficiency gains they were able to achieve compared to a comparable existing Unix System.
Moreover, after thinking about this for a while (and having a lot of experience working on embedded systems) I'm fairly confident there are still more opportunities for optimisation by removing ubiquitous but now actually unneeded layers of abstraction.
There's also a good series of unikernel articles that give more background. http://www.linux.com/news/enterprise/cloud-computing/821243-...
Note also that they are launching a drop-in memcached replacement software appliance [3]
I guess it was only a matter of time before people started trying to get their VM's closer to the meta. I look forward to watching their progress. Really very cool.
There are some embedded solutions running Ada or Java directly on hardware, effectively using the runtime as an OS, but that is very specialized market.
Looking for the timeframe it took OS to adopt C++, we are looking at similar timeframe for any C++ alternative.
In C this would be the code required to call main (), initialization of global variables, hooks for library functions like atexit () to register their actions and a few other things.
Sure one can disable this runtime, however whatever happens to be used instead is nothing else than a customized runtime.
I am streching a bit the meaning here, but in some processors even the microcode logic could be seen as a kind of silicone runtime.
Also we couldn't scale out SQL Databases that easy. They are still a pain in the ass.
Also some building blocks are yet missing from Containers. 1. Layers that you could easily attach to a container, like a external Logger. 2. Configuration / Environment management on top of containers, something like archaius from netflix just for docker.
Disclaimer: Boxfuse founder speaking
Capstan to OSv is what Docker is to containers