Linux history

Linux history

Linus Benedict Torvalds

Michael L. Kaufman

Julien Maisonneuve

Richard Tobin

< < < previous page

> > > next page

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Subject: Re: LINUX is obsolete Date: 31 Jan 92 10:33:23 GMT Organization: University of Helsinki   In article <> (Andy Tanenbaum) writes: >The limitations of MINIX relate at least partly to my being a professor: >An explicit design goal was to make it run on cheap hardware so students >could afford it.   All right: a real technical point, and one that made some of my comments inexcusable. But at the same time you shoot yourself in the foot a bit: now you admit that some of the errors of minix were that it was too portable: including machines that weren't really designed to run unix. That assumption lead to the fact that minix now cannot easily be extended to have things like paging, even for machines that would support it. Yes, minix is portable, but you can rewrite that as "doesn't use any features", and still be right.   >A multithreaded file system is only a performance hack.   Not true. It's a performance hack /on a microkernel/, but it's an automatic feature when you write a monolithic kernel - one area where microkernels don't work too well (as I pointed out in my personal mail to ast). When writing a unix the "obsolete" way, you automatically get a multithreaded kernel: every process does it's own job, and you don't have to make ugly things like message queues to make it work efficiently.   Besides, there are people who would consider "only a performance hack" vital: unless you have a cray-3, I'd guess everybody gets tired of waiting on the computer all the time. I know I did with minix (and yes, I do with linux too, but it's /much/ better).   >I still maintain the point that designing a monolithic kernel in 1991 is >a fundamental error. Be thankful you are not my student. You would not >get a high grade for such a design :-)   Well, I probably won't get too good grades even without you: I had an argument (completely unrelated - not even pertaining to OS's) with the person here at the university that teaches OS design. I wonder when I'll learn :)   >My point is that writing a new operating system that is closely tied to any >particular piece of hardware, especially a weird one like the Intel line, >is basically wrong.   But /my/ point is that the operating system /isn't/ tied to any processor line: UNIX runs on most real processors in existence. Yes, the /implementation/ is hardware-specific, but there's a HUGE difference. You mention OS/360 and MS-DOG as examples of bad designs as they were hardware-dependent, and I agree. But there's a big difference between these and linux: linux API is portable (not due to my clever design, but due to the fact that I decided to go for a fairly- well-thought-out and tested OS: unix.)   If you write programs for linux today, you shouldn't have too many surprises when you just recompile them for Hurd in the 21st century. As has been noted (not only by me), the linux kernel is a miniscule part of a complete system: Full sources for linux currently runs to about 200kB compressed - full sources to a somewhat complete developement system is at least 10MB compressed (and easily much, much more). And all of that source is portable, except for this tiny kernel that you can (provably: I did it) re-write totally from scratch in less than a year without having /any/ prior knowledge.   In fact the /whole/ linux kernel is much smaller than the 386-dependent things in mach: i386.tar.Z for the current version of mach is well over 800kB compressed (823391 bytes according to Admittedly, mach is "somewhat" bigger and has more features, but that should still tell you something.   Linus

From: (Michael L. Kaufman) Subject: Re: LINUX is obsolete Date: 3 Feb 92 22:27:48 GMT Organization: EECS Department, Northwestern University   I tried to send these two posts from work, but I think they got eaten. If you have seen them already, sorry.   -------------------------------------------------------------------------------   Andy Tanenbaum writes an interesting article (also interesting was finding out that he actually reads this group) but I think he is missing an important point.   He Wrote: >As most of you know, for me MINIX is a hobby, ...   Which is also probably true of most, if not all, of the people who are involved in Linux. We are not developing a system to take over the OS market, we are just having a good time.   > What is going to happen > is that they will gradually take over from the 80x86 line. They will > run old MS-DOS programs by interpreting the 80386 in software.   Well when this happens, if I still want to play with Linux, I can just run it on my 386 simulator.   > MINIX was designed to be reasonably portable, and has been ported from the > Intel line to the 680x0 (Atari, Amiga, Macintosh), SPARC, and NS32016. > LINUX is tied fairly closely to the 80x86. Not the way to go.   That's fine for the people who have those machines, but it wasn't a free lunch. That portibility was gained at the cost of some performance and some features on the 386. Before you decide that LINUX is not the way to go, you should think about what it is going to be used for. I am going to use it for running memory and computation intensive graphics programs on my 486. For me, speed and memory were more important then future state-of-the-artness and portability.   >But in all honesty, I would >suggest that people who want a **MODERN** "free" OS look around for a >microkernel-based, portable OS, like maybe GNU or something like that.   I don't know of any free microkernel-based, portable OSes. GNU is still vaporware, and likely to remain that way for the forseeable future. Do you actually have one to recomend, or are you just toying with me? ;-)   ------------------------------------------------------------------------------   In article <> (Andy Tanenbaum) writes: >My point is that writing a new operating system that is closely tied to any >particular piece of hardware, especially a weird one like the Intel line, >is basically wrong. An OS itself should be easily portable to new hardware >platforms.   I think I see where I disagree with you now. You are looking at OS design as an end in itself. Minix is good because it is portable/Micro-Kernal/etc. Linux is not good because it is monolithic/tightly tied to Intel/etc. That is not a strange attitude for someone in the acedemic world, but it is not something you should expect to be universally shared. Linux is not being written as a teaching tool, or as an abstract exercise. It is being written to allow people to run GNU-type software _today_. The fact that it may not be in use in five years is less important then the fact that today (well, by April probably) I can run all sorts of software on it that I want to run. You keep saying that Minix is better, but if it will not run the software that I want to run, it really isn't that good (for me) at all.   > When OS/360 was written in assembler for the IBM 360 >25 years ago, they probably could be excused. When MS-DOS was written >specifically for the 8088 ten years ago, this was less than brilliant, as >IBM and Microsoft now only too painfully realize.   Same point. MSoft did not come out with Dos to "explore the frontiers of os research". They did it to make a buck. And considering the fact that MS-DOS probably still outsells everyone else put together, I don't think that you say that they have failed _in their goals_. Not that MS-Dos is the best OS in terms of anything else, only that it has served their needs.   Michael

From: (Julien Maisonneuve) Subject: Re: LINUX is obsolete Date: 3 Feb 92 17:10:14 GMT   I would like to second Kevin brown in most of his remarks. I'll add a few user points : - When ast states that FS multithreading is useless, it reminds me of the many times I tried to let a job run in the background (like when reading an archive on a floppy), it is just unusable, the & shell operator could even have been left out. - Most interesting utilities are not even compilable under Minix because of the ATK compiler's incredible limits. Those were hardly understandable on a basic PC, but become absurd on a 386. Every stupid DOS compiler has a large model (more expensive, OK). I hate the 13 bit compress ! - The lack of Virtual Memory support prevents people studying this area to experiment, and prevents users to use large programs. The strange design of the MM also makes it hard to modify.   The problem is that even doing exploratory work under minix is painful. If you want to get any work done (or even fun), even DOS is becoming a better alternative (with things like DJ GPP). In its basic form, it is really no more than OS course example, a good toy, but a toy. Obtaining and applying patches is a pain, and precludes further upgrades.   Too bad when not so much is missing to make it really good. Thanks for the work andy, but Linux didn't deserve your answer. For the common people, it does many things better than Minix.   Julien Maisonneuve.   This is not a flame, just my experience.

From: (Richard Tobin) Subject: Re: LINUX is obsolete Date: 4 Feb 92 14:46:49 GMT Reply-To: richard@aiai.UUCP (Richard Tobin) Organization: AIAI, University of Edinburgh, Scotland   In article <> (Andy Tanenbaum) writes: >A multithreaded file system is only a performance hack. When there is only >one job active, the normal case on a small PC, it buys you nothing   I find the single-threaded file system a serious pain when using Minix. I often want to do something else while reading files from the (excruciatingly slow) floppy disk. I rather like to play rogue while waiting for large C or Lisp compilations. I look to look at files in one editor buffer while compiling in another.   (The problem would be somewhat less if the file system stuck to serving files and didn't interact with terminal i/o.)   Of course, in basic Minix with no virtual consoles and no chance of running emacs, this isn't much of a problem. But to most people that's a failure, not an advantage. It just isn't the case that on single-user machines there's no use for more than one active process; the idea only has any plausibility because so many people are used to poor machines with poor operating systems.   As to portability, Minix only wins because of its limited ambitions. If you wanted a full-featured Unix with paging, job-control, a window system and so on, would it be quicker to start from basic Minix and add the features, or to start from Linux and fix the 386-specific bits? I don't think it's fair to criticise Linux when its aims are so different from Minix's. If you want a system for pedagogical use, Minix is the answer. But if what you want is an environment as much like (say) a Sun as possible on your home computer, it has some deficiencies.   -- Richard

Best regards,

Razvan Mihaiu � 2000 - 2019 Linux history