Stories
Slash Boxes
Comments

News for nerds, stuff that matters

The Origin Of The Shell

Posted by timothy on Wed Nov 29, 2000 12:21 PM
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
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • Ah yes, the evolution of the shell. by AFCArchvile (Score:2) Wednesday November 29 2000, @08:26AM
  • Re:Multics and Unix acronym by T-Ranger (Score:2) Wednesday November 29 2000, @09:06AM
  • Is this the same CTSS... by binkless (Score:1) Wednesday November 29 2000, @08:31AM
  • by mihalis (28146) on Wednesday November 29 2000, @09:07AM (#593877) Homepage

    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.

  • by TarPitt (217247) on Wednesday November 29 2000, @10:25AM (#593878) Homepage
    What exactly were the mechanics of executing runcom? Were they batch files edited on-line or punched card decks, in which case the innovation was a parse-able command language? Or did they actually use on-line terminals or some sort (old teletype ASR33s?), in which case the innovation is more radical, as it would allow for a command-based human/computer interaction? Also, was the MIT CTSS system where the original BASIC programming language was developed?
  • How does something like Apple DOS fit in? by swb (Score:1) Wednesday November 29 2000, @10:28AM
  • Re:Cool names by Bob McCown (Score:1) Wednesday November 29 2000, @09:10AM
  • Shell by Timmythec (Score:1) Wednesday November 29 2000, @10:38AM
  • Re:Cool names by Mr T (Score:2) Wednesday November 29 2000, @09:13AM
  • Re:RC by davecb (Score:2) Wednesday November 29 2000, @10:38AM
  • while ( is_flame( $this_msg ) ) {print $this_msg;} by ichimunki (Score:2) Wednesday November 29 2000, @10:41AM
  • Re:Renegade moderator by Anonymous Coward (Score:1) Wednesday November 29 2000, @10:41AM
  • Re:How was runcom run? Was it BASIC? by TarPitt (Score:1) Wednesday November 29 2000, @03:04PM
  • Re:In the beginning, the command line was invented by MythMoth (Score:1) Wednesday November 29 2000, @11:33AM
  • Re:gdb by kps (Score:1) Wednesday November 29 2000, @05:28PM
  • Re:Is this the same CTSS... by B4Eddie (Score:1) Wednesday November 29 2000, @05:33PM
  • Bloated Augean SHell by kps (Score:2) Wednesday November 29 2000, @11:42AM
  • Can you say teletype? by os2fan (Score:1) Thursday November 30 2000, @08:56PM
  • Re:Cool names by GeneOff (Score:1) Wednesday November 29 2000, @05:50PM
  • by Christopher B. Brown (1267) <cbbrowne@gmail.com> on Wednesday November 29 2000, @12:04PM (#593893) Homepage
    This is just not something Linus Torvalds would be likely to be tremendously interested in; the original point of Linux was to hack around with 80386 addressing modes, and make a "better Minix."

    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.

      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...

    • Programming Language.

      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.

    • 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.

    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.

  • Re:In the beginning, the command line was invented by kps (Score:1) Friday December 01 2000, @09:15AM
  • Re:In the beginning, the command line was invented by kps (Score:1) Wednesday November 29 2000, @05:55PM
  • Re:In the beginning, the command line was invented by Desperado (Score:1) Friday December 01 2000, @01:04PM
  • Re:a *real* c shell by jamesn9798 (Score:1) Saturday December 02 2000, @12:24AM
  • Re:Cool names by jovlinger (Score:1) Thursday November 30 2000, @04:51AM
  • Re:Any good books... by ebh (Score:2) Wednesday November 29 2000, @07:32AM
  • Re:RC by scorbett (Score:2) Wednesday November 29 2000, @07:54AM
  • Re:Any good books... by mackga (Score:1) Wednesday November 29 2000, @08:00AM
  • by mihalis (28146) on Wednesday November 29 2000, @08:03AM (#593902) Homepage

    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: Sorry, but no can do. by AFCArchvile (Score:1) Wednesday November 29 2000, @08:36AM
  • by RevRigel (90335) on Wednesday November 29 2000, @08:05AM (#593904)
    Actually, his title is a bit of misnomer. I don't know why he named it that. If you'd actually read the essay, you'd know that he says that in the beginning was *really* batch processing. In his high school CS class they called up a University mainframe and sent it batch commands and got results back. Only later did they maintain a live connection and enter commands one at a time, ala command line.
  • Re:RC (Score:4)

    by theyman (13931) on Wednesday November 29 2000, @08:09AM (#593905) Homepage
    rc definition at FOLDOC. [ic.ac.uk]
    I know which I'd rather put money on... :)
  • Re:Hence the "rc"... by Phaid (Score:2) Wednesday November 29 2000, @09:27AM
  • Multics and Unix acronym by Virtex (Score:1) Wednesday November 29 2000, @08:49AM
  • Re:Impressed. by anothy (Score:1) Wednesday November 29 2000, @08:51AM
  • Re:In the beginning, the command line was invented by JabberWokky (Score:2) Wednesday November 29 2000, @08:56AM
  • Re:In the beginning, the command line was invented by Desperado (Score:1) Wednesday November 29 2000, @09:51AM
  • Re:Multics and Unix acronym by anothy (Score:1) Wednesday November 29 2000, @09:03AM
  • Re:In the beginning, the command line was invented by istartedi (Score:2) Wednesday November 29 2000, @09:53AM
  • Onomatopoeia by dbsears (Score:1) Wednesday November 29 2000, @10:04AM
  • Re:Onomatopoeia by jovlinger (Score:1) Thursday November 30 2000, @04:54AM
  • Wrong by Troy Roberts (Score:1) Wednesday November 29 2000, @12:43PM
  • Re:Wrong by GrenDel Fuego (Score:2) Wednesday November 29 2000, @12:44PM
  • BASIC was developed at Dartmouth by Troy Roberts (Score:1) Wednesday November 29 2000, @12:45PM
  • Re:Onomatopoeia by rantonerik (Score:1) Thursday November 30 2000, @05:40AM
  • gdb (Score:3)

    by Anonymous Coward on Wednesday November 29 2000, @12:55PM (#593919)
    Gdb was my shell for quite some time. I had a special little executable that linked in all of the libaries (yes every single one -- it took a little while to start up) on the machine. Appropriately configured .cshrc and .gdbinit files popped up emacs with the gdb prompt when I logged in.

    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.
  • Re:while ( is_flame( $this_msg ) ) {print $this_ms by ebh (Score:1) Thursday November 30 2000, @06:45AM
  • a *real* c shell by agentk (Score:1) Thursday November 30 2000, @07:30AM
  • Re:Cool names by kps (Score:1) Thursday November 30 2000, @07:40AM
  • Re:Where can I get manual for DG's AOS shell? It w by kps (Score:1) Thursday November 30 2000, @07:52AM
  • Re:Onomatopoeia by jovlinger (Score:1) Thursday November 30 2000, @09:36AM
  • Re:In the beginning, the command line was invented by Desperado (Score:1) Thursday November 30 2000, @07:38PM
  • Hence the "rc"... (Score:3)

    by ebh (116526) <ebh-slashdot AT hyperreal DOT org> on Wednesday November 29 2000, @07:27AM (#593926) Journal
    ...in .cshrc et al.
  • Any good books... by wiredog (Score:1) Wednesday November 29 2000, @07:25AM
  • Impressed. (Score:3)

    by Electric Angst (138229) on Wednesday November 29 2000, @07:37AM (#593928)
    Damn, this is a cool article. I don't think I've seen such a direct example of radical thinking in relation to computers. There's buisness radical, which is something along the lines of "hey, we could put a brocure on the web!", and there's sci-fi radical, which generally consists of "the singularity is coming", but never such a raw, pure, approach that was so totally unique.
    We could all do well to remember, this is the kind of stuff that shows greatness.
    --
  • Cool names (Score:3)

    by Anonymous Coward on Wednesday November 29 2000, @07:30AM (#593929)
    Multics was one of the dying breed of computers with kick-ass names. Unix? OK, I suppose I could see "Unix" trying to take over the world. Linux? No, too friendly.

    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)

    by Ed Avis (5917) <ed@membled.com> on Wednesday November 29 2000, @07:38AM (#593930) Homepage
    The 'rc' designation (as in /etc/rc.d/) comes from an abbreviation of 'runcom'.
  • Re:Hence the "rc"... by revision1_1 (Score:2) Wednesday November 29 2000, @07:41AM
  • Re:In the beginning, the command line was invented by mihalis (Score:2) Wednesday November 29 2000, @08:19AM
  • Re:Any good books... by DrQu+xum (Score:2) Wednesday November 29 2000, @07:43AM
  • Re:In the beginning, the command line was invented by mihalis (Score:2) Wednesday November 29 2000, @08:20AM