Announce: OSv, a new open-source operating system for virtual machines
nyh at math.technion.ac.il
Mon Sep 16 23:36:58 IDT 2013
Hi, today we've made the first release of OSv, a new operating system for
running applications on virtual machines.
OSv is free software, released under the BSD license, and you can find it in
https://github.com/cloudius-systems/osv and http://www.osv.io.
There is also a mailing list: osv-dev at googlegroups.com.
These days, most applications running on virtual machines in the cloud run
on top of Linux. We all love Linux, but as an all-encompassing operating
system for everything from phones to supercomputers, Linux was never
really designed for virtual machines; It is big and complex, and it
offers features (such as multi-user and multi-process) which are today
made redundant by the hypervisor and slow it down. Linux's APIs are many
times set in stone by decades of legacy code.
All these cost in application performance, and make it harder to innovate.
This is why we developed OSv, a new operating system designed to run
a single application on a virtual machine. As it runs a single application
there is no need for kernel-userspace isolation, reducing context switch
costs and unnecessary copying. A design from scratch allowed us to
experiment with new ideas like lock-free mutexes (solving the Lock-Holder
Preemption problem that plagues operating systems on virtual machines),
extremely fast context switches, Van Jacobson's network channels (see
http://www.lemis.com/grog/Documentation/vj/lca06vj.pdf), and more.
Also, OSv is released under the more permissive BSD license (not GPL
like Linux), is tiny compared to Linux, and takes less than one second
to boot and start the user's application.
OSv can run ordinary Linux shared objects, such as, for example, an
unmodified JVM (e.g., OpenJDK) executable, and of course on that you can
run any application written in Java, JRuby , Clojure, or any other JVM
language. Even at this early stage of OSv's development, OSv can already
successfully run several interesting workloads such as Netperf, Memcached,
Cassandra and SpecJVM - and usually match or even beat Linux's performance.
Another refreshing feature of OSv is that is written in C++.
It's been 40 years since Unix was (re)written in C, and the time has
come for something better.
C++ is not about writing super-complex type hierarchies (as some people
might have you believe). Rather, it allowed us to write shorter code
with less boiler-plate repetition and less chances for bugs. It allowed
us to more easily reuse quality code and data structures. And using
newly standardized C++11 features, we were able to write safe concurrent
code with standard language features instead of processor-specific
hacks. And all of this with zero performance overheads - most of C++'s
features, most notably templates, are compile-time features which result
in no run-time overhead compared to C code.
OSv was developed by Cloudius Systems, a small Israeli startup led by
Dor Laor and Avi Kivity (of KVM fame) but it is an open-source project -
developed since its inception on github
(https://github.com/cloudius-systems/osv), and released under the BSD
license. We would like to take this opportunity to invite everyone to use
OSv, and to help drive its development forward. OSv is a fantastic
playground for kernel developers, and also for people involved in cloud
development, devops, and so on. Tell us what your dream VM operating
system will do, and maybe your dream will come true :-) Maybe you can even
help us make that dream come true.
If you want to try OSv, check out the announcement and usage instructions
on the OSv mailing list:
Nadav Har'El | Monday, Sep 16 2013, 13 Tishri 5774
nyh at math.technion.ac.il |-----------------------------------------
Phone +972-523-790466, ICQ 13349191 |A computer once beat me at chess, but it
http://nadav.harel.org.il |was no match for me at kickboxing.
More information about the Linux-il