|
The Daemon, the GNU & the Penguin - Ch. 18 ~ By Dr. Peter Salus |
|
Thursday, September 22 2005 @ 04:35 PM EDT
|
Here is the next installment, Chapter 18 - "Just for Fun", in our ongoing book by Dr. Peter Salus, The Daemon, the GNU and the Penguin. Dr. Salus references two books, and if you'd like to read them, "Operating Systems Design and Implementation" by Andrew Tanenbaum and Albert S. Woodhull can be obtained from Prentice-Hall. Tanenbaum describes the book like this: "MINIX has been designed as a teaching system. It is easy to learn and maintain. A book describing operating systems in general and how MINIX works in particular is available. It can be used as a textbook or for independent study." Linus Torvalds'biography, "Just for Fun," can be obtained from ThinkGeek or Amazon, which also has an abridged version on CD, among other places.
Here are the earlier installments of The Daemon, the GNU and the Penguin:
***************************
The Daemon, the GNU and the Penguin
~ by Dr. Peter H. Salus
Chapter 18. "Just for Fun"
I frequently point to August 1969 as the "birthmonth"
of UNIX. A few days later, the ARPANET (soon to become
the Internet) was born. And, on 28 December 1969, Linus
Torvalds was born.
- Murray Hill, NJ
- Los Angeles, CA
- Helsinki, FI
I believe each step grew from the earlier one(s).
Where Free Software is concerned, the geographical
spread is equally interesting:
- Richard Stallman, New York and Cambridge, MA
- Tim Berners-Lee, Oxford, UK, and Geneva, CH
- Linus Torvalds, Helsinki, FI
Linus was born into the Swedish minority of Finland
(about 5% of the 5,000,000 Finns). Linus was a "math guy"
throughout his schooling. Early on, he "inherited"
a Commodore VIC-20 (released in June 1980) from his grandfather;
in 1987 he spent his savings on a Sinclair QL (released in
January 1984, the "Quantum Leap," with a Motorola 68008
running at 7.5MHz and 128kB of RAM, was intended for the
small business and the serious hobbyist). It ran Q-DOS.
And it was what got Linus involved:
One of the things I hated about the QL was that it had a
read-only operating system. You couldn't change things...
[Linus] bought a new assembler ... and an editor ...
Both ... worked fine, but they were on the microdrives
and couldn't be put on the EEPROM. So I wrote my own
editor and assembler and used them for all my
programming. Both were written in assembly language,
which is incredibly stupid by today's standards...
[Just for Fun (2001), p. 45]
That was the beginning. A high school student, interested
in bettering his system, wrote the tools he wanted.
During his first year at the University, Linus tells
us that he did little programming, and at the end of
that year, he enlisted in the Finnish army to fulfill
his obligation. He was 19. He "got out" on 7 May 1990.
In the fall of 1990, the University of Helsinki installed
its first Unix machine, a MicroVAX running Ultrix. But Linus
was "eager to work with Unix by experimenting with what I
was learning in Andrew Tanenbaum's book" (p. 53). Linus
read all 700-odd pages of Operating Systems. The
book "lived on my bed."
One of the things that struck Linus about Unix was its
openness. Another was its simplicity. And then came a bolt
from the blue: in early 1991, Lars Wirzenius dragged Linus
to the Polytechnic University of Helsinki to hear Richard
Stallman. "I don't remember much about the talk," Linus
says. "But I guess something from his speech must have
sunk in. After all, I later ended up using the GPL for
Linux."
But on 5 January 1991, Linus got his father to drive to
a "mom and pop" computer store, where he had ordered a
no-name 4-meg, 33MHz, 386 box, so he could get it home. He
was 21. The box came with DOS, but Linus wanted Minix,
and ordered it. It took a month to find its way to
Finland. But it arrived. And Linus fed the 16 diskettes
to the machine. And then he began "playing" with it. The
first thing he wrote was a terminal emulator: "That's how
Linux got started. With my test programs turning into a
terminal emulator."
Because Linus was truly dependent upon the Internet
and (specifically) the comp.os.minix newsgroup, we
can date events far more accurately than in earlier
decades.
We know that Linus' first posting to comp.os.minix,
asking about the POSIX standard, was 3 July 1991.
And we can see his posting about "doing a (free)
operating system (just a hobby, won't be big and
professional like gnu) ... This has been brewing
since April ...," of 25 August 1991.
There was a reasonable expression of interest. We thus
know that Linus put what we would now call
Linux 0.01 up on the University of Helsinki ftp site
on 17 September 1991. "No more than one or two people
ever checked it out," he said.
The following January there was discernible growth in the
Linux community, leading (I think) to the attack on Linux
by Andy Tanenbaum on 29 January 1992 [see next chapter].
Perhaps more important, in the spring Orest Zborowsky ported
X-windows to Linux.
The number of Linux users continued to grow, as did the
versions of the software. .01 was 63KB compressed. Only
a few weeks later, Linus posted .02 on 5 October. On
19 December, v.11 was posted; and on 5 January 1992, v.12
-- 108KB compressed -- appeared. On 7 March, there was
v.95 and on 25 May 1992, v.96, with support for X, and
taking up 174KB compressed.
It was barely a year since Linus' first posting, but in
1992 SuSE was formed, in February Bruce Perens released
MCC Linux, and on 8 December Yggdrasil alpha was
released.
1993 began with Yggdrasil beta's release (18 February) and
went on to RedHat's being set up by Mark Ewing. August 1993
brought us Debian (from Debbie and Ian Murdoch).
And, on 5 November 1993, Linus spoke at the NLUUG (Netherlands
UNIX Users' Group).
On 12 March 1994, Linus released Linux 1.0, basically v0.99,
patch level 157. It was the first stable kernel distribution.
I don't want to go into extensive detail here. But I think that
there are a number of important points to be made:
- The birth, growth and development was totally unorganized.
- It was well-distributed, geographically.
- It was conducted via the Internet.
Ted Ts'o was one of the first Linux users in the US. I spoke
to him over dinner in Atlanta.
I was working as an undergraduate staff person at MIT -- I was
planning to go to graduate school, but I got caught up in
projects. So I've got some courses, but no grad degree.
I worked at Athena for three years. For Dan Geer and Jeff
Schiller, who were not yet at Kerberos. In '91 I was working
on a help desk application, and in the midst of this I
discovered Linux.
It was via Usenet. It think .08 or .09 had been cross-posted.
I'll return to Ted's recollections later. The important
thing was that thanks to the Internet and to Usenet, the
work of a hobbyist in Finland could be picked up elsewhere
in Europe, in Australia, and in the US.
"There was fairly strong social cohesion," Ted told me. "Linux
was the first big project to succeed in a distributed fashion."
Dr. Salus is the author of "A Quarter Century of UNIX" (which you can obtain here, here, here and here) and several other books, including "HPL: Little Languages and Tools", "Big Book of Ipv6 Addressing Rfcs", "Handbook of Programming Languages (HPL): Imperative Programming Languages", "Casting the Net: From ARPANET to INTERNET and Beyond", and "The Handbook of Programming Languages (HPL): Functional, Concurrent and Logic Programming Languages". There is an interview with him, audio and video,"codebytes: A History of UNIX and UNIX Licences" which was done in 2001 at a USENIX conference. Dr. Salus has served as Executive Director of the USENIX Association. This work is licensed under the Creative Commons
Attribution-NonCommercial-NoDerivs License. To view
a copy of this license, visit
http://creativecommons.org/licenses/by-nc-nd/2.0/
or send a letter to Creative Commons, 559 Nathan Abbott Way,
Stanford, California 94305, USA.
|
|
Authored by: jesse on Thursday, September 22 2005 @ 04:43 PM EDT |
Corrections go here [ Reply to This | # ]
|
- with a Motorola 68008 running at 7.5Hz and - Authored by: jesse on Thursday, September 22 2005 @ 04:45 PM EDT
- 4-meg, 33Hz, 386 box, - Authored by: jesse on Thursday, September 22 2005 @ 04:52 PM EDT
- Corrections - Authored by: decsnake on Thursday, September 22 2005 @ 05:24 PM EDT
- Corrections - Authored by: geoff lane on Thursday, September 22 2005 @ 05:25 PM EDT
- Bruce Parens --> Bruce Perens - Authored by: Anonymous on Thursday, September 22 2005 @ 05:32 PM EDT
- Corrections - Authored by: tytso on Thursday, September 22 2005 @ 06:51 PM EDT
- X-Windows -> X-Window - Authored by: cybervegan on Friday, September 23 2005 @ 05:56 AM EDT
- 68008 ? - Authored by: artp on Friday, September 23 2005 @ 08:05 AM EDT
- 68008 ? - Authored by: jamesw on Friday, September 23 2005 @ 08:21 AM EDT
- Where is Chapter 18? - Authored by: Anonymous on Friday, September 23 2005 @ 08:57 AM EDT
- About Linus's military service - Authored by: Anonymous on Friday, September 23 2005 @ 09:24 AM EDT
- s/It think/I think/ - Authored by: jimwelch on Friday, September 23 2005 @ 09:49 AM EDT
- Circumstances of the Birth of Linus - Authored by: markhb on Friday, September 23 2005 @ 01:50 PM EDT
- Bruce Perens and MCC Linux - Authored by: Anonymous on Monday, September 26 2005 @ 10:16 AM EDT
|
Authored by: RoQ on Thursday, September 22 2005 @ 04:47 PM EDT |
Hey, Linus is almost exactly one year younger than me! Makes me feel old...
--RoQ[ Reply to This | # ]
|
- Off Topic - Authored by: ssavitzky on Thursday, September 22 2005 @ 06:08 PM EDT
- Nominees for Europeans of the Year awards - Authored by: Erwan on Thursday, September 22 2005 @ 06:16 PM EDT
- Pigs take flight - Authored by: nerd6 on Thursday, September 22 2005 @ 06:19 PM EDT
- Lewis Mettler@lamlaw.com - Authored by: Anonymous on Thursday, September 22 2005 @ 06:47 PM EDT
- Regards CAGW - Authored by: lifewish on Thursday, September 22 2005 @ 07:30 PM EDT
- And they wonder why we don't trust government - Authored by: lifewish on Thursday, September 22 2005 @ 07:37 PM EDT
- "Microsoft vs Mass.: What ever happened to 'The customer is always right'?" - Authored by: Anonymous on Thursday, September 22 2005 @ 08:24 PM EDT
- Microsoft and Open Document standard - Authored by: Anonymous on Thursday, September 22 2005 @ 08:41 PM EDT
- M$, SCOG, money and licences. - Authored by: Anonymous on Thursday, September 22 2005 @ 09:07 PM EDT
- OT: DoMB--a "PJ-safe" Alternative? - Authored by: Weeble on Thursday, September 22 2005 @ 09:27 PM EDT
- Competition in Europe - Authored by: Chris Lingard on Friday, September 23 2005 @ 11:18 AM EDT
- OT: All your patents belong to US - Authored by: GelW on Friday, September 23 2005 @ 12:48 PM EDT
- GROK ALERT! Has SCO's stock stopped trading??? - Authored by: Anonymous on Friday, September 23 2005 @ 01:10 PM EDT
- Looks like the Linux Mark Institute is a business. - Authored by: Anonymous on Friday, September 23 2005 @ 01:58 PM EDT
|
Authored by: dmarker on Thursday, September 22 2005 @ 06:51 PM EDT |
Thanks for the work & making it available to us here.
It is good that there are *ix scribes of your quality and dedication.
Thanks
Doug[ Reply to This | # ]
|
|
Authored by: qu1j0t3 on Thursday, September 22 2005 @ 07:10 PM EDT |
Abebooks.com has those titles: Tanenbaum and
Torvalds, starting from $3 and $2 respectively. [ Reply to This | # ]
|
|
Authored by: darkonc on Thursday, September 22 2005 @ 08:00 PM EDT |
Tannenbaum's so-called
attack on Linux is, I think, unfairly categorized. I
think that it was a critique, and a fair one from someone who honestly believed
that microkernels were a far bette way to go than monolitithic. (Both
Tanenbaum's comment, and Linux's response can be found here).
To be
even more fair, Linux ultimately migrated towards the microkernel side of the
fence, with Modules being detachable from the kernel proper.
In fact, both
of Tanenbaum's primary critique points were basically agreed with by Linus,
and ultimately applied to Linux.
Yes, there was a bit of one-upmanship with
each defending their 'baby', but in reading the exchange right now, I'd say it
was _mostly_ calm, and they even exchanged (backhanded)
compliments.
_____
(and on a complete tangent: Compliment and
complement seem to be very closely related -- one fills up. the other
inflates). --- Powerful, committed communication. Touching the jewel within
each person and bringing it to life.. [ Reply to This | # ]
|
|
Authored by: ws on Thursday, September 22 2005 @ 10:43 PM EDT |
Ms Didio has found a new platform, but spouts the same message, probably with
the same backers.
Link to Newsfactor
website
But on the other hand, there is the distinct
possibility that the inclusion of such products and services might raise the
company's TCO to levels that equal or surpass the current cost of the Microsoft
Windows or Sun Solaris environments.
Same old same
old.
WS[ Reply to This | # ]
|
- Didio rides again - Authored by: Anonymous on Friday, September 23 2005 @ 06:46 AM EDT
|
Authored by: Anonymous on Thursday, September 22 2005 @ 10:53 PM EDT |
EOM [ Reply to This | # ]
|
|
Authored by: Anonymous on Friday, September 23 2005 @ 06:46 AM EDT |
August 1969 as the "birthmonth" of UNIX. A few days later, the ARPANET (soon
to become the Internet) was born. And, on 28 December 1969, Linus Torvalds was
born.
I believe each step grew from the earlier
one(s).
Does this say it took only a "few days" to implement
ARPANET after being inspired by UNIX? Was Linus' gestation less than 5
months?
Really??!!
[ Reply to This | # ]
|
|
Authored by: Anonymous on Friday, September 23 2005 @ 10:52 AM EDT |
If only K&R had written Unix in PL/I, it would have been secure right from
the very start... (And if IBM could release a PL/I compiler for Linux, security
would increase many orders of magnitude!)[ Reply to This | # ]
|
|
Authored by: ak_hepcat on Friday, September 23 2005 @ 12:41 PM EDT |
Mmm. Old school linux.
Sometimes I'm reminded that I started using linux at
0.12.
I've got the first Yggdrasil beta cdrom floating around.
1992... wow.
13 years of linux. that's pretty crazy!
And I wouldn't have it any other
way.
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1
.8b4) Gecko/20050908 Firefox/1.4"[ Reply to This | # ]
|
|
Authored by: Anonymous on Friday, September 23 2005 @ 01:50 PM EDT |
Somewhere on some old media I probably can't even read any longer, I have an
archive of my e-mail correspondence with Ted Tso. He did (among other things)
the serial port drivers for (pre 1.0) Linux. At the time, I was playing with
Linux as a gateway between the Internet and the Amprnet (Amateur Packet Radio)
and had lots of TNC's (terminal node controllers) connected to my Linux box (as
well as dial-up modems, printers, speech synthesizers, etc.). I had run out of
interrupts for my many serial ports (at the time, there were no vendors offering
a shared interrupt serial port solution). I had a set of patches that I would
apply to the kernel so my extra ports would function with no interrupt (via
polling). Somewhere along the line, Ted had screwed up the driver so polling no
longer worked (I think he forgot to tri-state the ISA IRQ line) and I contacted
him via e-mail. It took a dialog of a few messages back and forth before he
took me seriously enough to accept my contribution. I think this was before the
LKML existed (or at least I didn't know about it).
Ahhh the fond memories I have of that time...
JSL[ Reply to This | # ]
|
|
Authored by: Anonymous on Friday, September 23 2005 @ 09:41 PM EDT |
The author missed the very FIRST distribution (mentioned on
the Wike article by the way.) That was SLS. It took around
50 floppies - and it worked. Slackware was based on SLS if
I recall correctly.
It was my first distribution. I did it the hard way before
that using version 0.12.
Steve Wilson [ Reply to This | # ]
|
|
Authored by: Anonymous on Saturday, September 24 2005 @ 10:11 AM EDT |
The parent wrote:
Microkernels have many advantages over monolithic
kernels, the
most obvious of which is that bugs or faults in a user-space
driver can't crash
other user-space processes. So for example, if your video
card driver
crashed, the system would keep running (and could easily detect
that the
video card driver had crashed and start a new one; after all, its just
a user-
space process).
That's a great theory, but sometimes that's a
bit harder in practice...
I have done some programming for Symbian, a
microkernel-based OS. I've
found it to be remarkably easy to crash. While I am
not 100% sure what's
going on, it seems like there are too many
inter-dependencies on the
modules.
For example, does the file system
contain any context? Say, information
about open files? What happens when it
restarts? What do the other users of
the file system do about it? You can get
cascading failures...
I think it's fair to say that a microkernel is
necessary, but not sufficient, for
stability and robustness. [ Reply to This | # ]
|
|
|
|
|