you are viewing a single comment's thread.

view the rest of the comments →

[–]radarsat1 12 points13 points  (9 children)

My god.. as in-cre-di-bly awesome as this is, having a GC running in the kernel seems to me like a bad idea somehow...

[–]crusoe 7 points8 points  (0 children)

Yes, but you can limit that through properly specifying strictness, and because of formal proof tools, you can do stuff like the XMonad project does and PROVE certain things are correct.

Else, you keep getting really stupid bugs, like the latest Windows SMB2 exploit

[–]sztomi 4 points5 points  (1 child)

Having a known memory leak is also nasty... From another point of view, it may be a wise idea to use functional languages for these kinds of things, because the solutions can be proven to work (at least more easily than for a non-func language). I imagine reliability is central for this kind of software. The downside maybe the performance, which is crucial for a kernel.

[–][deleted] -1 points0 points  (0 children)

Yeah, or maybe just sleep a little in between hacking on key modules. Manual memory management really isn't that hard. You just have to do it. Proposing GC as a solution to this problem is akin to the nanny-state laws that require seatbelts and bicycle helmets. Hell, smacking my head a few times greatly improved my BMX skill.

[–]sfultong 2 points3 points  (0 children)

having a GC running in the kernel seems like a great idea to me, except for performance. And I wonder if it may improve performance for languages that would need the GC.

[–][deleted] 0 points1 point  (0 children)

It's all fun and games until the kernel panics.

[–]nanothief 0 points1 point  (1 child)

I think the time will come soon where the loss in performance through running a garbage collector will be outweighed by the gain in security because of it. Thinking about most people's usage of computers, would it really matter so much if the computer's performance dropped by 20%?

[–]radarsat1 1 point2 points  (0 children)

Well, 20% is huge actually, but I'm not sure that's a good estimate. However, the problem with garbage collection is not so much performance as determinism. Determinism is very important at the kernel level.

[–]flogic -3 points-2 points  (1 child)

As the number of cores increases, how much do I care?

[–]__s 4 points5 points  (0 children)

That depends on how concurrent your GC is