A Historical Look At The First Linux Kernel
LinuxFan writes "KernelTrap has a fascinating article about the first Linux kernel, version 0.01, complete with source code and photos of Linus Torvalds as a young man attending the University of Helsinki. Torvalds originally planned to call the kernel "Freax," and in his first announcement noted, "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones." He also stressed that the kernel was very much tied to the i386 processor, "simply, I'd say that porting is impossible." Humble beginnings."
...than Gentoo using kernel 0.02 was made available.
Prosperity is only an instrument to be used, not a deity to be worshipped. Calvin Coolidge
"When the first kernel pops, then toss in about 1/2 cup of open source developers and shake vigorously until the popping dies down. You don't want to leave it on until you hear nothing, because then it's sure to be burnt."
that that Torvalds guys project never amounted to anything useful.
"I think an etch-a-sketch with an ethernet port would beat IE7 in web standards compliance."
I don't agree. There are plenty of people out there who may be interested, but just never really got around to actually looking it up. I was like that for a long time - I used Linux way before I knew anything about its beginnings. So I'm sure there are plenty of people out there who would find this interesting. And trust me, there are plenty of people out there who don't know squat about the Great War either.
To get an even deeper look into the beginnings of the Linux Kernel, I like the book that Linus wrote which is called Just for Fun - The story of an accidental revolutionary (ISBN 1-58799-080-6, google the rest).
;-)
It contains the entire back history how Linux began as a side project and of course the famous spat with Andrew Tanenbaum over Minix and Linux and I found it to be a good (if very nerdy) read.
But the pictures in the article? Just sad, he reminds me so much of myself
I didn't know about this (that the first kernel was completely i386 specific) and consider the article interesting.
Patents Drive Free Software as Hurricanes Drive Construction Industry
But that's not what happened and I think that's important for people to recognize. This was not unlike Frodo starting off on a quest thinking he wasn't going to get anywhere (though the motivation and implications are not so huge). It's the classic hero-by-accident story and since it's a true story, I love it all the more.
You know, I always thought about writing to Paul Harvey (if he's still alive) and asking him to do a "And that's the rest of the story" on Linus. That would be some classic stuff. Although most the listeners, probably not even sure what Linux is let alone know its creator Linus, would probably think he's suffering from some form of dementia set on by age
My work here is dung.
He looks just like Bill Gates at that age!
See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
Task Mangler
I have a poster in my office with all the lines of code for kernel 0.0.1. It's uber-geek. A must have for most slashdotters!
The game.
I'm not interested in learning the history of everything -- I'm just interested in learning the history of events that can teach me significant lessons, e.g. by inspiring me (starting humble can work out really well if there is significant demand and an empowering license like the GPL is used) or by warning of dangers.
Therefore, articles like this are important to me. I wouldn't know to look for this particular bit of history if it weren't for people pointing out that this is a worthwhile bit of history to read up on.
(In this particular instance, I knew already, but only because I came across an article on the same topic some time ago. Nevertheless I'm appreciating the reminder.)
Nothing to compile here. Move along.
In all seriousness, this article is one of the better linux history pieces I've seen as well. Personally, the first picture of Linus bears a striking resemblence to a young Jerry Lewis - the second one of a slumped over Dean Martin after a martini.
I hope, when they die, cartoon characters have to answer for their sins.
Uhm, depends on how long you've been frequenting slashdot...
Not only that, I knew the story even before knowing slashdot. In days long gone, it was pretty much included in every Linux book you could buy. This is pretty much "required general knowledge" for anyone being in Computer Sience or IT.
I'd like to thank Bill Gates, for giving OSS an easy target to shoot at. Hey, ESR: put that gun away...no, you can't shoot him!
Also to Guido van Rossum for giving us a fantastic language to play with.
And to Miguel de Icaza for getting the GNOME project started
And finally, to legendaries such as Ken Thompson, Dennis Ritchie, (the missing and presumed dead) Jim Gray, Brian Kernighan, and so many others -- you are the ones who inspired us to do this!
My blog
Well, I was there back then (read my sig) and yet even so I enjoyed the trip down Linux memory lane while going through this article. Sure, this is not top-quality journalism, but if you don't want to read it, then don't.
Slashdot is not anymore what to used to be when I joined (look at my /. id to see what I mean), but even so I still use it as my home page on my home boxen. If there's stuff that I don't want to read, I simply don't.
PS: I happen to be interested in military history as well. So yes, I do still read stuff about WWI, archduke included, even after so many years. In fact, your mentionaing of it just caused me to read what Wikipedia says about Franz Ferdinand.
Linux user since early January 1992.
Besides, for those too lazy to read up the history of Open Source and Linux, just watch Revolution OS. Features Richard Stallman, Linus Torvalds, Bruce Perens, Eric Raymond and many more.
Richard Stallman doesn't agree with being called an "open source software figure" or with being considered part of the "open source movement". The "open source" movement is a fork of the "free software" movement started by Richard Stallman. Although "open source software" is practically identical to "free software" for just about all practical purposes, the fundamental philosophy of the Open Source Initiative differs significantly enough from the viewpoint of Stallman's Free Software Foundation (FSF) that the FSF will, if participating at all at "open source" events, put up a big "we're not part of the open source movement!" banner. A good discussion of the difference between "open source" and "free software" from the FSF's perspective is here.
Yup, GNU Mach was well into development BEFORE Linux was even written. This is an example why open source projects are more effective when they're driven by pragmatism and not politics.
I had no idea it was Benedict. I've not seen that elsewhere, must not be something he likes ;)
"From: Linus Benedict Torvalds [email blocked]"
"Oh, Linux will *never* have a fan base. Never. Ever. Period."
- Bill Gates
This sig left intentionally blank.
Hell, even Dennis Miller somehow became a cranky old right wing blowhard when I wasn't looking. The world has moved on.
Also, there is much discussion about GCC transitioning to GPLv3 license. Apparently once the 4.3 branch is released, 4.2 will no longer be maintained under GPLv2. I believe this is because the FSF knows the compiler is fundamental and the license change is so important they don't really want patches contributing to the version under the old license.
Joe Llywelyn Griffith Blakesley
[This post is in the public domain (copyright-free) unless otherwise stated]
You're gay.
I want to delete my account but Slashdot doesn't allow it.
Well, Homer Simpson started out...
"I may be full of crap about this game, and I may be wrong, and that's fine." -Jack Thompson
software freedom is law; so put eben moglen (and the rest of the staff, who work to tirelessly to maintain the freedoms we are able to build upon) up there somewhere
I'm glad someone mentioned Minix. Whatever happened to that and why didn't it get the same level of interest as Linux?
I want a list of atrocities done in your name - Recoil
Forget my last question. Why didn't I bother to Google first - it's all there. /. had a 'delete my dumb post' button.
Be nice if
I want a list of atrocities done in your name - Recoil
It got quiet a bit of interest, but was hampered by two major issues initially.
First, it wasn't free software. It was shared source, you could obtain the source after buying a copy and share that source with others who had also bought a copy, but you couldn't just modify it and pass on your modifications to anyone who wanted. That extra step of "Receiver must already have a license" was an issue, and reduced the number of experimenters and tinkerers drastically. GNU/Linux has achieved much of its popularity through the ability of virtually anyone who has a copy to pass on that copy to others, with freely downloadable LiveCDs and other ways to be exposed to it with little commitment on your part.
The other was that it was (usually, at least in x86) 16 bit. Applications generally ran in 64k memory spaces (albeit different spaces for code and data.) This severely limited the available functionality.
Linus, in part, wrote the first Linux kernel to try to overcome the second issue. By using Linux + the GNU toolchain instead of Minix, you had a full blown 32 bit operating system. Things like the X11 Windowing System suddenly became possible. His eventual adoption of the GPL also gave Linux users the freedom needed to ensure they could build a much bigger community around that kernel than Minix was able to achieve.
Today, Minix version 3 is available as free software, and in 32 bit form, but it happened too late to stop the GNU/Linux juggernaut from rolling right over it.
You are not alone. This is not normal. None of this is normal.
Yep I used Minix at Uni - modified the memory manager to use a different allocation algorithm! I was going to ask the same question - why did Linux take off the way it did?
Brian Kernighan is very much alive; he is currently teaching undergraduates at Princeton. I happened to stumble into one of his courses by accident while shopping around at the beginning of the semester (COS333), and stuck around for the entire class. I'm glad I did: the man's a treasure trove of UNIX stories and experience, and a great teacher and mentor to boot.
That book that Torvalds co-wrote is pretty good. I think it's called "Just for fun". Great read.
Show this to your friends and family that don't know what a real hacker is
He was referring only to Jim Gray, I believe.
Technology tips and tricks.
Am I the only one twisted enough to have fixed for a moment on the once perfectly innocent sentence : "Could someone please try to finger me from overseas?"... :)
never let it be said that Linus is never wrong. good thing too ;-)
...and it was almost ready for the desktop.
I lose at grammar. If only we could take back the dumb posts we make on Slashdot...
Hate to tell you this but GCC wasn't the first free compiler. It wasn't even the first c compile.
There was the Small c compiler that dates back all the way to 1980. There was also the DICE compiler for the Amiga written by Matt Dillon of FireflyBSD fame that was from around the same time frame.
Now GCC is leaps and bounds ahead of those compilers today but without if RMS hadn't written GCC frankly I think Somebody would have like Matt Dillon maybe.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
Because I was a computer-room assistant back in college I got a couple of Unix accounts (that's what they were called) to learn and possibly help the grad students who were doing all the "cool" stuff on them (as opposed to showing a freshman how to print from WordPerfect 5.1 for DOS (F7 baby!)). The problem with the Unix machines (a SunOS and an Ultrix box) was that they both had accounting turned on and so I had $5000 of computer time to use until I had to go back and ask for more, which they actually gave only begrudgingly. I guess some departments really paid some $$$ for access.
.01 but some very pre-1.0 version) and somebody else put it on a Gateway2000 486 machine) and all of a sudden I had, along with all the other assistants, a Unix-like machine we could call our own, do whatever we want and not worry about screwing up the "real" work being done. So when it came to learning how the Unix-world worked, I learned far more on that early Linux box than either SunOS or Ultrix if only because I didn't have to deal all the accounting stuff.
Anyway, along comes Linux (not
The funny thing is that I remember feeling that the Linux box responded better than the Sun machine or the VAX in that it seemed to handle more users better (though I suppose on the Linux box we were just mucking about with standard commands instead of doing heavy-duty work).
Well I think that is a bit unfair.
Minix and Linux where different proposes in mind from the start. I would consider them be both be highly successful.
Minix was included with a text book. Minix was written to teach students how a Unix like OS worked so they could learn how write operating system code! Minix was very portable, clearly written, and would even run on an 8088 and 68000. It's technical limitations where just a logical trade off.
Requiring people to own the book to have the OS was probably a mistake but My guess is that the author wanted to prevent people from reselling Minix. Plus he really wanted people to buy his book.
Linux was some guy that wanted to write a free Unix Kernel for his 386 and he didn't care if it worked on anything but a 386 or frankly anything but his own computer.
Frankly at that time I and everybody else was waiting for the real free UNIX that the GNU project was going to write. The future was going to be GNU Unix and it was going to be a state of the art micro kernel based UNIX like OS. Of course the future doesn't really feel obligated to follow our plans.
Minix was a brilliant success. How many of the early Linux Kernel developers read Operating Systems: Design and Implementation by Andrew S. Tanenbaum?
I would say that Minix it did it's job very well.
Now Minix3 is a very new project. Frankly I find it very interesting. It is micro kernel and it runs drivers in user space. The goal is to create self healing OS. AKA a driver crashing will not take out the OS.
It uses BSD instead of the GPL which I am beginning to favor because of what I consider the bad spirited anti-Tivo clauses in GPLV3.
I really hope that Minix3 does get the attention that it deserves. Just as I hope the OpenBSD, FreeBSD, NetBSD, DragonflyBSD, and Linux continue to grow and thrive.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
Maybe not, but your examples don't seem to totally support that
That's correct, but the scope of Small C and GCC are, I think, a bit different... Small C was made for embeded systems and supports a subset of the C language. It was there, true, but GCC was the first ANSI C free compiler. There was also the DICE compiler for the Amiga written by Matt Dillon of FireflyBSD fame that was from around the same time frame.
DICE was shareware (... I sold DICE as shareware and it quite unexpectedly generated a fair chunk of income. This allowed me to expand into later Amiga models (A3000) as well as put together some fairly souped up PC's (for the times), on which I ran Linux...). The source code has been made available (http://www.obviously.com/dice/) but that was in 1997, so quite recently comparing with GCC. I'm not even going into the DICE licence. if RMS hadn't written GCC frankly I think Somebody would have like Matt Dillon maybe.
Sure. That can be said of anything ever done by anyone I think...
You have a strange list. You left out the most important kernel programmer ever - Ken Thompson, you also left out Dennis Ritchie (first C compiler, designer of the first Unix file system), and for promoting excellent modern programming practices and teaching us all how to program the right way - Brian Kernighan and PJ Plauger.
And what about Larry Wall for Perl? John McCarthy for Lisp (say what you want about Lisp, but it's the only language that has survived with programming mindshare for over half a century)? The lead engineer of the group at IBM who wrote the first high level language compiler for Fortran, proving that assembly language wasn't the end-all for efficient programming? Donald Knuth for his programming books and TeX?
I got into Linux around kernel version 0.11 or so...and what a wild, strange trip it has been! I would have been even more fun to have caught the original posting by Linus...but I only had access to the newsgroups around the kernel version I mentioned.
ttyl
Farrell
CAN-CON 2019 - Ottawa's only book oriented Science Fiction Convention! October 18-20, Sheraton Hotel, Ottawa, Canada h
``Today, Minix version 3 is available as free software, and in 32 bit form, but it happened too late to stop the GNU/Linux juggernaut from rolling right over it.''
Not to mention that Minix 3 development still happens mostly behind closed doors, and actually using the system requires carefully stepping around all the pitfalls. It may have a great design, but development and implementation are still somewhat lacking.
Please correct me if I got my facts wrong.
``Plus he really wanted people to buy his book.''
He, or the publisher. IIRC, it took quite some convincing on Andy's part to actually allow Minix to be distributed by third parties at all.
Please correct me if I got my facts wrong.
Funny....no one in the IT dept where I work (besides me) knows shit about Linux...much less its history. No wonder nothing here works properly...
There is more to science than physics!
www.iomalfunction.blogspot.com
The same could be said in reverse. GNU could have used the BSD kernel instead of the Linux kernel, and then what? Would Linux the kernel ever have been more than a hobby toy? I guess the world will never know...
I forgot that DICE was shareware. It was a nice little compiler.
Small c wasn't for embedded systems. In 1980 an 8080 with 16k of ram was a powerful desktop!
Maybe you should look more at the history of the GCC compiler.
"GCC was started by Richard Stallman in 1985. He extended an existing compiler to compile C. The compiler originally compiled Pastel, an extended, nonportable dialect of Pascal, and was written in Pastel. It was rewritten in C by Len Tower and Stallman,[3] and released in 1987[4] as the compiler for the GNU Project, in order to have a compiler available that was free software. Its development was supervised by the Free Software Foundation.[5]"
So Stallman based his work on another free compiler. Of course the story doesn't end there.
"In 1997, a group of developers, dissatisfied with the slow pace and closed nature of official GCC development, formed a project called EGCS (Experimental/Enhanced GNU Compiler System), which merged several experimental forks into a single project forked from GCC. EGCS development subsequently proved more vigorous than GCC development, and EGCS was eventually "blessed" as the official version of GCC in April 1999."
So what we know and love as GCC is really based on EGCS because GCC was moving way too slow. Kind of like HURD. The statement that I often here that RMS wrote GCC is an exaggeration. Hie is one of the authors of GCC. If he hadn't of done it someone else would have.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
I really don't know but I stand by my opinon that Minix did exactly what was expected of it. I helped educate people that went on to write Operating Systems. One of which is Linux.
Besides I don't know him well enough to call him Andy. But I would love to meet him.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
because they were the companies that made a low-cost Linux-capable machine economically feasible.
...only problem is all their correspondance was written in an proprietary format and theres no app to read it anymore....
That, that really grinds my gears!
Don't mind the trolls. Soldier on and keep at it. The art of writing is something that is sadly becoming lost in this age.
One of the best books I've ever read is from my wife's collection. It's a collection of love letters from World War One. Probably some of the best writing I've ever seen. Very moving stuff, and it makes us "modern" folk look like absolute idiots when it comes to the basics, like expressing yourself.
Weaselmancer
rediculous.
Anyone else notice the two pics of a young Linus were are linus1.gif and linus3.gif?
http://kerneltrap.org/files/linus2.gif
Remember, back around 1990, IBM and Compaq system prices were pretty close to what was being asked for low end HP/Apollo, Sun and MIPS boxes. Now if DEC had been more agressive with the pricing for Alpha and Ultrix...
http://www.cygwin.com/
You say you want a revolution....
When it appeared, the BSDs were in court with the Santa Cruz Organization. SCO used a lot of BSD-copyrighted work; the BSD kernel used about six files full of assembly from the old, old Bell Labs UNIX kernel; when SCO sued BSD386, it was revealed that they were suing in regards to intellectual property that mostly belonged to other people.
But in that period, about 1990-1994, the future of BSD UNIX was rather shaky, so adoption slowed. In stepped Linux, built completely from scratch, guaranteed not to have copyright issues. And being released under the GNU license rather than the BSD license, academics and FSFers alike (though there wasn't a Free Software Foundation yet) were able to submit code to it without feeling guilty.
You know, it really is a shame Lunis couldn't have been bothered to write it properly in the first place.
All these years later, and he's still trying to cludge it together and keep it working. And let's not even talk about security- naming the problems with that would cause a buffer overflow on the forum.
Had Lunis and company written it properly at the start, maybe he wouldn't still be chasing Windows 95's tail lights.
Strictly speaking, he didn't just "sit down" and write his own compiler from scratch. He spent a lot of time searching for a free compiler that was already complete, and finally he found one. It wasn't a C compiler, so he made the necessary modifications to get it going. Also, he didn't do it by himself--Leonard Tower was working on it full time, and there were other assistants.
The Hurd debacle has a number of causes. First, it started from Mach. Mach was an attempt to build a microkernel by adding stuff to an early BSD kernel. This was a bad idea to begin with, and the end result was disappointing.
Microkernel architecture is quite hard, and if any of the initial design decisions are botched, you get a slow, ugly system. The better microkernels are commercial and proprietary, and don't have many papers on how the internals were designed. Mach has the published papers, because it was an academic system, and this results in a tendency to emulate Mach, which is generally considered to have been a botch.
UNIX-like kernels are straightforward to write. There have been many clones of UNIX, most of them forgotten.
Open source projects have trouble with difficult architectural decisions. There's a tendency in the open source world to focus on "features", and microkernels aren't about "features". They're about doing message passing, protection, and CPU dispatching really well, making it possible to do everything else outside the kernel.
It is indeed called "Just for Fun", and yes, I have it in my bookshelf. It's a great read.
Well, I still have to work in an IT department where they haven't at least heard of Linux. Actually, I've never met an IT guy that didn't at least try Linux once. Most of them have at least one Linux box.
That said, I've mostly only worked with people that have a computer science background, so my view is probably tainted.
Now I'm dreaming of OpenSolaris under the GPLv3. Goodbye Linux, Redhat, Novell and their err... strange deals.
And Linus' wisdom has been weak those last years (lots of strange, 'politic' choices). We need another benevolent dictator. This one is used up.
Gentoo GNU/OpenSolaris will make my day.
Instant Karma's gonna get you, Gonna knock you right on the head (John Lennon, 1970)
In days long gone, it was pretty much included in every Linux book you could buy.
In days longer gone, there weren't any Linux books. I bought the first one I heard of, which was published by Yggdrasil and turned out to be a huge bound volume of FAQs and Howtos. And then the Matt Welsch book came out, which helped a lot.
Them where the days when you scraped up whatever books on Unix that you could find from O'Reilly and adapted it over. 'Essential System Administration' and the X Books.
I don't recall ever seeing so many 3 and 4 digit /. IDs post. Kind of an odd feeling in a geeky way.
In http://www.oldlinux.org/book.html there is a book where they comment linux 0.01 source code. The pity about it is that it's only in Chinese. Does anybody know about anything similar in english?
You're a very frank person.
That's about it, off the top of my head. Someone else can handle the list of irritating quirks that have created so many ESR-haters...
Yes, I used DICE in the Amiga, it was nice, no doubt about it. It's sometimes hard to tell if something that I used back in that time was "free" since the concept of free most used was generally used to refer to freeware and shareware.
:).
As for the GCC history, I do know it. One interesting thing that I aways found funny was when RMS found a " Free University Compiler" (can't remember the name of the Uni) and wrote to them to use it; the thing is, it was the University that was Free, not the compiler
Having said that, RMS *and* the FSF were instrumental in the the development of GCC as the first truely free (i.e. something GPL/BSD/MIT/ISC licenced, not neesseraly copyleft) ANSI C compiler. EGCS was a recent event (I remember it well), GCC was already widely used and loved before it, and doesn't really change the previous history of GCC or its importance... furthermore EGCS became the main GCC and its still developed as a GNU project.
As for the actual input of RMS in GCC or in other things, you are of course right in that he is one of many authors (fortunately!), and nowadays RMS doesn't really code much to my knowledge. One thing is important though: RMS *and others* did it at a time when few people were doing it, and as such bootstraped a process of common sharing and development. Hence his importance, even if he deosn't have a line of code in the current GCC. It's generally easier for people to join an already ongoing project than to start it by themselves.
You see that is what gets me. Code shareing was going on long before RMS and the GPL. Public domain software often included source code. I released source for a Virus checker and Arexx bindings for TDI Modula-2 long before I ever saw the GPL.
I even fixed a few bugs in PD software that I had the source for and sent them to the author. It was by snail mail but I did it.
Then internet is what really pushed FOSS forward. Frankly I wish RMS would do more talking and less preaching. But then I am not one of the RMS faithful. If not for RMS we would still have BSD if not GCC we would have a different free compiler. Just like if the Wright brothers hadn't built the first airplane Santos Dumont would have "and some day he did but they are full of it". If Frank Whittle hadn't built the first jet engine some one else would have. Very few people are key players in history. The real driver in FOSS development was and still is the Internet and not RMS.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
1) You are dreaming
2) It's lacking a huge (I mean HUGE) number of device drivers.
3) I don't think it's got ports to all the architectures Linux runs on.
Each of those things could change of course, but it would take time. I think it would be nice if there was a viable kernel under GPLv3. One correction: Redhat hasn't signed one of those strange deals like Novell.
while (tmp != free_list || (tmp=NULL));
/* Kids, don't try THIS at home ^^^^^. Magic */
- "I say the whole world must learn of our peaceful ways...by force!!" Bender B. Rodriguez