5 ms·
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.
by jblow 12y ago
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.
- edoloughlin 12y agoWhen 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?
- mnemonicsloth 12y agoReal-time GC is a real thing now. Google it.
- jblow 12y agoNo, 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.
- tokenrove 12y agoThis 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/ http://lwn.net/Articles/627419/)
- jacquesm 12y agoIn other shocking news resources are discovered to be finite after all.
- tempodox 12y agoCould you please define “garbage velocity”?
- kazinator 12y agoThe "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".
- morganvachon 12y agoHave 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.
- kazinator 12y agoYet, that wish what the mainstream operating systems effectively deliver, at least whenever you use them for real work.
- emiljbs 12y agoJon 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.