[HN Gopher] Andrew S. Tanenbaum Receives ACM Software System Award
       ___________________________________________________________________
        
       Andrew S. Tanenbaum Receives ACM Software System Award
        
       Author : JacobAldridge
       Score  : 219 points
       Date   : 2024-06-22 14:12 UTC (8 hours ago)
        
 (HTM) web link (vu.nl)
 (TXT) w3m dump (vu.nl)
        
       | SkyMarshal wrote:
       | Well-deserved, congrats Andrew. I still have his distributed
       | systems textbooks from way back when, and still wish Minix had
       | won and its microkernel model had become the basis of the FOSS
       | *nix ecosystem.
       | 
       | Also in case anyone is not aware, Andrew runs the election
       | science blog Electoral Vote [1], using an electoral college poll
       | model to analyze and predict US elections. One of the better US
       | political sites out there.
       | 
       | [1]:https://www.electoral-vote.com/evp2024/Info/welcome.html
        
       | fermigier wrote:
       | I read Operating Systems: Design and Implementation in 1988 or
       | 1989, and it was an insightful and pleasing experience. I only
       | wished, at the time, that there was some Unix-like OS that was
       | "free" (for some intuitive value of the word "free", rather than
       | the formal definition, which I hadn't heard of yet at the time).
       | This could have been Minix.
        
         | trollied wrote:
         | It was one of my degree course books. Thoroughly enjoyed it!
        
         | andyjohnson0 wrote:
         | One of the best textbooks I had to read for my degree, back in
         | the 80s. The appendix containg the Minix source code was my
         | first exposure to a large body of well-written C code.
        
       | michh wrote:
       | Not to mention MINIX is hidden away in almost every modern Intel
       | CPU as part of its Management Engine. This little known fact
       | makes it one of the most widely distributed operating systems.
        
         | Rochus wrote:
         | Why did they use Minix and not e.g. L4 or sel4?
         | 
         | Which version of Minix did they actually use? There is Minix
         | v3.1 (released in 2005 with the book), 3.2 (released in 2012)
         | and 3.3 (released in 2014).
        
           | actionfromafar wrote:
           | Or Minix 2?
        
           | michh wrote:
           | As to why, no idea. I guess some engineer was just familiar
           | with it from their undergrad days like the rest of us.
           | 
           | And which version, I know it's MINIX 3 but beyond that? No
           | idea. They probably heavily modified it and as Minix is not
           | GPL, Intel never published it. Based on the timelines it's
           | likely 3.1 as the ME platform has heen around since
           | approximately 2007 iirc.
        
             | Rochus wrote:
             | > _it's likely 3.1 as the ME platform has heen around since
             | approximately 2007_
             | 
             | Then I guess it's one of the 3.1.3x versions released in
             | 2007 (see https://github.com/Stichting-MINIX-Research-
             | Foundation/minix...), or maybe 3.1.2 from 2006, depending
             | how long hey had to implement the ME.
        
           | looperhacks wrote:
           | The original L4 (I believe) wasn't commercially available und
           | sel4 is GPL licensed. Minix has a BSD license, so maybe
           | that's why
        
             | LeFantome wrote:
             | 100% because of the license
        
             | Rochus wrote:
             | The original L4 was written in assembler and replaced by
             | different other implementations long before the ME platform
             | was developed. Pistachio was in development around that
             | time and available under BSD.
        
           | snvzz wrote:
           | Besides what others pointed out, Minix3 is engineered for
           | fault tolerance foremost. seL4 has different goals.
        
           | sillywalk wrote:
           | AIUI Sel4 is just a kernel, so adding all the "management
           | engine crap" - networking stacks, drivers etc. would be a lot
           | of work. Minix came with 'batteries' included.
        
       | ivankolev wrote:
       | Still have a cd-rom with copy of minix3, from when he had a talk
       | in my university. His books on OS and Networking are very
       | approachable and fun read!
        
       | alphabeta2024 wrote:
       | I was failing badly in my computer architecture courses. Received
       | a 5% score in one of the mid-terms. Switched from the recommended
       | book to Andrew's book and did nothing apart from read it everyday
       | for 2 hours. Received 100% in the final. Such an amazingly
       | approachable book. :-)
        
         | blast wrote:
         | Wow. Which book?
        
           | kenniskrag wrote:
           | One of these: https://media.pearsoncmg.com/bc/abp/cs-
           | resources/products/se...
        
       | emporas wrote:
       | I have read Tanenbaum's book twice. Really great book. Very dense
       | in information but enjoyable as well. That and the Common Lisp
       | Reference Manual were at some point my favorite CS readings. I
       | was reading them in printed form.
        
         | alex_suzuki wrote:
         | Which one? He has written more than one great book. :-)
        
           | emporas wrote:
           | Yeah i didn't specify, i think it is the "Modern Operating
           | Systems". I read it in Greek and I don't remember the title,
           | maybe the title was translated a little bit different. It was
           | not the Minix book, i have not read that unfortunately.
           | 
           | Now however, i am sold on the idea of the Lisp Machine.
           | Hopefully some day a lisp OS and hardware will be a viable
           | way to use a computer.
        
       | alex_suzuki wrote:
       | His book "Computer Networks" was one of my favourites in my
       | CompSci study days. Many years later I gave lectures on
       | Distributed Systems at a business school and based the material
       | on the book. Still feels relevant, even today.
        
         | globular-toast wrote:
         | This was my favourite textbook of my entire undergrad CS
         | studies. I still have it on my shelf to this day. I've never
         | gone deep into networking but the broad knowledge has stayed
         | with me and comes in useful again and again. I would say it
         | sets me apart from many other engineers.
        
       | fancyfredbot wrote:
       | This is a richly deserved award for a great educator who makes
       | computer science both accessible and enjoyable.
       | 
       | Structures computer organisation is supposed to be a textbook but
       | it's written so well I found myself reading it cover to cover
       | like a thriller.
       | 
       | You won't find many people saying that about Knuth for example
       | (not to say anything against Knuth who is amazing in his own
       | way).
        
       | GTP wrote:
       | It's funny to see how they highlight that it inspired Linux,
       | ehile Tanenbaum heavily criticized it for not being a microkernel
       | :D
        
         | LeFantome wrote:
         | Well, it "inspired" Linux because Linus was unhappy with Minix.
         | Linus wanted UNIX and Minix was not what he was looking for. I
         | don't think emulating Minix itself was ever his goal. He chose
         | the Minix file system originally but this was just pragmatic as
         | that is what his drive was formatted with.
         | 
         | The earliest versions of Linux were written on Minix though.
         | Credit where credit is due.
         | 
         | Interestingly, Linus was unaware of BSD. He has said that, if
         | he had known about it, he may never have written Linux to begin
         | with.
        
           | gpvos wrote:
           | When Linux was written BSD was still encumbered by non-BSD-
           | licensed AT&T code. That changed a year or so later.
        
           | GTP wrote:
           | IIRC the very first installations of Linix started with Minix
           | as a base, that then was "patched" into Linux. So it was more
           | than just the filesystem. But yes, Torvalds wasn't happy with
           | Minix, and Tanenbaum wasn't happy with Linux.
        
       | latenightcoding wrote:
       | is MINIX abandonware now? Many years ago I tried to install the
       | release that works (or comes bundled) with a light window manager
       | but it was not trivial and it looked pretty abandoned even back
       | then.
        
         | boricj wrote:
         | MINIX3's development has stalled years ago.
         | 
         | Basically, around MINIX 3.2.0 (just before I stated
         | contributing) the OS ditched its homegrown userland and adopted
         | the NetBSD source tree + pkgsrc. While that boosted the
         | software compatibility of MINIX3 in the short term, the
         | maintenance burden of keeping up with upstream with such a
         | large diff proved unsustainable in the long term, especially
         | after the grant money dried up.
         | 
         | In hindsight, my opinion is that MINIX3 should've gone with
         | NetBSD binary compatibility. The NetBSD syscall table would've
         | been a far slower moving target to keep up with than the entire
         | NetBSD source tree.
         | 
         | The OS also had a significant amount of tech debt, especially
         | in the microkernel which was uniprocessor and 32-bit only, as
         | well as outdated hardware support which meant nobody was daily-
         | driving it anymore. It also was an aging design: while the
         | system was divided up into user-mode servers with message-based
         | communication, you couldn't containerize a process by spawning
         | a parallel userland ecosystem for example because it wasn't
         | capability-based or namespaceable.
         | 
         | It's too bad really, because the base system had really
         | impressive capabilities. It could transparently survive crashes
         | of stateless drivers, even when stress-testing it by injecting
         | faults into the drivers at runtime. You could live-update the
         | various system services at runtime without losing state or
         | impacting clients. Some really good papers came out of MINIX3
         | [1].
         | 
         | I've ranted more in detail before, both on HN [2] as well on
         | Google Groups [3]. I do not fault the maintainers for the
         | current state of affairs because keeping up the MINIX3 userland
         | against modern software standards was a major maintenance
         | burden, so adopting NetBSD's one way or another was inevitable.
         | At any rate, there are other micro-kernel based operating
         | systems [4], some under active development, so MINIX's spirit
         | lives on.
         | 
         | [1] https://wiki.minix3.org/doku.php?id=publications
         | 
         | [2] https://news.ycombinator.com/item?id=34916261
         | 
         | [3]
         | https://groups.google.com/g/minix3/c/qUdPZ0ansVw/m/7LuOv0YOA...
         | 
         | [4] http://www.microkernel.info/
        
         | LeFantome wrote:
         | Not even a commit in years. Yes, I would say it is dead.
        
       | electrodank wrote:
       | I see ASTs books, in particular the hands-on Minix ones, as
       | sitting on the same "plane" as the philosophy espoused in The
       | Night Watch paper. Ultimately the paper is about a level of
       | comfort with reality that is at it's core rooted in familiarity
       | with rather than ignorance due to abstractions, and having
       | learned fearlessness rather than helplessness. While it is highly
       | unlikely you will be having a debugging session that has you
       | executing kernel-level code alongside having an
       | oscilloscope/logic probe hooked up to the pins of a processor
       | chip to monitor data lines (though we all know someone who does
       | this without a second thought), having this level of knowledge
       | and comfort with being ever so slightly closer to the silicone,
       | the data sheet of the processor somewhere near by, the memory
       | segmentation modes not too alien of a concept, is a great boon to
       | a software developer. It is a leap that I think everyone should
       | try just once, and with it, abolish any notion of mental barriers
       | that prevent one from understanding how things really work.
        
       | ginko wrote:
       | It's kind of sad systems research pretty much stopped at this
       | point. I really was hoping that by 2024 I'd be running a
       | distributed operating system where processes could be be freely
       | migrated between my phone, desktop, laptop and NAS without too
       | much of a hitch.
        
         | fooker wrote:
         | The research has not stalled at all, the incentive to make
         | consumer devices has because of the capture by tech giants. If
         | someone wanted to implement an interesting idea like this, they
         | would be harshly judged for not being able to compete with
         | pixels and iphones for the rest of the stack. See Rabbit for
         | example.
         | 
         | What you are describing is the bread and butter of modern
         | systems research and _all_ the large cloud providers internally
         | implement this kind of thing.
        
       | rossant wrote:
       | He wrote great books. I am ashamed to admit his OS book served as
       | a monitor support on my desk for some time.
        
       | thr0waway001 wrote:
       | Man, his Computer Networks books were dense but they had a lot of
       | good stuff in them. They also had really good and fun looking
       | covers.
        
       | santiagobasulto wrote:
       | I'll never forget this. I was listening to a talk by Reed
       | Hastings (Netflix Founder/CEO) at (I think was) Stanford. He was
       | explaining how he came up with the idea of Netflix. A student
       | asked: "when did you realize you had to switch to the internet".
       | At which he replied: "that was the idea from the beginning. We
       | knew networks were going to become what they are today. Look,
       | there's a saying in a CS textbook that says: 'never underestimate
       | the bandwidth of a truck full of tapes over the interstate'. We
       | knew we had to ship the DVDs first until at some point the
       | network would reach our desired level".
       | 
       | While I was watching that i said: "DUDE! I remember that quote
       | (and that illustration)". Went to my text book and there it was.
       | In Tanenbaum's networking textbook.
       | 
       | Aside from the anecdote, this guy has had a huge influence in the
       | whole industry (not even mentioning the Kernel debates).
        
       ___________________________________________________________________
       (page generated 2024-06-22 23:00 UTC)