santiagobasulto 3 months ago

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).

SkyMarshal 3 months ago

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

  • nicwolff 3 months ago

    People should know that electoral-vote.com is not just an election science blog at this point; Andrew and his co-writer Christopher Bates publish a very cogent summary each morning of the previous day's political news and its possible effects on US politics. You could read only their dispassionate but witty daily posts and be a reasonably well informed American citizen.

alphabeta2024 3 months ago

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. :-)

  • grugagag 3 months ago

    I had Tannenbaum books in in two of my CS courses too 2 decades back. They were great textbooks, found them quite accessible too

  • jdougan 3 months ago

    Out of curiosity, which was the recommended book?

    • trueismywork 3 months ago

      Some horrible local author whose name I now forget. Andrew's book was Structred Computer Organization

    • asp_hornet 3 months ago

      Not OP but if it was computer architecture i imagine it would be “structured computer organisation”.

      One if my favourite books on computers and looking at the comments, many people here too.

      Source: this book got me top marks too

fancyfredbot 3 months ago

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).

electrodank 3 months ago

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.

michh 3 months ago

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 3 months ago

    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).

    • michh 3 months ago

      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.

    • looperhacks 3 months ago

      The original L4 (I believe) wasn't commercially available und sel4 is GPL licensed. Minix has a BSD license, so maybe that's why

      • Rochus 3 months ago

        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.

      • LeFantome 3 months ago

        100% because of the license

    • sillywalk 3 months ago

      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.

    • snvzz 3 months ago

      Besides what others pointed out, Minix3 is engineered for fault tolerance foremost. seL4 has different goals.

  • chipdart 3 months ago

    > Not to mention MINIX is hidden away in almost every modern Intel CPU as part of its Management Engine.

    Sometimes I wonder how the world would be today if MINIX was distributed with a FLOSS license similar to Linux. I think the Linus Torvalds vs Andrew Tanenbaum debate could have been a pivotal moment in tech history by the way MINIX missed a huge opportunity to step up in the history.

    • scotteric 3 months ago

      And now, Minix is sadly abandoned.

  • luyu_wu 3 months ago

    I'm curious if this is actually true, considering various ARM MCUs and SOCs seem to dominate in quantity. Considering these largely run some sort of Linux or RTOS, I'd be curious to see if MINIX or Linux is more widespread?

  • intelVISA 3 months ago

    ACM should call on AST to disavow this before receipt of any award.

fermigier 3 months ago

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.

  • andyjohnson0 3 months ago

    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.

  • trollied 3 months ago

    It was one of my degree course books. Thoroughly enjoyed it!

alex_suzuki 3 months ago

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 3 months ago

    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.

  • supriyo-biswas 3 months ago

    Although this is a thread about Tanenbaum, personally I feel that Data Communications and Networking by Forouzan helps explain things in a better way and goes into the details of each network layer.

    Modern Operating Systems is great though, and when I was in college I've recommended it to peers whose feedback was along the same lines.

ginko 3 months ago

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.

  • surajrmal 3 months ago

    There is still a lot of research and innovation, but it doesn't always come in the way of completely new software projects. The cost of trying to build a new OS is simply massive. You need to be compatible with existing useful software if you want to do anything other than an appliance. Anything that provides a new paradigm shift that requires changing existing software has a huge slog ahead of it to make it successful. That said, there is tons of incremental progress in the operating systems.

    I think a lot of folks have thought about the idea of a truly distributed operating system. I'm pretty sure existing operating systems will eventually evolve in that direction. You already see bits and pieces of it popping up.

  • devonkim 3 months ago

    Sounds like you like myself have taken Rob Pike’s take from long ago to heart http://www.herpolhode.com/rob/utah2000.pdf

    While plenty of things have happened since that paper, I have this sinking feeling that he was right and we just stopped trying to really expand and explore what’s possible. But it may be more a matter of the state of academia than about the domain itself. It’s not like people were getting a bunch of conference invitations for GPGPU applications with ML until hype freight trains hit. This sobering reality of academic hegemony and grant chasing kept me from ever getting terribly interested in systems research unfortunately.

  • fooker 3 months ago

    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.

  • supriyo-biswas 3 months ago

    You should be looking at infrastructure related roles for this stuff; live migrations of VMs and containers are regularly done when you drain a VM or Kubernetes minion, for example.

    For consumers, they mostly care about the user experience. Having software that syncs their contents to a server thus making it available to all devices has much lower overhead than trying to live migrate a process over unreliable networks.

  • starspangled 3 months ago

    This type of thing always seemed to be in the very cool but pointless basket, to me.

    A lot of systems researchers were absolutely obsessed with clustering, network transparency, distributed systems, and viewed them as the pinnacle of the operating system. I never understood why. I completely understand the coolness factor mind you, I just never could see why it was so important that your server-laptop-phone-network system behaved as a single system.

    I think a lot of effort was wasted chasing that dragon. Wasted is probably the wrong word because research into cool things is good and probably created useful things along the way. I don't feel there was ever enough justification put into it and it could possibly have been better spent though.

    The alternative of having multi-system tools and programming models that allow you to manage multiple systems without having them appear as a single image at the lowest level didn't get much love from academia after TCP/IP, and was largely developed by industry.

    • rramadass 3 months ago

      Very strongly disagree with you here.

      We should have had a distributed OS like Amoeba/Plan9/Inferno/etc. allowing us to manage all our chosen set of devices using a single uniform interface i.e. "A Namespace" (in Plan9/Inferno speak). Such namespaces can themselves be connected into "Hierarchical Namespaces" and so on. This is a natural and easy way to let users keep their control over their devices while still being connected to the "Greater Internet".

      But the Industry manipulated us into the Cloud model so that they could retain control and make money off of us. It was all Business to the detriment of a better User Experience via Technology.

      • starspangled 3 months ago

        > We should have had a distributed OS like Amoeba/Plan9/Inferno/etc. allowing us to manage all our chosen set of devices using a single uniform interface i.e. "A Namespace" (in Plan9/Inferno speak). Such namespaces can themselves be connected into "Hierarchical Namespaces" and so on. This is a natural and easy way to let users keep their control over their devices while still being connected to the "Greater Internet".

        Why should we have?

        > But the Industry manipulated us into the Cloud model so that they could retain control and make money off of us. It was all Business to the detriment of a better User Experience via Technology.

        The choice was not cloud or distributed single system machine, they were and are orthogonal.

        • rramadass 3 months ago

          > Why should we have?

          Because that is what an OS is supposed to do viz. provide a uniform interface and transparent access to various Compute, Storage and Network resources wherever they might be. A Distributed OS (https://en.wikipedia.org/wiki/Distributed_operating_system) is a natural extension to a Single Node OS. Note that we have in a sense realized our distributed OS in the IaaS and PaaS layers of a Cloud network. However they are done in such a manner as to take control away from us unless of course you use some open source offerings setting up which is much more complex than a distributed OS should be.

          • starspangled 3 months ago

            I don't find "we should do that because that's what we're supposed to do" a compelling argument. If you rephrase the assertion that just leads to a rephrased question, why is the OS supposed to do that?

            There are many layers and components, and functionality can be implemented in many different ways in different levels of these things.

            • rramadass 3 months ago

              > why is the OS supposed to do that?

              Definition and Purpose of an OS - https://en.wikipedia.org/wiki/Operating_system#Definition_an...

              I am not sure what you are arguing here. The above definition + the previous link to distributed OS where the motivations for the same are listed establish the "reason". If you find other approaches more palatable that is fine (provided you know what you are doing) but the original blanket statement you made viz. "This type of thing always seemed to be in the very cool but pointless basket, to me ... I think a lot of effort was wasted chasing that dragon. Wasted is probably the wrong word because research into cool things is good and probably created useful things along the way. I don't feel there was ever enough justification put into it and it could possibly have been better spent though." is wrong.

              > There are many layers and components, and functionality can be implemented in many different ways in different levels of these things.

              All implementations are not equivalent w.r.t. all parameters; hence the various tradeoffs in competing designs.

              • starspangled 3 months ago

                Operating system purpose on some website is vague and not some canonical truth. It doesn't even necessarily say what you think it does, and doesn't justify itself if it did anyway.

                > I am not sure what you are arguing here.

                I'm not sure why you're replying then.

                > All implementations are not equivalent w.r.t. all parameters; hence the various tradeoffs in competing designs.

                I know, and not all are equally good.

                • rramadass 3 months ago

                  > Operating system purpose on some website

                  Some Website? It's Wikipedia and curated; short of handing you a book (i recommend Tanenbaum) that is a good place to start from and then branch out of.

                  > It doesn't even necessarily say what you think it does,

                  That means you have not understood it.

                  > I'm not sure why you're replying then.

                  Because you made a untenable blanket statement that Distributed OS research was all wrong which cannot go unchallenged.

                  > I know,

                  I doubt it based on this conversation.

                  • starspangled 3 months ago

                    > Because you made a untenable blanket statement that Distributed OS research was all wrong which cannot go unchallenged.

                    You definitely didn't understand the first thing I wrote, or you're deliberately misrepresenting it because you're intellectually incapable of addressing it.

                    • rramadass 3 months ago

                      Weasel words and Ad hominem attacks are not arguments; I had quoted your own words to you which leaves no doubt as to your position.

                      • starspangled 3 months ago

                        "Because you made a untenable blanket statement that Distributed OS research was all wrong which cannot go unchallenged."

                        That was not my direct quote, so you can dismount your high horse now.

                        And it's telling that responding to the question of why an OS should do these things, you finding a definition of an OS and asserting (falsely, I might add) that transparent distributed systems and only those meet that definition.

                        • rramadass 3 months ago

                          > That was not my direct quote, so you can dismount your high horse now.

                          You apparently can't follow a chain of comments in a thread nor understand what is written down. My comment pointing out yours is here - https://news.ycombinator.com/item?id=40784174

                          > And it's telling that responding to the question of why an OS should do these things, you finding a definition of an OS and asserting (falsely, I might add) that transparent distributed systems and only those meet that definition.

                          Again, you have not read/understood what has been written down nor the sources to which i linked to elaborate my points. And also i never said "that transparent distributed systems and only those meet that definition". In my comment here https://news.ycombinator.com/item?id=40766810 i explicitly say "an OS is supposed to do viz. provide a uniform interface and transparent access to various Compute, Storage and Network resources wherever they might be." and then link to the distributed OS Wikipedia page for further details. If you had cared to even read that page you would have understood the key "Design Considerations" (see https://en.wikipedia.org/wiki/Distributed_operating_system#D...) driving the approach. It is the "User Experience" that makes a distributed OS approach so compelling; though its realization can be more complex/difficult compared to other approaches w.r.t. certain parameters eg. Scaling.

                          To summarize, i would advise you to read up on Distributed OS research before making silly blanket claims which can be easily disproved. Just because today the Cloud model has established itself as the industry standard doesn't mean that is the correct approach. You have to know both sides before you can argue for/against.

                          • starspangled 3 months ago

                            > My comment pointing out yours is here - https://news.ycombinator.com/item?id=40784174

                            That's not the one I was responding to. I replied to the comment I was responding to, it's not that complicated.

                            > Again, you have not read/understood what has been written down nor the sources to which i linked to elaborate my points. And also i never said "that transparent distributed systems and only those meet that definition".

                            That was certainly the implication if you use that to answer the question, why must the OS do that.

                            You do understand how "The OS must do it because that's how I define the OS" does not actually say anything, right? Even if that is the definition of the OS (which it isn't), it just shifts the question to "why should the OS be defined that way?"

                            • rramadass 3 months ago

                              > That's not the one I was responding to. I replied to the comment I was responding to, it's not that complicated.

                              That is precisely the point; when something is referred to in a chain you have to look at where and not necessarily in front of your nose; it's not that complicated.

                              > That was certainly the implication if you use that to answer the question, why must the OS do that.

                              No, most certainly it is not when you are explicitly being pointed to resources where more details can be found. You are expected to do some self-study and not necessarily spoon fed when it comes to absolute basics like "why is a OS needed?".

                              > You do understand how "The OS must do it because that's how I define the OS" does not actually say anything, right? Even if that is the definition of the OS (which it isn't), it just shifts the question to "why should the OS be defined that way?"

                              You are either being intentionally obtuse or really are. The motivation for an OS is buried in its definition; this is CS101 and not something deep which you seem to think it is and i even linked you to the necessary definitions and mentioned terms like "Transparency, Resource Management, User Experience, etc." to highlight the essentials.

                              At this point i am can only conclude that you are repeating the same vague statements (they are not even an argument) over and over again without providing an iota of hard data (which i have done) because you really have no clue.

  • rramadass 3 months ago

    > 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.

    This was what i always wanted ever since i read Tanenbaum's "Modern Operating Systems" and in particular his "Amoeba distributed OS" - https://en.wikipedia.org/wiki/Amoeba_(operating_system) Also see Plan 9/Inferno from Bell Labs. But instead what we got (due to industry shenanigans) is this garbage/duct-tape of distribution gone crazy in the "Cloud".

  • sangnoir 3 months ago

    If you really wanted to do this, it would be fairly trivial to implement with Erlang/Elixir. We have thr technology - just no motivation (i.e. no profit in it)

    • rramadass 3 months ago

      Hey! Don't let out the secrets :-) This is something i have been long thinking about (but have done nothing practical so far). The problem is how to bridge/shim between Erlang and those platforms which do not support it eg. Android (though some people seem to have done it - https://github.com/JeromeDeBretagne/erlanglauncher). Joe Armstrong actually called the Erlang/OTP System as a AOS (Application Operating System) in his paper i.e. it contains much of the functionality of a traditional OS but people seem to ignore it and insist on calling it "just another language".

      • sangnoir 3 months ago

        IMO, you lose half the benefits by shimming OTP (genserver, hot-reload). Platform owners like Apple or Google could easily make Erlang processes first class citizens on their Unix(-like) platforms - one can already run full-fledged Erlang/OTP processes on Android (via Termux).

        I imagine in an alternative universe were interoperability is more profitable than walled gardens, this technology exist and was standardized and not just a preserve of a few services on iDevices that can "hand-off" to each other (without process migration)

pridkett 3 months ago

Another awesome fact about Tanenbaum is that he was the person behind electoral-vote.com. Prior to everyone having their own model and Nate Silver (err, should I say Poblano?) running the table in 2008, this was the place to go understand the 2004 US Presidential Election between Bush and Kerry. Hugely helpful for many people to understand polling and statistics.

  • quesera 3 months ago

    > he was the person behind electoral-vote.com

    electoral-vote.com is still going strong: https://www.electoral-vote.com/

    I'm sure you know this, but I want to emphasize it for anyone who is not aware.

    Prof Tanenbaum has a co-writer now (Prof Bates, history at UCLA/Cal Poly), and the site is published every day (used to be weekdays only and only during election cycles).

emporas 3 months ago

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 3 months ago

    Which one? He has written more than one great book. :-)

    • emporas 3 months ago

      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.

eimrine 3 months ago

I want to appreciate Andrew Tanenbaum for making possible the world's most popular OS, Intel ME. This system has been made absolutely right in every its piece except license. Minix under GPL would not let megagorporations to backdoor every functional x86 chip on the planet.

  • SkyMarshal 3 months ago

    A different license wouldn't change that. They would just find some way to do it with BSD or some other OS.

  • BSDobelix 3 months ago

    >right in every its piece except license.

    But then it would not be the "most popular OS" right? Whats your logic here?

  • hun3 3 months ago

    What keeps it from becoming a free software backdoor?

    • luyu_wu 3 months ago

      GPL would theoretically force ME to open its source code.

      • hun3 3 months ago

        Yes, so an open source...backdoor.

kleiba 3 months ago

Err, perhaps I'm missing something, but if the ACM Software System Award is presented to an institution or individual(s) recognized for developing a software system that has had a lasting influence, how come Linus hasn't got his yet?

  • intelVISA 3 months ago

    Perhaps a consolation prize that Linus doesn't need...

  • surajrmal 3 months ago

    I wonder if they simply don't want to reward his toxicity.

    • ohmyiv 3 months ago

      Damn, how'd you get stuck in the pre-2018 era? Come stay in the present, things are alright.

Abishek_Muthian 3 months ago

I came across Tanenbaum's Operating Systems book during my CS and it had a huge influence over me, till then I was a huge Windows nerd and after reading the book I felt like I was being cheated by Windows, like I was denied something which was rightfully mine.

I hated my labs as it had only Windows, started exploring *nix systems post class and never went back.

Thank you Mr.Andrew and congratulations.

GTP 3 months ago

It's funny to see how they highlight that it inspired Linux, ehile Tanenbaum heavily criticized it for not being a microkernel :D

  • LeFantome 3 months ago

    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.

    • guiambros 3 months ago

      The whole flame war between the two is worth a read [1], at least for historical reasons; very different points of view. And while Linus disagreed with Tanenbaum's POV, I Tanenbaum's criticism to Linux made it actually better.

      [1] https://groups.google.com/g/comp.os.minix/c/wlhw16QWltI#9f3c...

      • kalleboo 3 months ago

        My favorite thing about that whole thread is the unanimous consensus among everyone involved that we will all be running GNU/Hurd in 2 years so these stopgap OSes are just academic hobbies.

        • flykespice 3 months ago

          They meant 2 centuries, for the while well have to deal with these stopgap academic hobbies OSes /j

    • GTP 3 months ago

      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.

    • gpvos 3 months ago

      When Linux was written BSD was still encumbered by non-BSD-licensed AT&T code. That changed a year or so later.

geekraver 3 months ago

Along with K&R (and K and Plauger’s “Software Tools”), the Dragon book, Bentley’s Programming Pearls, and Holzmann’s Beyond Photography, AST’s books were the most formative in my life (I started coding in 1976 but was self-taught until early 80s when I got to college and read all these brilliant works). Long overdue recognition; so many people benefited from the lucidity of these minds.

thr0waway001 3 months ago

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.

bouvin 3 months ago

I was myself taught Computer Architecture in 1991 using the Tanenbaum SCO book, and many years later taught the Computer Architecture course for four years using the SCO book (a later edition, but still!). A true classic, and if anything, it is a wonder that Tanenbaum had not already received the award.

rramadass 3 months ago

Every student should read Tanenbaum's "Structured Computer Organization". It was the first book which showed me the logical layering involved in a "Computer System" which is absolutely essential to understanding this field.

latenightcoding 3 months ago

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 3 months ago

    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/

    • snvzz 3 months ago

      Still waiting for that Minix 3.3.0 release, after so many RCs.

      I followed the project somewhat, and I understand the main issue has been lack of having someone at the helm, pursuing this 3.3.0 release.

      The situation is such that the release blocking bugs were fixed, and yet the release hasn't happened, because nobody is willing to put the time and effort to make it happen.

      Should the release happen, and somebody be willing to review and merge changes and organize a regular schedule of releases (even with a long period, such as yearly), the system would no doubt get some life back.

  • LeFantome 3 months ago

    Not even a commit in years. Yes, I would say it is dead.

rossant 3 months ago

He wrote great books. I am ashamed to admit his OS book served as a monitor support on my desk for some time.

Sporktacular 3 months ago

So what is the outcome of the kernel war? Performant micro-kernels have settled it no?

082349872349872 3 months ago

IIRC, Structured Computer Organization played the same role for me, back in the day, that I think From Nand to Tetris has for many of you all.

ivankolev 3 months ago

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!

braza 3 months ago

For who does not know, his books used as textbook in South American universities for years during 90s.

talideon 3 months ago

I'm genuinely surprised this hasn't happened already!

sciencesama 3 months ago

Well ge wrote complex textbooks that spoiled my college days

BSDobelix 3 months ago

It's so sad that all the work on Minix3 has stopped.

nsbk 3 months ago

Hell yeah! Well deserved. I had a blast with some of his books. Especially _Operating Systems: Design and Implementation_ and _Computer Networks_. Legend