The Origin Of The Shell 61
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.
Ah yes, the evolution of the shell. (Score:2)
Re:Multics and Unix acronym (Score:2)
The pun is that its phoeniticly simmilar to eunich [m-w.com].
Is this the same CTSS... (Score:1)
I used to develop for Cray systems that ran an operating system CTSS (see here [qrc.com] ) , but I thought it stood for Cray Time Sharing System. Is this the same as the Compatible Time Sharing System?
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)
How does something like Apple DOS fit in? (Score:1)
Re:Cool names (Score:1)
Shell (Score:1)
Re:Cool names (Score:2)
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.
Re:RC (Score:2)
while ( is_flame( $this_msg ) ) {print $this_msg;} (Score:2)
Same book for less money [barnesandnoble.com] at Barnes and Noble.
I must say I'm a little surprised to see such an obvious shill for amazon.com on
Re:Renegade moderator (Score:1)
Chiil out man, you will get the +1 bonus one day, then you will get so bored with karma whoring that trolling becomes more interesting. The moderator points will come so often as to get pointlessly boring.
One thing is true: get rid of that sig and you will get +1 twice as fast.
and if you really hate the mods go metamoderate for a while.
Re:How was runcom run? Was it BASIC? (Score:1)
Re:In the beginning, the command line was invented (Score:1)
Re:gdb (Score:1)
Neat.
On MIT's famed ITS (Incompatible Timesharing System), the command processor -- the analogue of the shell -- was the debugger, just enhanced with a few extra commands for logging in and such. Perhaps some slumming exITSer can explain further.
Currently, Sun's Solaris debugger command language is a ksh superset. I suppose you could use it as your login shell.
Re:Is this the same CTSS... (Score:1)
The half-breed used Multics security and Cray processing speed for some weird, and possibly classified applications at a site or two not revealed to this writer.
Some interesting things about the Multics shell are:
Iteration: place a set of tokens in parens, another set of tokens in another pair of parens, and the command would be repeated with the tokens substituted in place:
ls (a b c) (d e f)
expands to:
ls a d;ls b e; ls cf
Active functions: more sophisticated redirection of command output to the command line.
Wild Cards Done by comands, not shell: This enables the use of extended syntax, if the command supports it:
rename *a*.cpp =.fortran
does exactly what you would expect. Try doing it in sh. I noticed that DOS wildcard handling is more Multics like than Unix like, except multics doesn't have the name limitations found in DOS.
Until Release 12, it did not do pipes, but it imported them with a vengence. Pipe and file redirection used an overloaded pipe operator, becaus the less-than and greater-than signs were used for directory pathing.
Bloated Augean SHell (Score:2)
Indeed.
-r---wxrw- 1 root sys 954 Jan 18 1973 v1/bin/sh /bin/bash
-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
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.
Can you say teletype? (Score:1)
Think of a computer connected to a tty machine. You have a program looking after the console. It reads input, it runs output.
The UI has been around a long time before computers, and guess what? - it works. It even works under a GUI. And, you will find that users would get terribly upset if the pipe or keystrokes from one tty session bled through to another ...
So yes, in the beginning there was a lonely command line. But the command line needed to talk to a something. At first it phoned up other command lines, and talked to them. So was born the telegram, the telex, and the teletype.
May years passed, and they needed to talk to computers. Computers could not talk, but they could type, and who better than a telex to talk to. So we started by telexing the computer.
Telexes were expensive, and most users had to use punched cards. But when the teletype terminals became cheaper, the punched cards disappeared, and so on.
Terminals became more capable, and one could deal with the terminal as a changing page, rather than a tty session. You could use the screen as a window on a page, and from this, via a long and winding road, we get character based terminal sessions, windows, and finally, the ultimate in perfection for the GUI, the workplace shell ...
Re:Cool names (Score:1)
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:
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.
Re:In the beginning, the command line was invented (Score:1)
My mistake. Looks like that might be claims 6 through 11 of this patent [delphion.com] which essentially covers a video terminal with extra bits for each character to identify fields (though not for display appearance attributes, which were invented later [delphion.com]). But it's not clear to me through the patentese whether this covers a video terminal cursor as such, or just the implementation of a cursor using a cursor attribute bit. Unfortunately the earlier patents it references are not in the IBM database.
Re:In the beginning, the command line was invented (Score:1)
I was about to merely deflate the above joke by pointing out that when the command line was invented, video terminals didn't exist, and you knew where to type by the position of the carriage or print head on the Teletype, Flexowriter, Selectric, etc. And the cursor (it there was one) was a clear plastic thing with a mark to show where the next character would strike -- the name derived from the similar sliding pointer on a slide rule.
Then I used my big dic to look up "cursor", and wanted to share what I found: "A part of a mathematical instrument, which slides backwards and forwards. 1594." So the word "cursor", with something reasonably close to its current meaning, is over four centuries old! Make Multics look like a pretty young thing.
Re:In the beginning, the command line was invented (Score:1)
Re:a *real* c shell (Score:1)
Re:Cool names (Score:1)
Re:Any good books... (Score:2)
Re:RC (Score:2)
That's funny, according to O'Reilly's "Running Linux", it stands for "resource configuration".
--
Re:Any good books... (Score:1)
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: Sorry, but no can do. (Score:1)
Re:In the beginning, the command line was invented (Score:3)
Re:RC (Score:4)
I know which I'd rather put money on...
Re:Hence the "rc"... (Score:2)
Not RunCom.
Multics and Unix acronym (Score:1)
--
Re:Impressed. (Score:1)
second, the actual work described wasn't as revolutionary as people here are saying. very good, to be sure, but the really revolutionary stuff came when the idea made its way into other people's hands, and other systems. try to imagine a shell without pipes or even IO redirection. the shell, as it first existed, was mostly an evolution of batch processing. a big improvement, to be sure, but just evolution. the really interesting stuff showed up with the Unix shell, at the hands of Thompson, Ritchie, and a few others.
see this paper [bell-labs.com] by Dennis Ritchie, particularly the sections on process control, IO redirection, and (most especially) pipes for some really revolutionary developments in the history of the shell.
Re:In the beginning, the command line was invented (Score:2)
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
Re:In the beginning, the command line was invented (Score:1)
I actually met the Bunker-Ramo engineer, I can no longer remember his name, who invented the cursor. Other B-R engineers seemingly held him in great awe.
So the Multics engineers who invented runcom were standing on the shoulders of such true giants as the father of the cursor.
Re:Multics and Unix acronym (Score:1)
Re:In the beginning, the command line was invented (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.
Onomatopoeia (Score:1)
I always thought that the name shell was derived from command language:
command language -> cl -> shell
Re:Onomatopoeia (Score:1)
Wrong (Score:1)
The prefix Muli means mulitple or many while the prefix Uni means one. KT wrote the original Unix for himself thus, Unix verses Multics. Check out Dennis Richies website for some history of Unix and where he points this fact out.
Re:Wrong (Score:2)
BASIC was developed at Dartmouth (Score:1)
Re:Onomatopoeia (Score:1)
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.
Re:while ( is_flame( $this_msg ) ) {print $this_ms (Score:1)
Whether anyone thinks Amazon is the M$ of online bookstores is not my concern.
a *real* c shell (Score:1)
A co-worker was just telling me how much he disliked the plurality of languges, and shell syntaxes pretending to be languages, involved in modern Unix. He said he liked the elegance of Lisp machines, if perhaps not the day-to-day practicality, and the fact that all software was just part of one big Lisp program. So, he said, why isn't there a real C-shell, that used (at least a subset) of actual C syntax?
I thought for a moment, did a bunch of net searches, and said "yeah, why not??" I don't think it would be terribly difficult...
Re:Cool names (Score:1)
ULTRIX ran on various VAXen and on the MIPS-based DECstations. Most models of both are well supported by NetBSD [netbsd.org]: VAX [netbsd.org], MIPS [netbsd.org]. Most ULTRIX binaries can be run under NetBSD.
There was also ULTRIX-11 for the PDP-11, but you're almost certainly not thinking of that.
Re:Where can I get manual for DG's AOS shell? It w (Score:1)
Probably not from DG, since EMC reportedly trashed everything.
I suggest asking on comp.os.aos [os.aos]
Re:Onomatopoeia (Score:1)
Re:In the beginning, the command line was invented (Score:1)
Anyway, it is funny but no funnier than some recent "inventions" I could mention.
Hence the "rc"... (Score:3)
Any good books... (Score:1)
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)
Re:Hence the "rc"... (Score:2)
Re:In the beginning, the command line was invented (Score:2)
Re:Any good books... (Score:2)
He's got a ton of stuff on the old days of Unix, C, etc.
Thus sprach DrQu+xum, SID=218745.
Re:In the beginning, the command line was invented (Score:2)