21 ms·
LINUX is obsolete (1992)
- wolrah 2y ago> Linus "my first, and hopefully last flamefest" Torvalds If only he knew...
- Asaf51 2y agoThe interesting question is WHY Linux won. Is it the performance? The community?
- jen20 2y agoThe price and thus availability? The lawsuits that were clouding the BSDs at the time?
- ThrowawayR2 2y agoBeing free as in beer and compatible enough with the incumbent UNIX ecosystem to gain initial traction is a big chunk of why Linux won. Giving something of value away for free is extremely hard to compete with. The other part is the UNIX server manufacturers falling behind on performance versus Intel and their fab prowess and AMD with their x86-64 architecture. Sun Microsystems went from being the second highest market cap in tech in 2000 to being bought by Oracle in 2009.
- p_l 2y agoIt was both available without strings (unlike Minix), and yes, performance, though the performance was less because of microkernel vs monolithic, and more because Linus cared about performance and Tanenbaum really really didn't as far as Minix 1&2 were considered - they were "educational" systems and not a serious contender. I haven't read this specific link, but I remember few chosen quotes about how Minix had no "multithreaded VFS" while Linux's monolithic approach meant one was available for free (minus locking). To make it more accessible (because when I first read that comparison I didn't grok it either), the issue is that Minix filesystem server was single threaded and handled one operation, one by one. Linux VFS mechanism (and all "basic" operations triggered by syscalls) run in the thread of the user process that calls them. This means that I/O on minix was starved on single queue of a separate process with effectively no preemption, while on linux at worst you'd run out of scheduler quanta and be descheduled when the VFS op finished instead of getting immediate answer. This is also why BeOS/Android Binder and Solaris (and Spring) Doors system provide multiple threads to handle incoming requests, with Solaris/Spring also "patching over" one's context to minimize amount of work involved in switching them.
- lizknope 2y agoI said in another comment in the thread that the hardware support was a huge part of it. What's the point of an OS if it doesn't have drivers for your hardware?
- phendrenad2 2y agoI think the GPL had a lot to do with it. Corporations are risk-averse and don't like to open-source things. "Our competitor contributed open-source code to Linux, we can too" is an easier sell than "We think our competitor forked FreeBSD, but we're not sure, but we should do the same and release the code".
- tcdent 2y agoGreat reminder that there's more to adoption than just theory on paper; the practicalities, communities and a little bit of inexplicable magic are how new tech really takes off.
- dang 2y agoRelated. Others? The Tanenbaum-Torvalds Debate - https://news.ycombinator.com/item?id=39338103 https://news.ycombinator.com/item?id=39338103 - Feb 2024 (1 comment) Linux Is Obsolete (1992) - https://news.ycombinator.com/item?id=38419400 https://news.ycombinator.com/item?id=38419400 - Nov 2023 (2 comments) Linux Is Obsolete (1992) - https://news.ycombinator.com/item?id=31369053 https://news.ycombinator.com/item?id=31369053 - May 2022 (2 comments) The Tanenbaum – Torvalds Debate - https://news.ycombinator.com/item?id=27652985 https://news.ycombinator.com/item?id=27652985 - June 2021 (7 comments) The Tanenbaum-Torvalds Debate (1992) - https://news.ycombinator.com/item?id=25823232 https://news.ycombinator.com/item?id=25823232 - Jan 2021 (2 comments) Tanenbaum–Torvalds_debate (Microkernel vs. Monolithic Kernel) - https://news.ycombinator.com/item?id=20292838 https://news.ycombinator.com/item?id=20292838 - June 2019 (1 comment) Linux is Obsolete (1992) - https://news.ycombinator.com/item?id=17294907 https://news.ycombinator.com/item?id=17294907 - June 2018 (168 comments) The Tanenbaum-Torvalds Debate (1992) - https://news.ycombinator.com/item?id=10047573 https://news.ycombinator.com/item?id=10047573 - Aug 2015 (1 comment) Linux is obsolete – A debate between Andrew S. Tanenbaum and Linus Torvalds - https://news.ycombinator.com/item?id=9739016 https://news.ycombinator.com/item?id=9739016 - June 2015 (5 comments) LINUX is obsolete (1992) - https://news.ycombinator.com/item?id=8942175 https://news.ycombinator.com/item?id=8942175 - Jan 2015 (74 comments) The Tanenbaum-Torvalds Debate (1992) - https://news.ycombinator.com/item?id=8151147 https://news.ycombinator.com/item?id=8151147 - Aug 2014 (47 comments) Linux is obsolete (1992) - https://news.ycombinator.com/item?id=7223306 https://news.ycombinator.com/item?id=7223306 - Feb 2014 (5 comments) Tanenbaum-Linus Torvalds Debate: Part II - https://news.ycombinator.com/item?id=4853655 https://news.ycombinator.com/item?id=4853655 - Nov 2012 (2 comments) "LINUX is obsolete" - Andy Tanenbaum, 1992 - https://news.ycombinator.com/item?id=3785363 https://news.ycombinator.com/item?id=3785363 - April 2012 (14 comments) Why was Tanenbaum wrong in the Tanenbaum-Torvalds debates? - https://news.ycombinator.com/item?id=3744138 https://news.ycombinator.com/item?id=3744138 - March 2012 (54 comments) Why was Tanenbaum wrong in the Tanenbaum-Torvalds debates? - https://news.ycombinator.com/item?id=3739240 https://news.ycombinator.com/item?id=3739240 - March 2012 (1 comment) Linux is Obsolete [1992] - https://news.ycombinator.com/item?id=545213 https://news.ycombinator.com/item?id=545213 - April 2009 (46 comments)
- mckn1ght 2y ago
- deleted 2y ago[deleted]
- ViktorRay 2y agoThe realization that in 2058 some people will be reading comments from 2025 Hacker News threads and will feel amused at all the things we were so confidently wrong about. ;)
- the_cat_kittles 2y agohopefully people have progressed to the point where hn has been completely forgotten
- esseph 2y agoAre you sure? The husk of slashdot is still around.
- deadbabe 2y agoWe’re not that optimistic about the future here.
- davidw 2y agoMaybe someone will hide a copy of HN in a durable format in a cave and someone will rediscover it one day.
- jll29 2y agoLast time I checked, parchment was the most durable medium mankind ever used on a regular basis. I find it an interesting question to ponder what we consider worthwhile retaining for more than 2000 years (from my personal library, perhaps just the Bible, TAOCP, SICP, GEB and Feynman's physics lectures and some Bach organ scores). EDIT: PS: Among the things "Show HN" has not yet seen is a RasPi based parchment printer...
- deadbabe 2y agoIt would be an interesting project to create an entire archive of books of HN discussions and preserve them for hundreds of years for archivists to explore. I hope they find this comment.
- msla 2y agoHere's the debate in a single compressed text file. https://www.ibiblio.org/pub/historic-linux/ftp-archives/sunsite.unc.edu/Sep-29-1996/docs/misc/linux_is_obsolete.txt.z https://www.ibiblio.org/pub/historic-linux/ftp-archives/suns...
- Naru41 2y agoNo-modularize is strictly good if you can avoid it. Hardcode memory addresses at compile time is simpler and faster.
- lincpa 2y ago[dead]
- ryao 2y agoWhile I could go into a long story here about the relative merits of the two designs, suffice it to say that among the people who actually design operating systems, the debate is essentially over. Microkernels have won. The developers of BSD UNIX, SunOS, and many others would disagree. Also, the then upcoming Windows NT was a hybrid kernel design. While it has an executive "micro-kernel", all of the traditional kernel stuff outside the "microkernel" runs in kernel mode too, so it is really a monolithic kernel with module loading. While the original post was written well before NeXTSTEP, the Mach 3.0 kernel was converted into a monolithic kernel in NeXTSTEP, which later became MacOS. The reality is that Mach 3.0 was just still slow performance wise, much like how NT would have been had they had made it into an actual micro-kernel. In the present day, the only place where microkernels are common are embedded applications, but embedded systems often don't even have operating systems and more traditional operating systems are present there too (e.g. NuttX).
- fmajid 2y agoNot just that but between 3.51 and 4.0 many NT drivers like graphics were moved to ring 0, trading performance for robustness.
- ryao 2y agoDo you mean robustness for performance?
- Numerlor 2y agoAre graphics just specially handled by the kernel with how recoverable they are from crashes?
- p_l 2y agoVista moved graphics mostly out of kernel even if part of GDI was still handled internally, but essentially the driver model changed heavily and enabled restartable drivers and by Windows 7 IIRC the new model was mandatory. In "classic" Windows and NT 4.0 - 5.2 GDI would draw directly into VRAM, possibly calling driver-specific acceleration routines. This is how infamous "ghosting" issues when parts of the system would hang happened. With new model in Vista and later, GDI was directed at separate surface that was later used as texture and composited on screen. Some fast paths were still available to bypass that mainly for full screen apps, and were improved over time.
- hackerbrother 2y agoIt’s always heralded as a great CS debate, but Tanenbaum’s position seems so obviously silly to me. Tanenbaum: Microkernels are superior to monolithic kernels. Torvalds: I agree— so go ahead and write a Production microkernel…
- acmj 2y agoPeople often forget the best way to win a tech debate is to actually do it. Once multiple developers criticized that my small program is slow due to misuse of language features. Then I said: fine, give me a faster implementation. No one replied.
- sedatk 2y ago> so go ahead and write a Production microkernel He has though. Tanenbaum's created the most popular production OS in the world, and it's microkernel based: https://www.networkworld.com/article/964650/minix-the-most-popular-os-in-the-world-thanks-to-intel.html https://www.networkworld.com/article/964650/minix-the-most-p...
- johnisgood 2y agohttps://blog.minix3.org/tag/news/ https://blog.minix3.org/tag/news/ Last post is from 2016. Any news on MINIX front?
- lproven 2y agoAST retired. Nobody's picked up the banner. Damned shame. https://www.osnews.com/story/136174/minix-is-dead/ https://www.osnews.com/story/136174/minix-is-dead/ Intel had profited tens to hundreds of millions of dollars from Minix 3. Minix replaced ThreadX (also used as the Raspberry Pi firmware) running on ARC RISC cores. Intel had to pay for both. If Intel reinvested 0.01% of what it saved by taking Minix for free, Minix 3 would be a well-funded community project that could be making real progress. It already runs much of the NetBSD userland. It needs stable working SMP and multithreading to compete with NetBSD itself. (Setting aside the portability.) But Intel doesn't need that. And it doesn't need to pay. So it doesn't.
- decafbad 2y agoThis guy got a few million euros from EU for a secure OS, if I remember correctly. What happened to that project?
- otabdeveloper4 2y agoResearch was researched extensively. It's a net win for humanity, don't worry about it.
- ryao 2y agoI assume that funding ran out around 2014: https://blog.minix3.org/tag/news/ https://blog.minix3.org/tag/news/
- JodieBenitez 2y ago> Writing a new OS only for the 386 in 1991 gets you your second 'F' for this term. But if you do real well on the final exam, you can still pass the course. what a way to argue...
- otherme123 2y agoIt's the fallacy of authority barely disguised. It works wonders with students. Luckily Linus didn't fall for it.
- snovymgodym 2y agoYeah these lines from Tanenbaum stuck out to me as well. To be fair this response only comes after Linus delivers a pretty rude rebuttal to Tanenbaum's initial points which were still somewhat arrogant but civilly stated. In the grand scheme of things, the whole thread is still pretty tame for a usenet argument and largely amounts to two intelligent people talking past each other with some riffing and dunking on each other mixed in. Makes me come back and appreciate the discussion guidelines we have on this site.
- intelVISA 2y agoThe debate that cemented Tanenbaum as a smug clown in my mind since '92, his poor students!
- lproven 2y agoNah. He was right then and he's right now. You need to understand the theory and the design if you want to design something that will last for generations without becoming a massive pain to maintain. Linux now is a massive pain to maintain, but loads of multi-billion-dollar companies are propping it up. If something only keeps working because thousands of people are paid to labour night and day to keep it working via hundreds of MB of patches a day, that is not a demo of good design.
- pknerd 2y agoAnd as they say, the rest is history.
- deanCommie 2y agoThe Linus response is pretty great -> https://groups.google.com/g/comp.os.minix/c/wlhw16QWltI/m/P8isWhZ8PJ8J https://groups.google.com/g/comp.os.minix/c/wlhw16QWltI/m/P8...
- yallpendantools 2y agoIs it just me or is that response actually...nice and good spirited? I haven't read these annals of computing history for more than a decade now and I expected a bit more vitriol from Linus "Fuck You Nvidia" Torvalds. I mean, okay both sides fire zingers but with far less density than average HN. Also there's https://groups.google.com/g/comp.os.minix/c/wlhw16QWltI/m/tHp9VExAcmMJ https://groups.google.com/g/comp.os.minix/c/wlhw16QWltI/m/tH.... It was, unfortunately, not this young lad's last flamefest. See second sentence of last paragraph. Goodness, the internet really was a nicer place back then. Nowadays, you quote forum etiquette on someone and you get called an idiot for it. I'm touching grass today and I'm gonna be grateful for it.
- ThrowawayR2 2y agoLinus was just an unremarkable undergraduate at the time and Andrew Tanenbaum was (and still is) a renowned researcher and author of widely used textbooks on computer architecture and networking. If Linus had been sassy, things would have ended very, very badly for him.
- deleted 2y ago[deleted]
- AyyEye 2y agoLinux is obsolete. The main thing it has going for it is that it isn't actively hostile to it's users like the alternatives. It's also somewhat hackable and open, for those technically enough inclined. Also unlike it's alternatives it's (slowly but surely) on a positive trajectory... And that's not something anyone says about Windows or Mac. > How I hated UNIX back in the seventies - that devilish accumulator of data trash, obscurer of function, enemy of the user! If anyone had told me back then that getting back to embarrassingly primitive UNIX would be the great hope and investment obsession of the year 2000, merely because it's name was changed to LINUX and its source code was opened up again, I never would have had the stomach or the heart to continue in computer science. > Why can’t anyone younger dump our old ideas for something original? I long to be shocked and made obsolete by new generations of digital culture, but instead I am being tortured by repetition and boredom. For example: the pinnacle of achievement of the open software movement has been the creation of Linux, a derivative of UNIX, an old operating system from the 1970s. It’s still strange that generations of young, energetic, idealistic people would perceive such intense value in creating them. Let’s suppose that back in the 1980s I had said, “In a quarter century, when the digital revolution has made great progress and computer chips are millions of times faster than they are now, humanity will finally win the prize of being able to write a new version of UNIX!” It would have sounded utterly pathetic. - Jaron Lanier
- tcoff91 2y agoJust goes to show that network effects beat superior technology every time.
- chris_wot 2y agoI can’t see a single thing in that quote that explains why they didn’t like Unix. I’m sure there are good reasons, but the entire quote is an argument from emotion.
- AyyEye 2y agoBecause it wasnt about "why they don't like unix" and it's not an argument against unix. The first is an aside about the failure of computer science in general, in a manifesto against AI types and cybernetic totalism [1] and the second is from "you are not a gadget". Why unix is bad isn't really the point of either when viewed in context. The second quote also has bits about wikipedia that I edited out for length. Where are our lisp machines? Our plan9? Our microkernels? The first (mainstream) half-interesting OS we've seen in decades is NixOS and that's still got linux under the hood as a compromise [2]. At least this space is lively right now, and maybe something like nix will let us use some of the good software on whatever interesting project comes next. [1] https://www.edge.org/conversation/jaron_lanier-one-half-a-manifesto https://www.edge.org/conversation/jaron_lanier-one-half-a-ma... [2] linux under NixOS isn't actually a hard requirement. There's no reason a brand new kernel can't be used. There are currently a few small projects that use rust-based non unix microkernels and other interesting experiments.
- kristopolous 2y agoI still think what I wrote about this last year in a talk I gave on linux is pretty good. I did about 5 months of research full-time on it. You can read the whole thing here: https://siliconfolklore.com/scale/ https://siliconfolklore.com/scale/ " Things like paradigmatic ways of doing open source software development took 20 years to dominate because the longevity and applicability of the more abstract solutions is on the same time frame as their implementations. But within that exists lower-level Maslovian motivations. And keeping things there makes them more actionable. Let’s say your network card isn’t sending out packets. We can say this bug is known, agreed upon, and demonstrable. So although it may not be easy, the labor path is traversable. A new network card comes out, you need it to work on Linux. That’s a need. You can demonstrate and come to an agreement on what that would look like. Pretend you want that network card to do something it wasn’t designed to do. That’s harder to demonstrate and agree upon. To get that actionable you need to pull the desire into the lower curve so that a development cycle can encompass it. VVV here's where it comes in VVV It’s worth noting the Tannenbaum-Torvalds debate from 1992 to illustrate this. Tannenbaum chastised Torvalds approach because it wasn’t a microkernel and Linux was exclusive to the 386. Really Linus was in these lower curves and Tannenbaum was trying to pull it up to the higher curves where things move far slower. That’s where the hot research always is - people trying to make these higher level concepts more real. GNU/Hurd is a microkernel approach. Stallman claimed in the early 2000s that’s why it was taking so long and wasn’t very stable. The higher level curves are unlikely to succeed except as superstructures of the lower level functions in the same way that our asymmetric approach to platonic ideals happens on the back of incrementally more appropriate implementations which is why you can snake a line from 1950s IBM SHARE to GitHub. Through that process of clarifying the aspirations, they get moved to the concrete as they become material needs and bug problems. The clarity of the present stands on both the triumph and wreckage of the past. For example, the Mach 3 micro-kernel led to Pink, NextStep, Workplace OS, Taligent, and eventually XNU which is part monolithic and is now the basis for macOS. To get there that curve burned over a decade through multiple companies and billions of dollars. Also the OSF group I mentioned before had a Mach-BSD hybrid named OSF/1. Apple was going to use it in an alliance with IBM but that got canceled. It went on to become Tru64 whose last major release was in 2000, 24 years ago, to add IPv6 support. How’s that transition going?"
- travisgriggs 2y agoFor those interested in where Tanenbaum ended up, he co authors the electoral-vote.com website these days. I used to be a pretty regular reader until Trump won.
- InTheArena 2y agoThis is the thread that I read in high school that made me fall in love with software architecture. This was primarily because Tanenbaum’s position was so obviously correct, yet it was also clear to all that Linux was going to roll everyone, even at that early stage. I still hand this out to younger software engineers to understand the true principle of architecture. I have a print off of it next to my book on how this great new operating system and SDK from Taligent was meant to be coded.
- mrs6969 2y agoBut why linux won? We know now it won, but what is the reason. Tanenbaum was theoraticaly correct. İf HN exist back then, I would argue most devs here would say Minix will last longer, monolithics is indeed an old idea that had been tried and tested etc. Same question for the iphone. There are some link from HN where people saying iphone is dead bcs it does not support flash. But it didnt. Why it didnt? İs performance really the only key factor when it comes to software design ?
- ryao 2y agoBut why linux won? We know now it won, but what is the reason. Tanenbaum was theoraticaly correct. İf HN exist back then, I would argue most devs here would say Minix will last longer, monolithics is indeed an old idea that had been tried and tested etc. In every situation where a microkernel is used, a monolithic version would run faster. İs performance really the only key factor when it comes to software design ? Usually people want software to do two things. The first is do what it is expected to do. The second is to do it as fast as possible. It seems to me that the microkernel idea came from observing that virtual memory protection made life easier and then saying “what would life be like if we applied virtual memory protection to as much of the kernel as we can”. Interestingly, the original email thread shows that they even tried doing microkernels without virtual memory protection in the name of portability, even though there was no real benefit to the idea without virtual memory protection, as you end up with everything being able to write to each other’s memory anyway such that there is no point, Same question for the iphone. There are some link from HN where people saying iphone is dead bcs it does not support flash. But it didnt. Why it didnt? Flash was a security nightmare. Not supporting it was a feature.
- udev4096 2y agoAre there still any active usenet channels or servers around?
- stop50 2y agoOnly for illegal filesharing
- lizknope 2y agoYou can register for a free account here and then they will give you the NNTP server and account password https://www.eternal-september.org/ https://www.eternal-september.org/ I did and checked some tech newsgroups I used to read 25 years ago. It was 99% political spam. Basically unusable.
- abetusk 2y agoI've heard of this debate but haven't heard an argument of adoption from a FOSS perspective. From Wikipedia on Minix [0]: > MINIX was initially proprietary source-available, but was relicensed under the BSD 3-Clause to become free and open-source in 2000. That is a full eight years after this post. Also from Wikipedia on Linux becoming FOSS [1]: > He [Linus Torvalds] first announced this decision in the release notes of version 0.12. In the middle of December 1992 he published version 0.99 using the GNU GPL. So this post was essentially right at the cross roads of Linux going from some custom license to FOSS while MINIX would remain proprietary for another eight years, presumably long after it had lost to Linux. I do wonder how much of an effect, subtle or otherwise, the licensing helped or hindered adoption of either. [0] https://en.wikipedia.org/wiki/Minix https://en.wikipedia.org/wiki/Minix [1] https://en.wikipedia.org/wiki/History_of_Linux https://en.wikipedia.org/wiki/History_of_Linux
- otherme123 2y agoI installed my first linux in 1996. It came in a CD with a computer magazine: a free OS. That was huge, for me at least. Said CDs were filled with shareware software like winzip, that you had to buy or crack to use at 100%. Meanwhile there was this thing called Linux, for free, that included a web server, ftp, firewall, a free C compiler, that thing called latex that produced beautiful documents... The only thing it required from you was to sacrifice a bit of confort in the UI, and a bit of extra effort to get better results. I didn't heard about Minix until mid 2000's maybe, and it was like an old legend of an allegedly better-than-linux OS that failed because people are dumb.
- abetusk 2y ago1997-1998 was about the time I first installed Linux (slackware) from a stack of 3.5" floppy disks. By then, Linux had picked up enough momentum, which is why, I guess, you and I both had access to CD/floppy installation methods. The folklore around the Linux/Minix debate, for me, was that "working code wins" and either microkernel wasn't as beneficial as was claimed or through grit and elbow grease, Linux pushed through to viability. But now I wonder how true that narrative is. Could it have been that FOSS provided the boost in network effects for Linux that compounded its popularity and helped it soar past Minix? Was Minix hampered by Tanenbaum gatekeeping the software and refusal to cede copyright control? To me, the licensing seems pretty important as, even if the boost to adoption was small, it could have compounding network effects that helped with popularity. I just never heard this argument before so I wonder how true it is, if at all.
- fmajid 2y agoThat hasn’t aged well because the microkernels of the day like Mach failed to keep their promises. There are newer ones like the L4 family that were designed specifically for performance, but they have not been deployed as a base for a full-featured OS like Mach was for macOS or OSF/1, where IPC was too slow and the OS server was glommed to the microkernel, making it an even ungainlier monolith. Just another illustration of academic theory vs industrial practices.
- petters 2y agoSigned: Linus "my first, and hopefully last flamefest" Torvalds
- kazinator 2y agoAcademically, Linux is obsolete. You couldn't publish a paper on most of it; it wouldn't be original. Economically, commercially and socially, it isn't. Toasters are also obsolete, academically. You couldn't publish a paper about toasters, yet millions of people put bread into toasters every morning. Toasters are not obsolete commercially, economically or socially. The average kid born today will know what a toaster is by the time they are two, even if they don't have one at home.
- forinti 2y agoMy father is a retired physics professor. I tried debating him once about an aqueduct in a town near us that was built in the early XX century. His view is that it was moronic because communicating vessels had already been known for centuries. I tried arguing that maybe they didn't have the materials (pipes), or maybe dealing with obstructions would have been difficult, etc. After all, this was a remote location at that time. I think that the person who built it probably didn't know about communicating vessels but that it is also true that the aqueduct was the best solution for the time and place. Anyway, debating academics about practical considerations is hard.
- mediumsmart 2y agoThe first gnulinux I installed was blag on a 770 thinkpad replacing windows98SE. For a week I tried to get sound working trying all the recipes I found and downloading forum threads on the topic in bulk to research the issue. But not even crickets. One night I woke up for some reason and looked through saved forum posts and in one of them someone posted a long cryptic command that worked for them. I typed it in hit Enter, no message, prompt just returned and the sound worked. that kind of cured me
- adrian_b 2y agoUnfortunately, one of the worst parts in Linux-based systems has always been how to select which is the default audio device to which any sound output or input must be routed and which is the correspondence between the real audio devices existing in a computer and multiple ambiguous device names that might be used for them by various audio utilities. Sometimes the only good way was to test all possible names with speaker-test or the like.
- lelanthran 2y agoLucky you. Took me a month to port an existing driver to me cheaper unknown brand sound card, in 1995. Got the CD from an OS book. Kernel internals maybe? Doesn't matter, the book was enough to understand enough of the kernel to, by trial and error, stumble upon the correct way to talk to the sound card.
- bdavbdav 2y ago> As a result of my occupation, I think I know a bit about where operating > >are going in the next decade or so I’m not sure one necessarily qualifies you to know the other… there always seems to be a lot of arrogance in these circles.
- nurettin 2y agoI have no idea how they think IPC is as quick as in-process. I do it pretty quickly with memory mapping (shared memory between data providers and consumers), but it has at least an order of magnitude overhead compared to a concurrent queue even after 30 years. Tannenbaum must be threatened by the growing linux community to start throwing flamebaits like this.
- adrian_b 2y agoI do not understand what you say. The best performance for IPC is achieved indeed as you say, using shared memory between the communicating parties. But once you have shared memory, you can implement in it any kind of concurrent queue you want, without any kind of overhead in comparison with in-process communication between threads. While other kinds of IPC, which need context switches between kernel and user processes, are slow, IPC through shared memory has exactly the same performance as inter-thread communication inside a process. Inter-thread communication may need to use event-waiting syscalls, which cause context switches, but these are always needed when long waiting times are possible, regardless if the communication is inter-process or inside a process. Mach and other early attempts at implementing micro-kernels have made the big mistake of trying to do IPC mediated by the kernel, which unavoidably has a low performance. The right way to do a micro-kernel is for it to not handle any IPC, but only scheduling, event handling and resource allocation, including the allocation of the shared memory that enables direct communication between processes.
- nurettin 2y agoI tested it, communicating with a process through shared memory vs communicating with a thread via queue has an overhead. Like 1m eps vs 10m eps. It might be due to implementation.
- adrian_b 2y agoThe implementations of whatever queues or buffers were used for communication must have been different. There is absolutely no difference between memory pages that are shared by multiple processes and memory pages that are private to a process. If you use the same implementation of a buffer/message queue or whatever other data structure you want to use for communication, it does not matter whether it is located in private memory or in shared memory. Similarly, there is no difference between threads that belong to the same process and threads that belong to different processes, except that the threads that belong to the same process share all their memory, not only a part of it. Nevertheless, on modern CPUs measuring the IPC performance may sometimes be misleading, because the benchmark results can be altered randomly by the thread scheduler of the OS, because the IPC performance may differ depending on the pair of CPU cores where the threads happened to be located during the benchmark. For reproducible benchmark results, regardless whether threads from the same process or from different processes are tested, the threads must be pinned to some cores, which must be the same when you measure communication inside a process or between processes. Otherwise the results can be quite different depending on what kind of cache memories are shared between the measured cores or on their position on the chip on the communication network or ring that connects the cores.
- pjmlp 2y agoIronically it actually is, from 2025 perspective. Not only does microservices and Kubernetes all over the place kind of diminishes whatever gains Linux could offer as monolithic kernels, the current trend of cloud based programing language runtimes being OS agnostic in serverless (hate the naming) deployment, also makes irrelevant what is between the type-2 hypervisor and language runtimes. So while Linux based distributions might have taken over the server room as UNIX replacements, it only matters for those still doing full VM deployments in the style of AWS EC2 instances. Also one of the few times I agree with Rob Pike, > We really are using a 1970s era operating system well past its sell-by date. We get a lot done, and we have fun, but let's face it, the fundamental design of Unix is older than many of the readers of Slashdot, while lots of different, great ideas about computing and networks have been developed in the last 30 years. Using Unix is the computing equivalent of listening only to music by David Cassidy. > At the risk of contradicting my last answer a little, let me ask you back: Does the kernel matter any more? I don't think it does. They're all the same at some level. I don't care nearly as much as I used to about the what the kernel does; it's so easy to emulate your way back to a familiar state. -- 2004 interview on Slashdot, https://m.slashdot.org/story/50858 https://m.slashdot.org/story/50858
- eduction 2y ago> microservices and Kubernetes So glad we’ve moved past being blinded by computing fads the way Tanenbaun was.
- firesteelrain 2y agoContainers still run on some form of Linux or Windows so not following your point.
- pjmlp 2y agoContainers === kernel services on microkernels. Explicit enough? Such is the irony of using a monolithic kernel for nothing. As for Windows, not only has kept its hybrid approach throughout the years, Windows 10 (optionally) and Windows 11 (enforced), runs as a guest on Hyper-V, with multiple subsystems sandboxed, DriverGuard, Virtualization-Based Security, Secure Kernel, UMDF.
- mrlonglong 2y agoActually, Minix kinda won. Its descendents currently infest billions of Intel processors living inside the ME.
- tredre3 2y agoBetween smartphones, smart TVs, IOT devices (cameras/doorbells/smart home/sensors/etc), all modern cars, and servers we're probably pushing the 100B linux devices on this planet. Intel likely "only" has hundreds of millions of CPUs deployed out there.
- mrlonglong 2y agoI just checked, over the last 10 years that they've used Minix as their ME operating system, they've sold an average of 50M processors a year. Ok, I take it back. Linux is the undisputed champion of the world.
- mhandley 2y agoThere's an element of "Worse is Better" in this debate, as in many real-world systems debates. The original worse-is-better essay even predates the Linux vs Minix debate: https://dreamsongs.com/RiseOfWorseIsBetter.html https://dreamsongs.com/RiseOfWorseIsBetter.html Gabriel was right in 1989, and he's right today, though sometimes the deciding factor is performance (e.g. vs security) rather than implementation simplicity.
- wongarsu 2y agoAnother big factor is conceptual simplicity, rather than implementation simplicity. Linux is conceptually simple, you can get a good mental model of what it's doing with fairly little knowledge. There is complexity in the details, but you can learn about that as you go. And because it is "like the unix kernel, just bigger" there have always been a lot of people able and willing to explain it and carry the knowledge forward. Windows in comparison has none of that. The design is complex from the start, is poorly understood because most knowledge is from the NT 4.0 era (when MS cared about communicating about their cool new kernel), and the community of people who could explain it to you is a lot smaller. It's impressive what the NT Kernel can do. But most of that is unused because it was either basically abandoned, meant for very specific enterprise use cases, or is poorly understood by developers. And a feature only gives you an advantage if it's actually used
- lolinder 2y ago> My real job is a professor and researcher in the area of operating systems. > As a result of my occupation, I think I know a bit about where operating are going in the next decade or so. The gap between industry and academia must have been less well recognized at this stage. I think of PL researchers today, most of whom would not confidently assert they know the way programming languages will go—they'd instead confine themselves to asserting that they know where PLs ought to go, while acknowledging that the industry doesn't tend to care at all what PL researchers think a PL should look like. One thing I'm curious about is why the industry-academia gap is so large? Is this true in other disciplines? I'd expect some baseline level of ivory-tower effect in any industry, but I'd also expect there to be a significant number of people who actually do cross the gap and make an effort to study the way things actually work rather than just the way they theoretically ought to work. Where are the OS researchers who research why Linux won? Where are the PL researchers who study what makes a great industry language?
- marcosdumay 2y agoOn the OS, there are valid technical reasons for explaining some of the gap. The networked OS idea from the 90s simply isn't great, and as computers became more powerful it became a non-brainier to make each one do everything and get rid of the unreliable network. But well, that's just some of the gap. The truth is that most of what the industry does is chosen by really stupid reasons (or some times raw corruption), where the people making the choice has no power to fix any problem, and the problems are kept there by people not interested on improving anything. If you want to research why the industry does what it does, you should study political science, not anything related to IT.
- dartos 2y agoExactly. The real issue is that academics know about the subject matter, but the decision makers (bizdev people, generally) don’t and couldn’t care less.
- vilhelm_s 2y agoI think the gap was just beginning to emerge around 1990. Until then, people really were re-developing the full computing stack based on new research every few years. Rob Pike identified 1990 as the year systems research became irrelevant[0] because from then on people kept on using and iterating on the same software. [0] https://tianyin.github.io/misc/irrelevant.pdf https://tianyin.github.io/misc/irrelevant.pdf
- justniz 2y agoLike most nerds, your blindspot is an ability to be pragmatic. In the real world, "technically better solution" does not trump being the thing that is widely adopted on merit, is mature enough to have beeen so stable and reliable for decades that it is a no-brainer standard that comes with almost no risks.
- jmull 2y agoI don’t think Tanenbaum’s distinction between micro-kernel and monolith is useful or important. He has monolith as a single binary running as a single process, while micro-kernel is multiple binaries/processes. But either way these both boil down to bytes loaded in memory, being executed by the cpu. The significant thing about a microkernel is that the operating system is organized into functional parts that are separate and only talk to each other via specific, well defined channels/interfaces. Microkernel uses processes and messages for this, but that’s hardly the only way to do it, and can certainly be done in a bunch of units that happen to be packaged into the same file and process. C header files to define interface, C ABI to structure the channels, .c files for the separate pieces. Of course you could do that wrong, but you could also do it right (and, of course, the same is true of processes and messages). A process, btw, is an abstraction implemented by the os, so microkernel or not, the os is setting the rules it plays by (subject to what the CPU provides/allows).
- snvzz 2y agoMach is still slow, but Liedtke (rip) gave us L4. Linux is still obsolete. Today seL4 carries the flag.
- fak3r 2y agoInteresting post, but all I hear is the classic Slashdot troll; "I don't mean to start a flamewar, but... BSD is dying!"
- insane_dreamer 2y agoA comment in the group caught my attention: > There are really no other alternatives other than Linux for people like me who want a "free" OS. What a minute. What about FreeBSD? [Update: Never mind. I realized later this thread was written about a year before FreeBSD was first released.]
- jacobgorm 2y agoI don’t think enough credit is given to the role the GPL played in making Linux successful. The more liberal BSD-style licenses resulted in every hardware maker selling their own slightly incompatible fork of UNIX where las the GPL forced everyone to unite behind a single code base, which is what you want for an operating system.
- musicale 2y ago> Be thankful you are not my student. You would not get a high grade for such a design :-) Further proof that computer "science" is a nonsense discipline. ;-) The World Wide Web was invented at CERN, a particle physics laboratory, by someone with BA in physics. Who later got the Turing award, which computer scientists claim is somehow equivalent to a nobel prize. Prof. Tanenbaum (whose degrees are also in physics) wasn't entirely off base though - Linux repeated Unix's mistakes and compromises (many of which were no longer necessary in 1992, let alone 2001 when macOS recycled NeXT's version of Unix) and we are still suffering from them some decades later.