26 ms·
Linux is Obsolete (1992)
- ransom1538 8y agoFor those readers that are curious who Tannenbaum is, he wrote (the best IMHO) operating systems book [0]. This book contained the complete source of an operating system 'Minix'. At the same time Torvalds wanted to build a OS system. Did Torvalds use/steal or extend the Minix source? It is extremely controversial [1] amount CS types. https://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenbaum/dp/013359162X https://www.amazon.com/Modern-Operating-Systems-Andrew-Tanen... [0] http://wiki.c2.com/?MinixOperatingSystem http://wiki.c2.com/?MinixOperatingSystem [1]
- stiGGG 8y agoBecause you misspelled it twice, Tanenbaum‘s OS is called Minix.
- deleted 8y ago[deleted]
- justherefortart 8y agoIt's not "extremely controversial". Minix was used as the platform Linus initially used to build Linux (for lack of a better name).
- cf498 8y agoUnless they are self taught I doubt there is anyone here who doesnot know who Tannenbaum is. Try going through a computer science curriculum without hearing of him. Which reminded me again in what a marvellous period we still are with our discipline. There are still quite a few of the guys out there who "wrote the book".
- snvzz 8y agoLinus did read the book, which is how he got interested in OS development. He also ran Minix to work on Linux until Linux got solid enough to dogfood.
- Animats 8y agoBack then, nobody realized how bloated the Linux kernel was going to become, with way too much in kernel space. The kernel is somewhere above 15 million lines of code now.
- axaxs 8y agoI think AST did. IMHO, drivers belong in user space. There's an exponential number of devices out there, jamming them into the kernel has been a messy chore at best.
- gkya 8y agoAs someone completely alien to that side of computing except rudimentary stuff most people know, I never understood the reason why the drivers have to be maintained in the kernel tree. Maybe include the most common stuff, but why not have a second, distinct linux-drivers project that maintains those stuff in their own time? Also, why we don't have a common interface to drivers at least between Linux and BSD by now? I don't like that there's animosity between the two ecosystems. That way we could have, if technicalities permit, a way for many diverse OS models to enter into the competition: if the drivers are written agains a certain standardised interface, one can code-up an OS to support that interface, and just like with POSIX, the OS would have a whole suite of drivers available from day one. Better for the driver authors too.
- AnIdiotOnTheNet 8y agoLinux kernel maintainers are actively hostile to the concept of a stable driver ABI. They believe that drivers are best maintained with the kernel so that they can be kept up and fixed. Given that Linux has the broadest hardware support of any open source OS, and arguably any OS period, it's difficult to say they aren't right.
- pjmlp 8y agoWhich is exactly what Project Treble introduces, it converts Linux into a micro-kernel design, where each driver runs in its own process with a tiny kernel presence, communicating over Android RPC mechanisms. https://source.android.com/devices/architecture/hidl/ https://source.android.com/devices/architecture/hidl/
- _sdegutis 8y ago> "Be thankful you are not my student. You would not get a high grade for such a design :-)" It's really amazing to read and see all sorts of good points from both sides, and know that if it weren't for the benefit of hindsight, I'm not really sure which side I would agree with. But I really strongly get the feeling that Andy had a great opportunity thrown into his lap, but by looking at MINIX as a "non-serious" hobby (as Linus implied) that he only did for fun and to unwind, and by not really listening to his user base (make it free, fix filesystem race conditions, add POSIX compatibility, etc), he really threw the opportunity away for it to grow. Which is fine if growth was never the goal. And sure, a project owner doesn't have to say yes to every feature, and they actually probably shouldn't. But you have to let what you're creating evolve into something that meets needs, and turn into something different. Look at the first page of commits on Semantic-UI's repo. It was called Origami (then Shape) and was meant for doing 3D stuff in JS, before he renamed it to Semantic and turned it into a JS-based version of Bootstrap. Terrible example and doesn't really apply here but I remembered coming across that fascinating bunch of commits the other day and wanted to share it with someone.
- raister 8y agoI've always thought, however, that Torvalds was in fact Tanenbaum's student in Univ. of Helsinki... Well, if ast stated that linus was not, then, obviously, he was not at all.
- poizan42 8y agoTanenbaum has never taught at the University of Helsinki, so it would have been difficult for Torvalds to have been his student there...
- raister 8y agoGood point! Andrew Stuart Tanenbaum (born March 16, 1944), sometimes referred to by the handle ast,[6] is an American-Dutch computer scientist and professor emeritus of computer science at the Vrije Universiteit Amsterdam in the Netherlands
- rixrax 8y agoNetiquette[1] mentioned. I just re-read it after so many years. :) This makes me realize how old I've become (for they made us read some pre-RFC versions before getting accounts to Sun workstations in college). Oh how civilized the online discussions used to be. And how the community self policed, until it didn't[2]. Maybe FB, Reddit and others should put their AI researchers into good use and make people and bots alike take a hard to cheat test on Netiquette before being allowed to post stuff that will be seen by others. And implement a one month 'observation-only' period as suggested by Netiquette[1]... ;-) [1] https://tools.ietf.org/html/rfc1855 https://tools.ietf.org/html/rfc1855 [2] https://en.wikipedia.org/wiki/Eternal_September https://en.wikipedia.org/wiki/Eternal_September
- messe 8y ago> Of course 5 years from now that will be different, but 5 years from now everyone will be running free GNU on their 200 MIPS, 64M SPARCstation-5. This will always be my favourite quote from this exchange. Just imagine what desktop computing would look like today had that come to pass.
- mmaunder 8y agoThe most insightful thing about this repost is that Google groups is still around. Tried to find it recently and couldn't. Woohoo!
- pofilat 8y agoseveral past discussions: https://hn.algolia.com/?query=%20LINUX%20is%20obsolete%20(1992)%20&sort=byPopularity&prefix&page=0&dateRange=all&type=story https://hn.algolia.com/?query=%20LINUX%20is%20obsolete%20(19...
- acomjean 8y agoFor those that don't know.. Tannenbaum wrote the book on Operating Systems... Well a book. I think his OS Minix[2] is in there. Its on every intel CPU, but I think that was news to Tannenbaum. This argument was at its root a "theory" vs. "getting it done" now argument. I think thats why it resonates. [1]https://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenbaum/dp/013359162X https://www.amazon.com/Modern-Operating-Systems-Andrew-Tanen... [2]https://en.wikipedia.org/wiki/MINIX https://en.wikipedia.org/wiki/MINIX This is a debate about how OS's should be structured. There is some merit to Tanenbaums MicroKernel approach, but ultimately its slower and for an OS that matters, thus Linux being ascendant . Also everywhere gcc was ported could compile and run linux. Microkernels "lost" but there was a microkernel called "Mach" worked on by Avie Tevanian who went to Next then to Apple. I think OS-X is kinda microkernel based (if they're still using XNU which is loosely based on the mach microkernel.). https://en.wikipedia.org/wiki/XNU https://en.wikipedia.org/wiki/XNU I still miss HPUX RTE for PARISC(Real Time Extensions) for sending jobs to specific processors or processor sets, disabling interupts.... If you like OSs. I like the case studies in the dinosaur book: (stupid text-book prices though....) [4] https://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/0470128720 https://www.amazon.com/Operating-System-Concepts-Abraham-Sil...
- _sdegutis 8y agoAfaik, macOS and Windows (and probably all modern kernels) use something halfway between microkernels and monoliths, I think they call it hybrid kernels. The reason being there's benefits to both approaches, so why not both?
- maxlybbert 8y agoBecause you might not like the associated drawbacks. Linux (and the BSDs) have shown that a monolithic kernel can be modular and well-organized. Mach’s descendants, L4, etc. have shown that if you want decent performance you either have to redefine “microkernel” or you have to put in an incredible amount of work to implement your simple design.
- yeahbutbut 8y ago> This basically was at its root a "theory" vs. "getting it done" argument. Because worse is better. https://www.jwz.org/doc/worse-is-better.html https://www.jwz.org/doc/worse-is-better.html
- bitL 8y agoSo funny. Linus would be probably kicked out of Tanenbaum's OS class, and most of Andy's predictions were incorrect (still waiting for my GNU/HURD on MIPS). The lesson is not to get discouraged by prevailing winds of academia I guess, they have different objectives, and their processing of reality is on a more abstract level, meaning ideas might look better in theory, but not so great in practice.
- pjmlp 8y agoIt is running on the radio chip of your mobile phone. https://gdmissionsystems.com/products/secure-mobile/hypervisor https://gdmissionsystems.com/products/secure-mobile/hypervis...
- AnimalMuppet 8y agoWhich is mildly interesting, but a long way from "microkernels are where OSes are going in the next decade or two (from 1992)". Microkernels were not a completely worthless idea, and they have appeared here and there. But in terms of OSes, they lost for three decades after Tannenbaum's statement.
- DimitarIbra9 8y agoPeople like Linus changed the world and also makes this world not that boring. PC is the worst.
- dang 8y agoDiscussed in 2009: https://news.ycombinator.com/item?id=545213 https://news.ycombinator.com/item?id=545213 2012: https://news.ycombinator.com/item?id=3785363 https://news.ycombinator.com/item?id=3785363 2014: https://news.ycombinator.com/item?id=7223306 https://news.ycombinator.com/item?id=7223306 2015: https://news.ycombinator.com/item?id=8942175 https://news.ycombinator.com/item?id=8942175 and https://news.ycombinator.com/item?id=9739016 https://news.ycombinator.com/item?id=9739016.
- timeandagain 8y agoTanenbaum reminds me of those "smart people" Art Williams was talking about in his 1987 "Just Do It" speech. Good to learn of another example of "more smart" not being "more successful".
- slededit 8y agoHe did by creating MINIX. His loss to Linux was not from an unwillingness to get his hands dirty and build something.
- gowld 8y agoMINIX was an educational demo. He slapped on a restrictive license even though he didn't make money from it, because his ego didn't want other people to touch his baby. Then he never made time to build anything useful with it. Being right about something you aren't going to build is worse than being a little wrong about something you build.
- stock_toaster 8y agohttps://en.wikipedia.org/wiki/MINIX_3 https://en.wikipedia.org/wiki/MINIX_3 > Its use in the Intel ME makes it the most widely used OS on Intel processors starting as of 2015, with more installations than Microsoft Windows, GNU/Linux, or macOS. That's... not too shabby, if you ask me.
- justin66 8y ago> Tanenbaum reminds me of those "smart people" Art Williams was talking about in his 1987 "Just Do It" speech. Good to learn of another example of "more smart" not being "more successful". There is essentially no definition of "unsuccessful" that applies to Andrew Tanenbaum's career. He spent the last few decades doing the sorts of things you'd expect a CS professor to do, and he did them really well. He conducted research projects, graduated PhDs, and the CS textbooks he authored are almost all extremely good.
- gbaygon 8y agoIf anybody can provide an alternative source for the text thanks in advance. It requires a google login for reading.
- ifdefdebug 8y agoReading it now without login.
- jorams 8y agoYou can open it in a private browsing window. It only requires login if you were previously logged in to a Google account, and that login has expired. Incredibly annoying.
- msh 8y agoThis is easier to read : https://www.oreilly.com/openbook/opensources/book/appa.html https://www.oreilly.com/openbook/opensources/book/appa.html
- raister 8y agoDid everybody else reading this just disregard other people's comments on that thread and skip it just to read ast and torvalds debatting?
- _sdegutis 8y agoI really thought I was going to, but the other replies provide so much context, plus it's kind of like time traveling and being a fly on the wall in a conversation that took place over 25 years ago. I'm just imagining them all looking like the cast of Friends while sitting at their 15-inch 90s PC screens typing these electronic-mails in software I wouldn't recognize. And you have people chiming in and calling out argument flaws and offering suggestions on new words for "make POSIX" like posixiate. Fun stuff! It's like the comment section of an HN post. Which is funny because HN evolved out of mailing lists like that, and the culture did too.
- netule 8y agoSame feeling here, I usually skim these threads for the big names, but in this case there is so much historical context that makes this a great read. It would be wonderful to have been a subscriber to this mailing list back in the 90's.
- unilynx 8y agoit was a newsgroup - usenet was still a thing, and not just about binaries, back then
- samdoidge 8y ago> Apologies to ast, and thanks to John Nall for a friendy "that's not how it's done"-letter. I over-reacted, and am now composing a (much less acerbic) personal letter to ast. Hope nobody was turned away from linux due to it being (a) possibly obsolete (I still think that's not the case, although some of the criticisms are valid) and (b) written by a hothead :-) > Linus "my first, and hopefully last flamefest" Torvalds Comparing this to his more recent emails, it doesn't seem him he has mellowed with age!
- asdfman123 8y agoYeah, I came here to post that "last flamefest" part. Oh Linus, it certainly won't be your last...
- pjmlp 8y agoIn a way Tanenbaum won. Micro-kernels are everywhere on high integrity computing, run on the radios of mobile OS. User space drivers, containers, hipervisors, Project Treble are all examples of trying to bend Linux into the same design.
- hinkley 8y agoA question I'm not equipped to answer but keeps coming up for me every time this conversation or user-space drivers comes up: If we had microkernels, would containers be a thing right now? Or would we just have orchestration tools (eg, Kubernetes)? I'm old enough to recall when protected memory and pre-emptive multitasking were the new kernel services and all of the literature for those greatly overlaps what we use to sell containers now. Like we never achieved the promise and we are trying again instead of fixing it.
- stingraycharles 8y agoContainers would still be a thing, but its implementation would be much easier. What jails (a.k.a. containers) actually do is try to build a fence around a process so it looks as if its isolated. With a microkernel, this process would be much easier since every component of the kernel is already isolated. The actual kernel would remain the same and wouldnt need any fences (it just routes between components), and the container would just launch new instances of the kernel modules it would need.
- willtim 8y agoIf we had better languages and tools for integrating various parts of the tech stack, then perhaps we wouldn't need such monolithic constructions. See the Mirage unikernal project for an alternative to containers and virtual machines running full blown operating systems.
- pdpi 8y agoBased on the most widely used computing device today — the smartphone — he was also right on the RISC architecture thing (seeing as ARM is a RISC-style arch), and that trend is starting to expand to the datacenter too.
- bad_user 8y agoOne thing that jumps at me is how childish and rude Linus is in his response. I think at that time he was 23 years old, so an adult. As a piece of advice to young people, try not to be rude and accept criticism with grace, as the Internet has a long memory and you'll probably not be respected enough for your achievements to be tolerated, like Linus is.
- AnimalMuppet 8y agoWell... Tannenbaum is pretty brick-headed, too. "This is the one right way, and you aren't doing it that way, so you are by definition wrong" is not a good way to begin the conversation. Add in "I'm the authority", and you have someone who is completely undisposed to listen to anything said by someone holding another position.
- skwirl 8y agoTo add to this - I have watched the industry over the last decade gradually become more conscious of and less tolerant of "accomplished" assholes. The behavior is still endemic but it feels like we are on the verge of a major shift in attitude in the wake of #MeToo. Over the last year companies, charities, clubs, and other organizations were finally willing to (forced to) deal with toxic behavior and are finding that they can survive just fine without the supposed "rock stars" that were fired and the toxic environments they fostered. So even if you are a Linus Torvalds, it may only be a matter of time before you find yourself sidelined. I will be surprised if Linus's career ends on his own terms.
- pdonis 8y agoYou're leaving out a key point: Linux is not a company and Linus's "career" does not depend on a company. It depends on enough individual people choosing to work on Linux to keep it technically competitive. I have not seen any sign of Linux suffering technically because people who could make valuable contributions are not doing so.
- tehlike 8y agoLinus is still rude or rather, blunt. To be honest, though, i prefer blunt over fluff or politically correct way. Way more informative.
- TheMagicHorsey 8y agoThough history seems to prove him wrong, Tanenbaum wasn't incorrect. Linux to me is an example of the wrong thing at the right time. Linux embracing Posix and fully supporting Intel gave programmers exactly what they wanted right at the nascency of the dotcom boom. Apache, MySQL and PHP needed a home that wasn't Windows ... and Linux provided that home on the best dollar-for-dollar processors on the planet. If Motorola or IBM had challenged Intel with cheap, better processors then history might have looked different because Linux wouldn't have been a solution on those platforms. Linux works well enough I suppose, but the fact that we have this gigantic mess, where we run an OS, and then run a hypervisor on it, and then run more copies of an OS, and then finally get to run our application code, tells me something is quite wrong. The fact that unikernels are even a thing tells me that people DO feel the pain of monokernels and yearn for something simpler. Securing a monokernel like Linux, even one so open and scrutinized, is really, really hard. There is just so much surface area in the kernel to attack. Everything is so heavyweight. I think Tannenbaum was right, but he just wasn't enough of a hacker to get things done in time to catch the wave that the dotcom boom created. To me the dream would be something like Google's new Fuschia OS where everything is capability-based so security is built into the OS concept from the very beginning.
- magduf 8y agoYou're leaving out the other big new trend of today, which is containers like Docker where now people like to run applications from within. You're right, something is quite wrong, but Minix isn't the answer either, as it doesn't provide the isolation that containers and VMs do.
- nickik 8y agoI think the point of containers is to make the exact needs of your environment configurable and runable in many different context. That concept is very valuable and in the future this configuration might compiled to a unikernel that runs directly on the hyperwiser. Or maybe in a process on a microkernel OS that runs isolated processes.
- 8y ago
- deleted 8y ago[deleted]
- nickik 8y agoNetwork effects don't only depend on quality. Is basically the summation of this whole debate. If you had 2 teams and both could start from 0 and spend 5 years to develop an operating system most people would probably pick some version of microkernel design.
- AnimalMuppet 8y agoMost people would pick the OS that was of a microkernel design? No way. Most people would pick whichever one was most solid and/or had the most features.
- nickik 8y agoI mean for development.
- AnimalMuppet 8y agoOh, I see. I will not argue against your position, now that I understand it.
- himom 8y agoAh yes, this oldie newsgroup post from ast, the guy whom wrote a bunch of mandatory CS textbooks and MINIX 2 (before the course moved to FreeBSD) which we had to hack on in ECS150. I’m sure he’s crazy rich by now from passive income. A hypothetical kernel&userland like OpenBSD built on seL4 (a-la DragonFly or MINIX 3), implemented in Rust, OCaml or Haskell, with thorough unit, integration tests and perhaps formal proofs, seems like the safest, not necessarily the fastest, kernel approach possible using modern technologies. seL4 communicating by sending messages is really efficient and builds in IPC as a fundamental, low-latency operation.
- AnimalMuppet 8y ago> A hypothetical kernel&userland like OpenBSD built on seL4 (a-la DragonFly or MINIX 3), implemented in Rust, OCaml or Haskell, with thorough unit, integration tests and perhaps formal proofs, seems like the safest, not necessarily the fastest, kernel approach possible using modern technologies. Seems to me like an approach that would take even longer to implement than Hurd did.
- AnimalMuppet 8y ago> As a result of my occupation, I think I know a bit about where operating are going in the next decade or so. > While 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. That's a theoretician confusing theory and practice. And note that Tannenbaum isn't one of the "people who actually design operating systems". Tannenbaum designed toys to demonstrate concepts, not OSes for real-world use. And, was Tannenbaum right that NT was a microkernel design? I have this vague memory that the drivers were supposed to be in user space, but they moved at least the video drivers into the kernel for performance reasons.