Hacker News new | past | comments | ask | show | jobs | submit login

I like this. There is strength in having many different species of operating system. Monocultures are vulnerable to all kinds of diseases, one way to combat that is to have a (much) larger variety of operating systems so that infecting any of them has a very low return-on-investment.

So any new operating system that is far from the beaten path should be very much welcomed, this one is more interesting than most since it is written using a high level language.

Looking forward to an eventual release.




>So any new operating system that is far from the beaten path should be very much welcomed, this one is more interesting than most since it is written using a high level language.

I agree. But let's keep in mind that this isn't the first OS kernel written in Common Lisp.


Lisp is also one of the few languages in which commercial operating systems have been written.


Begs the question: is it possible to write a Lisp-based escape from the Lisp VM to the Virtualbox VM, then an escape from the Virtualbox VM to the host OS? Perhaps, but not something a casual attacker is likely to have resources for ;)


I doubt he was working several years to create this OS in Common Lisp to attack these 50 people who tries it :)


Wouldn’t this possibility depend on security holes in Virtualbox rather than in the guest OS?


It would depend on both.


But if there are security holes in Virtualbox, wouldn’t they be exploitable by any OS, regardless of what language it was written in?


Yes. The relevance depends on how likely you are to run a virtualbox image you found on the Internet because somebody told you "run this image".


The idea of a VM is that it provides an iron box which nothing can break out of, because it's completely invisible. There's nothing a guest can do which could possibly distinguish a VM session from running on the bare hardware. Partly this is for compatibility, partly for ease of development (develop the next VM as a guest in the current VM!), and partly for simple security: You can't escape a prison if you are utterly convinced you're already out.

Maybe that part of the theory never made it into practice.


Yeah. Welcome to practice: I type "ifconfig | grep vio" and if it comes back nonblank, I know I'm running in virtualbox.


OK. Is anyone working on x86 VMs which do try to be completely invisible to guests?


That was probably abandoned because it was not performant.


The idea of a VM is that it provides an iron box which nothing can break out of, because it's completely invisible. There's nothing a guest can do which could possibly distinguish a VM session from running on the bare hardware. Partly this is for compatibility, partly for ease of development (develop the next VM as a guest in the current VM!), and partly for simple security: You can't escape a prison if you are utterly convinced you're already out.

Maybe that part of the theory never made it into practice.


OT: nitpick: monocultures are completely invulnerable to some kinds of diseases. ;)


When I think of what I want in an operating system, "I wish it would lock up occasionally while everything garbage collects" is not high on the list.


When I think of what I want in an operating system, "I wish it would lock up occasionally while everything garbage collects" is not high on the list.

When you think of what you want in a discussion forum, how high are sarcasm and snarkiness on your list?


Have you ran the OS and seen this actual issue you're describing? If not, then what's your problem? If you're going to armchair quarterback, you should at least have thrown a football a few times first.

You may as well be complaining that the Windows 1.0 press release from 1985 has trouble with multitasking. Duh, this is pre-alpha software we're looking at.


Yet, that wish what the mainstream operating systems effectively deliver, at least whenever you use them for real work.


Real-time GC is a real thing now. Google it.


No, no it isn't.

There is always some garbage velocity beyond which any given system is not able to cope.

Usually that limit is kinda small compared to what you'd actually like your program to be able to do.


This is true of any dynamic memory management unless very careful constraints are put in place. I would assume anyone writing an OS kernel, regardless of language, would be careful to avoid unbounded consing. (Of course, memory allocation in kernels is tricky even in C: http://lwn.net/Articles/627419/)


In other shocking news resources are discovered to be finite after all.


The "garbage velocity" is not the most important parameter. Remember that garbage is all the space which remains after we identify what is reachable. The traversal of the graph of what is reachable is mainly where the performance pitfalls lie. When garbage is generated at a high rate, it just means that collection has to be more frequent. However, real-time techniques avoid scanning the entire graph of everything that is reachable.

Under ephemeral garbage collection, if the software generates a lot of garbage fast, it means that it's rapidly making large numbers of "baby" objects (objects in the "nursery" or "generation 0") and immediately losing them. Whenever a generation pass comes along, there are hardly any nursery objects to visit (they almost all been lost due to the "garbage velocity"), and the tenured objects aren't traversed either, so ... it's quick. Quick isn't "free", but it's not "beyond the ability to cope".


Could you please define “garbage velocity”?


Jon pls, do you even Lisp Machine? Seriously, you can't base your opinion on kernels/OS:s written in Lisp on this guy's hobby project. I know what you think of GC, but history shows what an industrial Lisp OS is like and it's awesome.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: