[PREV - E_V]    [TOP]

TANNENBAUM_MICROK


                                             September 4, 2021


As I commened in an aside:
                                                       E_V
     There was a heated dispute between Tannebaum
     and Linus Torvalds-- Tannenbaum was critical
     of the "monolithic" design of Linux, which
     put Torvalds on the defensive...

     I've got no strong opinion on the technical
     issue there, but I note that the open source
     operating system that was *not* monolithic          Further, I might note that
     (Stallman's "Hurd") never got far enough for        there's constant tension in
     serious use-- Stallman's comment was that           code design between modular
     the design was "Very hard to debug", a              specialization, and more
     failing I've seen in many other otherwise           monolithic designs where the
     superficially attractive software designs.          pieces don't have to work so
                                                         hard to talk to each other.

                                                            Like many issues in software
                                                            design, each side has
                                                            fanatic adherents, but it's
                                                            not hard to find examples
                                                            to support either approach.
                                                            As usual, we don't *really*
                                                            know what we're doing, we
                                                            just shout really loudly
                                                            about it.


Tannenbaum re-iterates his side of the Minix vs Linux debate,
and makes the claim that *his* design was easier to debug:
                                                                    This is one of the
  "Thus, of course, Linus didn't sit down in a vacuum               universal claims
  and suddenly type in the Linux source code. He had                made by all
  my book, was running MINIX, and undoubtedly knew the              software: lower
  history (since it is in my book). But the code was                maintenance costs.
  his. The proof of this is that he messed the design
  up. MINIX is a nice, modular microkernel system,
  with the memory manager and file system running as
  user-space processes. This makes the system cleaner                https://www.cs.vu.nl/~ast/brown/
  and more reliable than a big monolithic kernel and
  easier to debug and maintain, at a small price in
  performance ..."

  "An example of commercially successful microkernel is
  QNX. Instead of writing a new file system and a new           It may be "commercially
  memory manager, which would have been easy, Linus             successful", but I
  rewrote the whole thing as a big monolithic kernel,           don't think I've ever
  complete with inline assembly code :-( . The first            heard of it.
  version of Linux was like a time machine. It went back
  to a system worse than what he already had on his
  desk. Of course, he was just a kid and didn't know
  better (although if he had paid better attention in
  class he should have), but producing a system that was
  fundamentally different from the base he started with
  seems pretty good proof that it was a redesign."





--------
[NEXT - INTEL_ME_NOT_FOR_ME]