Slashdot Mirror


The Origin Of The Shell

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.

27 of 61 comments (clear)

  1. Ah yes, the evolution of the shell. by AFCArchvile · · Score: 2

    From runcom to unix to DOS to Linux to the Quake console. What a long, strange trip it's been.

    --
    "Ancillary does not mean you get to rule the world." --U.S. Circuit Judge Harry Edwards, speaking to the FCC's lawyer
  2. Re:Multics and Unix acronym by T-Ranger · · Score: 2
    Accorting to Ken, its "a week pun on multics". It was developed initialy, just after Bell Labs pulled out ot the multics project, and KT purposly did some things differently then multics.

    The pun is that its phoeniticly simmilar to eunich.

  3. Re:In the beginning, the command line was invented by mihalis · · 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.

  4. How was runcom run? Was it BASIC? by TarPitt · · Score: 3

    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?

    --
    If your children ever found out how lame you are, they'd murder you in your sleep
  5. Re:Cool names by Mr+T · · Score: 2
    I did my part. At CMU in OS we worked on Yalnix, because "Y'All" is the plural or "You" and thus better. You can think of that as "Multi-nix" if you want, we just abbriviated it in to hick.

    Then there was microYalnix but that was a different story.

    Currently I'm working on a system that is named Hannibal because Hannibal is a cannibal and he eats people. I'm more concerned about a cannibal computer turning bad than one called multi-something.

    How do you spell abriviated? That doesn't look right.

    --
    This is my signature. There are many signatures like it but this one is mine..
  6. Re:RC by davecb · · Score: 2

    That's a modern translation. We always used to say short for "run commands", where "run" was in the mainframe-batch senee of "a run of the program". --dave

    --
    davecb@spamcop.net
  7. while ( is_flame( $this_msg ) ) {print $this_msg;} by ichimunki · · Score: 2

    Same book available from fatbrain.

    Same book for less money at Barnes and Noble.

    I must say I'm a little surprised to see such an obvious shill for amazon.com on /. -- especially since their price of $29.95 bites, compared the BN price of $22.75. For $30 you can this book from any number of other online book retailers.

    --
    I do not have a signature
  8. Bloated Augean SHell by kps · · Score: 2
    Face it, bash is not equivalent to the first shell used in Unix.

    Indeed.

    -r---wxrw- 1 root sys 954 Jan 18 1973 v1/bin/sh
    -rwxr-xr-x 1 root sys 5888 May 14 1975 v6/bin/sh
    -rwxr-xr-x 1 root sys 17310 May 5 1979 v7/bin/sh
    -rwxr-xr-x 1 root sys 563624 Aug 1 1999 /bin/bash

    Another comparison: bash alone, not counting the shared library routines it needs, is bigger than all of the Sixth Edition kernel, /bin, /usr/bin, and /usr/games put together.

    utility=log(size) is a charitable description of bash.

  9. Probably not Linus... by Christopher+B.+Brown · · Score: 4
    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, 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 and Emacs.
    There has periodically been talk on 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.

    --
    If you're not part of the solution, you're part of the precipitate.
  10. Re:Any good books... by ebh · · Score: 2
  11. Re:RC by scorbett · · Score: 2
    The 'rc' designation (as in /etc/rc.d/) comes from an abbreviation of 'runcom'.

    That's funny, according to O'Reilly's "Running Linux", it stands for "resource configuration".


    --

  12. In the beginning, the command line was invented by mihalis · · 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.

    1. Re:In the beginning, the command line was invented by RevRigel · · Score: 3

      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.

    2. Re:In the beginning, the command line was invented by JabberWokky · · Score: 2
      It's the title that sticks in the mind however.

      Isn't that what titles are for? It's a neat little biblical twist, and it made me buy the book, despite knowing I could read it online (that, and it was cheap as a magazine, and I had a longish train ride ahead of me).

      It gets across the gist of the book - a philosophical look at computers. That makes it a good title; I don't think it's intended to convey information so much as the "flavor" of the book.

      --
      Evan

      --
      "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
    3. Re:In the beginning, the command line was invented by istartedi · · Score: 2

      No. In the beginning were the fingers. And somebody counted on them, and when the ran out of fingers they invented clay tablets and beurocracy. Each process was a person. When the king wanted to kill a process, he would use a sword.

      --
      For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    4. Re:In the beginning, the command line was invented by mihalis · · Score: 2

      I did read it. Batch processing didn't exist in the beginning either. Still I take your point, it's been a while since I read it.

    5. Re:In the beginning, the command line was invented by mihalis · · Score: 2

      in fact, I even bought the book, so I should have remembered the bit about batch programming. It's the title that sticks in the mind however.

  13. Re:RC by theyman · · Score: 4

    rc definition at FOLDOC.
    I know which I'd rather put money on... :)

    --
    Well, well, well; three holes in the ground...
  14. Re:Hence the "rc"... by Phaid · · Score: 2

    Wrong. The rc in rc.x and foorc stands for resource (sometimes .rc files are referred to as Resource Configuration files, but usually just resource).

    Not RunCom.

  15. Re:Wrong by GrenDel+Fuego · · Score: 2

    It was also suggested to be Multics without balls.

  16. gdb by Anonymous Coward · · Score: 3

    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.

  17. Hence the "rc"... by ebh · · Score: 3

    ...in .cshrc et al.

    1. Re:Hence the "rc"... by revision1_1 · · Score: 2

      Odd. I always understood it to stand for "runtime configuration"

  18. Impressed. by Electric+Angst · · Score: 3

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

    --
    Feminism is the wild notion that women are human beings.
  19. Cool names by Anonymous Coward · · Score: 3
    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.

  20. RC by Ed+Avis · · Score: 4

    The 'rc' designation (as in /etc/rc.d/) comes from an abbreviation of 'runcom'.

    --
    -- Ed Avis ed@membled.com
  21. Re:Any good books... by DrQu+xum · · Score: 2

    If you're impatient, you can check out DMR's webpage.

    He's got a ton of stuff on the old days of Unix, C, etc.
    Thus sprach DrQu+xum, SID=218745.

    --
    DrQu+xum: Proof that the lameness filter doesn't work.