Live data from Hacker News

Look Ma, no OS

slides.com

41–50 of 91 posts

Re: Look Ma, no OS

#41
Unikernels are cool to play with. Erlang is cool too. But...

- [name] is a kernel thread not a user space process.

- its libssl, not "libopenss"

- installing rpc, some obscure 55k listening port, and calling it bloated.. heh so cheap.

Once past all this FUD - what does a unikernel (basically the same as running linux and your app as /sbin/init except it's in Erlang and not C here)?

- its obscure. you get security mainly because nobody knows what you're running.

- its library based. like regular OSes.

- it runs only one program. or a million of them, like a regular OS, but with zero separation between them so compromise one means compromise all, actually. Else you have to add the separation layer yourself by writing more apps per "system" and make them communicate.

- its undebuggable without a lot of knowledge

- 'script kiddies' will run ./erlang-hack-for-x instead of ./rootshell.sh, this changes nothing to that. Remember the XEN exploit a few month ago? That'd still work and give access to all the Erlang instances. Its not that hard.

- its not faster, its actually slower, when compared to C kernel+code.

- it doesnt compile itself, you need a "regular OS" to deploy it

- it uses the same memory space for mostly everything (regular OSes use protected memory per process, its hardware enforced by the CPU)

- namespaced linux boots in There are much better implementations of safer, faster, cleaner OSes with better paradigms that also do away with backward compat and using modern, memory safe languages (http://en.wikipedia.org/wiki/Singularity_%28operating_system... for a well-known one). For the record MS also developed Drawbridge (process+lib, so not exactly a unikernel) because they could not do away with windows compatibility. So yeah.

If you have doubts, look at the example code at https://github.com/technolo-g/unikernel-demo

Re: Look Ma, no OS

#43
post #6

This has to be one of the worst UIs for a slide deck. "Why aren't these questions being answered?" ... "Oh, the slide advance UI changes. Too inconspicuous."

To jump on the bandwagon here, I recently set up a gopher site for a friend running for local office (sort of as a geeky in-joke). I came away from the experience actually wanting more gopher. Yes, the web can be a platform for things that should be simple documents, but gopher all but guarantees a uniform UI and nothing but content.

I didn't bother to figure out the multi-dimensional navigation of these slides. Paraphrasing Tufte, Richard Feynman managed to write about much of physics without resorting to more than two levels of headings. I'm similarly unconvinced that multi-dimensional, nested documents are really that helpful here.

Re: Look Ma, no OS

#47
post #42

I thought Erlang relied heavily on threads...how does that even work without as OS?

I was curious as well and Googled it. Apparently, the Erlang Runtime runs within a single OS thread and implements its own thread scheduler in user space. http://stackoverflow.com/questions/605183/how-if-at-all-do-e...

Re: Look Ma, no OS

#48
post #6

This has to be one of the worst UIs for a slide deck. "Why aren't these questions being answered?" ... "Oh, the slide advance UI changes. Too inconspicuous."

A presentation is designed to be mainly useful for the presenter. In an actual presentation I could see it useful to navigate between main chapters when I get questions at the end. Now that it is shared and some people have minor problems navigating it at first is much lower priority. Maybe the shared slides could be linearized.

Re: Look Ma, no OS

#49
post #42

I thought Erlang relied heavily on threads...how does that even work without as OS?

I was curious as well and Googled it. Apparently, the Erlang Runtime runs within a single OS thread and implements its own thread scheduler in user space. http://stackoverflow.com/questions/605183/how-if-at-all-do-e...

Unikernels are very able to schedule threads to CPUs. Often, that scheduling is static. But, when your intent is to run a single process exclusively on the virtual machine, static scheduling is actually preferable.
Post reply on HN