Slashdot Log In
The Origin Of The Shell
Posted by
timothy
on Wed Nov 29, 2000 12:21 PM
from the massachusetts-seafood-remainders dept.
from the massachusetts-seafood-remainders dept.
davecb writes: "Louis Pouzin, the inventor of datagrams, just contributed an
article
to Multicians.org on the creation of the first shell, "runcom,"
on CTSS and later Multics." Multicians is one of the coolest sites I've seen -- if you think the odd Atari 2600 is retro, look out. They also provided information on the Multics scheduler a little while ago.
This discussion has been archived.
No new comments can be posted.
The Origin Of The Shell
|
Log In/Create an Account
| Top
| 61 comments
(Spill at 50!) | Index Only
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.

Re:In the beginning, the command line was invented (Score:4)
It is a pretty good title, perhaps I'm just being a little too literal. It wouldn't be the first time. I still laugh when I remember his analogy of operating systems as car salesmen - the bit that was something like :
Linux Guy : Our free tank does 200 mph whilst never needing gas. When it breaks we will come to your house to fix it.
Joe consumer : Stay away from my house you freak.
How was runcom run? Was it BASIC? (Score:3)
Probably not Linus... (Score:4)
There is a big difference between "hacking up a better Minix" and creating a Multics clone; in the latter case, there was considerable integration between:
- The kernel, providing file, computation, and security services.
- Programming Language.
- Unix and Linux represent "minimalist" systems in a number of senses, and it seems that many prominent Linux kernel hackers prefer "more minimal" text editors like Vi to the sorts of complex tools like TECO [multicians.org] and Emacs. [multicians.org]
There has periodically been talk on alt.os.multics [alt.os.multics] of recreating Multics; the problem is that since it tightly integrated together custom hardware, complex kernel, and a pretty sophisticated user space, there's just plain a lot to replicate.Note that the memory model was substantially different from that of Unix. With Unix, you open files and filter data in and out, and allocate memory dynamically on demand, Multics unified this, so that rather than "opening a file," you would instead "initiate a segment," so that all files would essentially be memory mapped into the address spaces of all participating processes.
Furthermore, whilst the evils of segmentation as seen with the 64k pages on the original "IBM PC" give people the impression that segmentation is evil, Multics made pervasive use of it to keep chunks of memory distinct.
Note that some of the later Pentium CPUs included segmentation instructions likely based on Multics that could have been used to help do memory management "the Multics way;" the lack of such on RISC (Alpha, IA-64, PPC, MIPS, ...) architectures and the perpetual impending doom of IA-32 means that having memory management in Multics style on "modern" hardware may need to wait another 15 years...
Multics was coded in PL/1, [uni-muenster.de] and the fairly byzantine complexity of PL/1 provides both the merit that some operations may be much better optimized than C, and the demerit of being pretty complex.
I just don't think "C hackers" would build Multics.
The only way I'd see it being likely would be if some of the retired Multics creators that made some Silly-Valley and/or DotCom millions decided to sponsor a several-year-long project involving a staff of on the order of a dozen pretty elite developers to provide some sort of "legacy" to retrieve Multics from the dead.
In the beginning, the command line was invented (Score:4)
This is a good debunking of Neal Stephenson's "In the beginning was the command line". In the beginning there was no command line, and when someone invented it, it was as "revolutionary" as graphical user interfaces where when Douglas Englebart invented them. They are certainly not an intrinsic part of any computer as he seems to imply.
A better title would have been "In the beginning was the sheep". Sheep produce wool, so man invented the loom. Then Jacquard invented the programmable loom. Then Ada Lovelace wrote "punch cards" for it and thus was programming invented.
Re:In the beginning, the command line was invented (Score:3)
Re:RC (Score:4)
I know which I'd rather put money on...
gdb (Score:3)
It all started one day when I had the usual problem of some file with "--" and "!" in the name, which was impossible to remove because either the shell or the command tried to parse the file name when you ran "rm". I had a gdb window running, and in a flash of insight I simply typed "p unlink("--!!!what_the_fuck")" at the prompt. Whammo! like the little linux newbie nerd I was, I incredibly proud and thought I was a genius.
At the time I regularly had to travel over to another company we were contracting with to work on their broken and mis-configured machines. I was constantly fighting the fact that someone had installed some broken tcsh over the original one, killing my ability to use up-arrow to access my history. I really used gdb as my shell there, almost exclusively. People hated me because that little executable that linked everything would start up and briefly kill the machine while it loaded everything. The link command for that executable would take a while too, when I was re-compiling it.
Of course, what I really wanted was just the ability to do Alt-p in emacs and get all my history available to me. One day someone took me aside and showed me the M-x shell command, and how you could even use cntrl-r to actually search the history, and I was blown away.
That was many years ago and I was young and naive, and I needed the money. I still use the unlink thing from a gdb prompt occasionally, to dive past the shell expansion on files that have an asterisk in them, instead of taking two or three tries to get the escape thing right. But only if I happen to have a gdb already running.
Hence the "rc"... (Score:3)
Impressed. (Score:3)
We could all do well to remember, this is the kind of stuff that shows greatness.
--
Cool names (Score:3)
But you know when you make a computer called Multics, or even better, Multinics, it's going to turn against mankind and take over the world.
RC (Score:4)