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

I think the GC example is helpful, I know Azul uses it on their custom hardware and they've also said that they're very glad they decided to go with a standard operating system arrangement, no doubt because their main user program is Hotspot, a by now very gnarly monster of a C++ program.

The idea is that it's good to have something below you to pick up the pieces, and for fast/Pauseless GC it's good to give your GC code supervisor level access to stuff like the CPUs virtual memory (Pauseless maps and unmaps VM at a furious rate).

But you're otherwise correct in that to my knowledge no one has found another really good use of intermediate privilege. On Multics, after they got 8 rings in hardware, user code ran in ring 4, the email system ran in an intermediate ring but that wasn't critical and a very few people built systems with sandboxes in ring 5.

Ah, sandboxes could be another example. Wikipedia says the Google Native Client overhead (presumably on x86_32) is 5%, although I seem to remember a higher figure. But of course you need to be running on an operating system that uses rings and Linus didn't take advantage of the 386's ring system (which turned out to be very good for portability, as noted even to x86_64).




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

Search: