Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Comments

top

Linux 2.4.0-prerelease is Released

q000921 Re:Monolithic kernel design (129 comments)

Also, modularity really doesn't suffer at the hands of a macrokernel.

In the current Linux kernel, there are few constraints on what part of the kernel a module can depend on or what data structures it can modify. And any fault in a kernel module can cause the whole kernel to crash.

Both of those issues make it really difficult for people to add new functionality to the kernel, and I think are significantly responsible for the long release cycles.

A microkernel isn't the only approach to achieving this kind of modularity--using a language with a little bit more error checking and support for interfaces would do the same thing without the overhead of a microkernel design. And adding runtime support for C++, natively-compiled Java, a JIT, Modula-2, Oberon, Modula-3, or any of a number of a number of other languages would be feasible. But my impression is that that would not stand a chance of making it into the distribution even as an optional module.

more than 13 years ago

Submissions

q000921 hasn't submitted any stories.

Journals

q000921 has no journal entries.

Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>