Slashdot Mirror


Source Code for CTSS released

Mainframes ROCK! writes "The source code for the Compatible Time-Sharing System, CTSS, has been released, and the here is the source code. CTSS was one of the first time-sharing operating systems and a direct ancestor of Linux. Developed at MIT in the 1960's on a specially modified IBM 7094 system.; it was developed at Project MAC at MIT. CTSS was first published, as well as operated in a time-sharing environment, in 1961; in addition, it was the system with the first computerized text formatting utility, and one of the very first to have inter-user electronic mail."

177 comments

  1. The Slashdot super-code-bowl 2k4 by SeanTobin · · Score: 4, Funny
    Welcome to the first Slashdot Super Code Bowl!

    Hello potential prize winner! Consider using your time to create an entry in this year's Slashdot Super Code Bowl. Prizes will be awarded to anyone who proves their worth by submitting code that fits any of these categories:
    • Rewriting CTSS in under 1k lines of Perl.
    • Porting Perl to CTSS.
    • Successfully submitting a patch to the original author(s) and having it included in an updated release.
    • Creating a 'Proof of Concept' virus, trojan, or worm designed to infect CTSS AND be able to spread to other CTSS machines.
    • Locating SCO IP within CTSS.
    • Adding necessary functions and support to CTSS to allow it to successfully emulate itself.
    • Running CTSS on any appliance that does not normally include a real operating system (Toasters, non-gui remote controls, Gateway PC's)


    Other categories may be added, and bonus prizes for most original, most useless, and most useful code will also be awarded.

    --
    Karma: SELECT `karma` FROM `users` WHERE `userid`=138474;
    1. Re:The Slashdot super-code-bowl 2k4 by GulagMoosh · · Score: 5, Funny

      Can I submit my entry on punch cards?

    2. Re:The Slashdot super-code-bowl 2k4 by JawzX · · Score: 1

      A Special "ULTRA-1337" award will go to the first person who ports CTSS to HP 48g graphing calculators and enables mutli-terminal support for 38g systems via IR.

    3. Re:The Slashdot super-code-bowl 2k4 by 5m477m4n · · Score: 3, Funny

      Mmm-yeah I'm going to need you to go ahead and put the new cover sheet on your TPS reports on CTSS ASAP. Mmm-kay. Oh yeah, I'm going to need to come in on Sunday too.

      --

      ---
      Those who can, do
      Those who can't, teach
      Those who don't know how, supervise
    4. Re:The Slashdot super-code-bowl 2k4 by nitrocloud · · Score: 0

      I only have paper tape!?

      --
      Karma: Good, or bust!
    5. Re:The Slashdot super-code-bowl 2k4 by standsolid · · Score: 1, Funny

      I found the offending code that is SCO's IP

      -----Begin Snip-----

      ------End snip------

      Where can I pick up my prize?

      --
      WTPOUAWYHTTOTWPA
      What's the point of using acronyms when you have to type out the whole phrase anyways?
    6. Re:The Slashdot super-code-bowl 2k4 by Jerf · · Score: 1

      Locating SCO IP within CTSS.

      zcat ctss.src.tar.gz

      It's in there somewhere... you find it.

      (We here at SCO don't put any stock in the new-fangled "burden of proof" stuff.)

    7. Re:The Slashdot super-code-bowl 2k4 by corvair2k1 · · Score: 1

      There is actually a lot of evidence that CTSS stole a lot of code from SCO in the compiled executables themselves. Once disassembled, you see a lot of repitition... Here is one line of offending code:

      MOV AX BX

      We expect a check of $599 by Friday from each of you who downloaded the code.

      Love,
      SCO's Legal Team

    8. Re:The Slashdot super-code-bowl 2k4 by FlutterVertigo(gmail · · Score: 1

      I'd be willing to wager a majority of /. readers have never worked with cards or papertape. I learned FORTRAN (language #2 after LISP) on cards my junior year in high school twenty-five years ago and used papertape as a backup for assembly language & BASIC on a HD-less PC during my senior year of high school at a local college.

    9. Re:The Slashdot super-code-bowl 2k4 by archeopterix · · Score: 2, Funny
      I'd be willing to wager a majority of /. readers have never worked with cards or papertape.
      What do you think I wipe my ass with, huh?
    10. Re:The Slashdot super-code-bowl 2k4 by Anonymous Coward · · Score: 0

      Could you move your desk to the basement? That would be great...

    11. Re:The Slashdot super-code-bowl 2k4 by afd8856 · · Score: 1

      I really wonder about the implementation and implications of what you're saying...

      --
      I'll do the stupid thing first and then you shy people follow...
    12. Re:The Slashdot super-code-bowl 2k4 by sinserve · · Score: 1

      Those are intel 80x86 instructions, and you forgot the comma between the operands.

    13. Re:The Slashdot super-code-bowl 2k4 by jonadab · · Score: 1

      > Other categories may be added, and bonus prizes for most original,
      > most useless, and most useful code will also be awarded.

      I've got an implementation of double-ROT13 in only 66 bytes of Perl...
      for my$x(<STDIN>){map{$x=~tr/a-zA-Z/n-za-mN-ZA-M/;$x}1 ..2;print$x}

      I'm sure it's possible to golf that down a little more and get under 64 bytes,
      but I was in a hurry to post this before someone else posts essentially the
      same thing.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    14. Re:The Slashdot super-code-bowl 2k4 by Anonymous Coward · · Score: 0

      ...

      Coult you be any more anal retentive?

      It doesn't make you look any smarter or better, it just makes you look like you have no sense of humor. Oh, and that you don't get any. Ever.

    15. Re:The Slashdot super-code-bowl 2k4 by Anonymous Coward · · Score: 0

      Back in 1968 I wrote a basic-like interperter written in exec (the shell language of CTSS). I slso hid a back door so that my boss could change passwords as often as she wanted but I could still get in. Man, those were the days. My 2741 terminal was way cool - an IBM selectric terminal with a 110 baud modem.

      Can I have my prize now?

  2. It's free, but there's a catch by Anonymous Coward · · Score: 3, Funny

    You have to go to their half day seminar.

  3. direct ancestor? by Anonymous Coward · · Score: 0

    "direct ancestor of Linux"

    Doesn't that heavily imply that Linux is from the same codebase? Or did SCO submit this story?

    1. Re:direct ancestor? by Three+Headed+Man · · Score: 2, Insightful

      Correct me if I'm wrong, but wasn't Linux written by Linus Torvalds back in the early 90's?

      --
      I'm probably at the karma cap. Mod up a funny troll instead, it lightens the mood :)
    2. Re:direct ancestor? by Chess_the_cat · · Score: 1, Funny

      Not from scratch. He started with Minix.

      --
      Support the First Amendment. Read at -1
    3. Re:direct ancestor? by motyl · · Score: 3, Interesting

      That only means that many people now call any UNIX system "Linux". In the popular culture, there is no UNIX. They just call it all "Linux".

      Lets see when people will call any Operating System "Linux"? Any guesses?

    4. Re:direct ancestor? by Zardus · · Score: 2, Insightful

      Ugh.. No, he didn't start from Minix. He wrote Linux from scratch, using Minix as a sort of model. Its like if you go into an elevator and take a ride, and then make your own elevator without looking through the elevator motors and the like.

      --
      You can mod your friends, you can mod your nose, but you can't mod your friend's nose.
    5. Re:direct ancestor? by irokitt · · Score: 1

      And here comes Mr. "I didn't get the joke!"

      --
      If my answers frighten you, stop asking scary questions.
    6. Re:direct ancestor? by Anonymous Coward · · Score: 0

      No, Richard Stallman started writing the Linux system software already in the 80's.

    7. Re:direct ancestor? by Nicholas+Evans · · Score: 2

      Wrong. Linux 0.1 was torvalds-only code. And as far as I know, there has never been any minix code in linux, ever.

    8. Re:direct ancestor? by Anonymous Coward · · Score: 0

      A mind like a steel trap.

    9. Re:direct ancestor? by wolftone · · Score: 1

      Nope. Linus stole from it in a covert ops mission against the USSR, thereby causing the USSR to collapse. The original code was stolen by KGB agents from SCO.

    10. Re:direct ancestor? by red+floyd · · Score: 1

      No, you're wrong. Linux was written by Santa Claus and the Easter Bunny.

      --
      The only reason we have the rights we have is that people just like us died to gain those rights. -- Cheerio Boy
  4. GREAT! by oZZoZZ · · Score: 0

    "You'll have to know a little FAP and MAD to understand it. There are even a few programs in AED-0, an Algol variant."
    Great, I'll go search the museum for some books on FAP and MAD, then I'll write an Emulator for a system that's documents probably don't exist anymore, then I'll write a compiler, then install this OS..

    This should have been released 20 years ago, worthless news.

    1. Re:GREAT! by BabyDave · · Score: 2, Funny

      I consider myself an expert in FAP.

    2. Re:GREAT! by metlin · · Score: 1

      Not to troll, but in some ways this makes me a little sad. Those were the days of 400+k of assembly code, and largely very well optimized.

      And then you look at most programmers today, and the way bloated operating systems are written, not to mention the bloated applications that go with it.

      I guess we've more or less lost programming of that kind, even things like mobile and thin-client devices these days run higher-end language platforms like Java. I do understand that higher levels of abstractions bring more capability, and we probably would not have been able to handle the complexities of today's code all in assembly -- but a lot of people seem to be using that as an excuse to come up with bloated, non-optimized and useless code swell with features nobody uses.

      Reminds me of The Story of Mel, and what we've lost.

    3. Re:GREAT! by PacoTaco · · Score: 2, Informative
      I guess we've more or less lost programming of that kind, even things like mobile and thin-client devices these days run higher-end language platforms like Java.

      Languages like Java and C# are chosen for speed of development, which is especially important in the fast-changing market of mobile devices. You don't want to be dinking around with registers while your competitors are releasing completed products.

    4. Re:GREAT! by jshriverWVU · · Score: 1

      I understand how you feel. I didn't start programming, or using computers really till 1996, but even then x86 asm + C seemed to rule the programming world. That's one thing that inspired me to be a programmer. So I spent a lot of time mastering those two, and learning to be a tight coder. However since C++/Java (OOP) and the myriad of GUI widgets came out. It seems politics have taken over programming skills. From a business perspective it makes sense though. Get it done, use what resources get it done that's "Good enough" and get it out the door ASAP. Hense we have a ton of VB code monkeys out there. Yet I'm making minumum wage, because I can't do VB.Net. Guess I have mixed feelings. Bottom line is it's not an artform anymore, it's a strict business with $$ making the decesion.

    5. Re:GREAT! by Anonymous Coward · · Score: 0

      Does bloat mean it's not optimized. Don't compilers inline functions to make programs faster yet bigger? I wish you would show me a way to put 100 screens and 50 reports on top of a 60 table database in 6 months and have code that you consdier unbloated and optimized. Even on a Celeron 1000, VB is damm fast. I am not sure all the work tweaking it in C++ or assembly would bring any payback.

    6. Re:GREAT! by $RANDOMLUSER · · Score: 1
      I know what you mean. Until you've spent a full day with the marketroids in a knock-down-drag-out over whether we'll de-feature or double the manufactured cost by switching from a 4K PROM to an 8K PROM, you can't know what the fuss is all about.

      When was the last time you heard the word "elegant" used referring to a program?

      But I gotta admit, I love the type safety and bang/line and the built-ins I get from languages like Java.

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    7. Re:GREAT! by tricorn · · Score: 1

      What's fun is that running those old assembly language programs on an emulator on a modern computer can be very very fast. We've recently brought up a PLATO system, running on an emulated Cyber (60-bit one's complement machine). On a 1.8GHz Opteron, on a not-very-optimized-for-speed emulator, the thing is about 8 times faster than the original system was in the mid-70's, and we were running about 500 people on a dual-mainframe system back then. PLATO is a time-sharing system that runs under NOS, and implements its own language (internally, a combination of pcode-like execution intermixed with natively-compiled expression evaluation). So, an emulated system running an interpreted language, and you should be able to run 800-1000 people on it on a $2,000 computer (RAM and disk space, of course, is totally beyond what was available back then). Highly optimized emulation of the Cyber architecture can run 2-8 times faster (at least) than that (e.g. 15-50 times faster than the original machines) on the faster Alpha machines, and (due to total neglect of the Alpha line) the Opteron processors appear even faster (except my static translator from Cyber to Alpha assembly code would need to be modified to target AMD64 instructions, instead).

      Also, relevant to this story, is that PLATO was also "one of the first time sharing systems" with "one of the first electronic mail" facilities.

      See the Cyber1 web site for more information about bringing up a PLATO system.

  5. A BitTorrent of the source file... by tcopeland · · Score: 5, Informative

    ...is on RubyForge right here.

    It's 400K lines of assembly code... what could be sweeter?

    1. Re:A BitTorrent of the source file... by julesh · · Score: 1

      And you're gonna need it, cause we've slashdotted the server already.

      Bet they never thought an OS that'll only run on a machine of which there were probably less than a thousand ever made would be so popular...

    2. Re:A BitTorrent of the source file... by tcopeland · · Score: 2, Interesting
      It's worth mirroring the torrent just for the comments in the code:
      [tom@hal ctss]$ grep "WHAT CAN" *
      util: 01737 0074 00 4 00014 BADCF TSX PRNTER,4 WHAT CAN I SAY--
      [tom@hal ctss]$
      Nice.
    3. Re:A BitTorrent of the source file... by Ann+Coulter · · Score: 1

      I just downloaded the ctss-listings.zip file with Bit Torrent and have posted it on my school account. You can download it here. I don't think that this server can be slashdoted so feel free to use it as much as you want. By the way, I was able to cut down 2 megabytes my switching over to the bz2 format. Nothing was lost here except for some redundancy.

      Here is the shameless plug: my project is here. Spread the word.

    4. Re:A BitTorrent of the source file... by jonadab · · Score: 1

      > It's 400K lines of assembly code... what could be sweeter?

      That's not nearly as bad as it sounds. Assembly code is pretty verbose, but
      for all that it's not really hard to follow (until you need to get the big
      picture, at which point you hope the comments are accurate).

      400K lines of assembly is probably equivalent to about 100K lines of C, 50K
      lines of C++, or about 10K lines of Perl (about half of which would be POD
      and comments), 3K or so if we're allowed to use modules off the CPAN with
      wild abandon and not count them toward the line count. Less if we play golf.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    5. Re:A BitTorrent of the source file... by tcopeland · · Score: 1

      > about 10K lines of Perl

      Ah, true - you're right, it's not that much code compared to a scripting language equivalent.

      > Less if we play golf.

      Even fewer if we use Ruby! w00t!

    6. Re:A BitTorrent of the source file... by Anonymous Coward · · Score: 0

      Here is the shameless plug: my project is here. Spread the word.

      Question: No slam on your project, but GMP is a very popular, fast and professional multiple-precision library. If you feel you can do better.. wouldn't it have greater inpact if you just contributed directly to it?

    7. Re:A BitTorrent of the source file... by oldibm · · Score: 1

      Thanks for the mirror, my DSL line was totally maxed!
      Its still pretty busy two days later but nothing crashed, only the log filled up.

      CTSS isn't the only old thing on my site, there are photos of a little of my collection and a few scanned documents there now (including SOS, an earlier operating system) with much more to come in the next couple of years. Enjoy!

      - Paul Pierce

    8. Re:A BitTorrent of the source file... by tcopeland · · Score: 1

      > Thanks for the mirror

      No problem, happy to help!

      > much more to come

      Very cool, rock on!

  6. RMS by MikeMacK · · Score: 2, Interesting

    If I remember correctly, it was CTSS (or a derivative there of) that RMS hacked on at MIT, so it's cool to see it still out there to be hacked on.

    1. Re:RMS by SWroclawski · · Score: 4, Informative

      It was the Incompatible Time Sharing System.

      More information here: http://www.its.os.org/

    2. Re:RMS by PacoTaco · · Score: 1
      It was the Incompatible Time Sharing System.

      Windows XP?

    3. Re:RMS by Anonymous Coward · · Score: 0

      Windows NT may be incompatible, but it just isn't a time sharing system: time sharing systems are systems into which many users log in simultaneously and interact with the same machine. Out of the box, neither NT nor XP do that. Arguably, even Microsoft's high-end specialized multi-user systems (the ones you access through RDP) don't even qualify as time-sharing systems because they fall short on the "sharing" bit.

      Linux and UNIX, on the other hand, are "time-sharing systems" in the traditional sense.

  7. Revolution OS by bhsx · · Score: 2, Informative

    According to RMS in Revolution OS, this was also the machine that he worked with at MIT. I believe it was the fact the he had access to all the code on the system that lead him down his path, believing that you need source code availability to fix/tweak/hack to your needs.

    --
    put the what in the where?
    1. Re:Revolution OS by 0racle · · Score: 2, Insightful

      As others have already said, I believe that RMS mentioned the Incompatible Time Sharing system that he worked on. Since this was also started when RMS was only 8, I doubt he had much to do with this one.

      --
      "I use a Mac because I'm just better than you are."
    2. Re:Revolution OS by pilgrim23 · · Score: 2, Informative

      Does anyone recall CALL-OS the similar time share system for the IBM OS/360? At the University of New Mexico back in the 70s some local hackers built a add-on to it called ATS for Aardvark Time Share which allowed many many things including total (and stealth) control of the zero protect key of the mainframe.

      --
      - Minutus cantorum, minutus balorum, minutus carborata descendum pantorum.
  8. In other news.. by Rosyna · · Score: 0

    SCO sues the creators of CTSS for stealing source code. Darl McBride was heard to have remarked "We'll offer all people that download the code a cheap, $300/seat license." /got nothin'

  9. SCO? by Carnildo · · Score: 2, Funny

    CTSS was one of the first time-sharing operating systems and a direct ancestor of Linux.

    Does this mean SCO has the code it needs to prove that Linux contains Unix code?

    --
    "They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
    1. Re:SCO? by photon317 · · Score: 1


      No, it just means whoever submitted the article wasn't using "direct ancestor" in the way that most of us would have. I would imagine there's no code from CTSS directly in Linux.

      --
      11*43+456^2
    2. Re:SCO? by Anonymous Coward · · Score: 0

      It was a joke, son.

  10. another joke by everyplace · · Score: 1, Funny

    It's about time... oh wait.

    1. Re:another joke by PetiePooo · · Score: 2, Funny

      Imagine a Beowulf cluster of CTSS installations running in 7094 emulators on a... oh, what's the point!

  11. REMINISCENCES ON THE HISTORY OF TIME SHARING by Anonymous Coward · · Score: 5, Informative

    REMINISCENCES ON THE HISTORY OF TIME SHARING
    John McCarthy, Stanford University

    1983 Winter or Spring

    I remember thinking about time-sharing about the time of my first contact with computers and being surprised that this wasn't the goal of IBM and all the other manufacturers and users of computers. This might have been around 1955.

    By time-sharing, I meant an operating system that permits each user of a computer to behave as though he were in sole control of a computer, not necessarily identical with the machine on which the operating system is running. Christopher Strachey may well have been correct in saying in his letter to Donald Knuth that the term was already in use for time-sharing among programs written to run together. This idea had already been used in the SAGE system. I don't know how this kind of time-sharing was implemented in SAGE. Did each program have to be sure to return to an input polling program or were there interrupts? Who invented interrupts anyway? I thought of them, but I don't believe I mentioned the idea to anyone before I heard of them from other sources.

    My first attempts to do something about time-sharing was in the Fall of 1957 when I came to the M.I.T. Computation Center on a Sloan Foundation fellowship from Dartmouth College. It was immediately clear to me that the time-sharing the IBM 704 would require some kind of interrupt system. I was very shy of proposing hardware modifications, especially as I didn't understand electronics well enough to read the logic diagrams. Therefore, I proposed the minimal hardware modification I could think of. This involved installing a relay so that the 704 could be put into trapping mode by an external signal. It was also proposed to connect the sense switches on the ccnsole in parallel with relays that could be operated by a Flexowriter (a kind of teletype based on an IBM typewriter).

    When the machine went into trapping mode, an interrupt to a fixed location would occur the next time the machine attempted to execute a jump instruction (then called a transfer). The interrupt would occur when the Flexowriter had set up a character in a relay buffer. The interrupt program would then read the character from the sense switches into a buffer, test whether the buffer was full, and if not return to the interrupted program. If the buffer was full, the program would store the current program on the drum and read in a program to deal with the buffer.

    It was agreed (I think I talked to Dean Arden only.) to install the equipment, and I believe that permission was obtained from IBM to modify the computer. The connector to be installed in the computer was obtained.

    However, at this time we heard about the "real time package" for the IBM 704. This RPQ (request for price quotation was IBM jargon for a modification to the computer whose price wasn't guaranteed), which rented for $2,500 per month had been developed at the request of Boeing for the purpose of allowing the 704 to accept information from a wind tunnel. Some element of ordinary time-sharing would have been involved, but we did not seek contact with Boeing. Anyway it was agreed that the real time package, which involved the possibility of interrupting after any instruction, would be much better than merely putting the machine in trapping mode. Therefore we undertook to beg IBM for the real time package. IBM's initial reaction was favorable, but nevertheless it took a long time to get the real time package - perhaps a year, perhaps two.

    It was then agreed that someone, perhaps Arnold Siegel, would design the hardware to connect one Flexowriter to the computer, and later an installation with three would be designed. Siegel designed and build the equipment, the operating system was suitably modified (I don't remember by whom), and demonstration of on-line LISP was held for a meeting of the M.I.T. Industrial Affiliates. This demonstration, which I planned and carried out, had the audience in a fourth floor lecture room and me in the computer room an

    1. Re:REMINISCENCES ON THE HISTORY OF TIME SHARING by nero4wolfe · · Score: 2, Interesting
      I may have some information on SAGE... if I remember acronyms correctly, that was the first system developed for NORAD (North American Air Defence Command) by SDC (System Development Corporation). I was an SDC employee in the late 70's to early 80's and I still have the book published by SDC in the early 80's with the company history.

      I do remember there were displays in the SDC buildings about them building the first non-research time sharing system; the first commercial entity to run classes to teach programming, etc. If I heard correctly, those buildings in Santa Monica are long gone now, and I doubt that Burroughs/Unisys (the ultimate purchaser of SDC) would have kept those displays.

      There also was an early timesharing (in the sense of multiple displays; etc.) system called "Ursa Minor" developed at UCLA for their IBM/360 system. That was well entrenched for teaching purposes at UCLA in the early 70's; I think it was developed in the late 60's.

  12. Dont Say Ancestor of Linux... by DiS[EnDeR] · · Score: 0, Redundant

    SCO WILL SUE FOR SURE!!!

    --

    Harder.. Better.. Faster.. Stronger
  13. Say Whaaat? Direct Ancestor? by kbahey · · Score: 4, Insightful

    a direct ancestor of Linux

    Direct ancestor? Not by a long shot. Unless you consider that any multi user, multi tasking, time sharing operating system as a direct ancestor.

    1. Re:Say Whaaat? Direct Ancestor? by Anonymous Coward · · Score: 0

      Looking at the code, it appears that there are similarities to Linux code, for example, the way that variables are declared, loops defined, and the data types that are used.

      I think that Linus must have based Linux on stolen code from this system!

    2. Re:Say Whaaat? Direct Ancestor? by teeker · · Score: 1

      Direct ancestor? Not by a long shot. Unless you consider that any multi user, multi tasking, time sharing operating system as a direct ancestor.

      errr...I think the submitter means that conceptually, Linux is a descendent of CTSS. This was 1961...you couldn't just download a multi-user, timesharing system off the internet and burn a copy on CD. This was one of the first, and no doubt had an influence on other systems that followed, including UNIX. Obviously the Linux codebase doesn't share anything in common with CTSS. It's a direct descendent in the same way that the PC on your desk is the descendent of the ENIAC.

      --
      teeker
    3. Re:Say Whaaat? Direct Ancestor? by oldibm · · Score: 1

      Direct in the sense of being in a direct line from the "first" operating system, as follows:

      - the Mock-Donald System
      - SOS
      - IBSYS
      - CTSS
      - Multics
      - Unix (v6, v7, System 3, SysV, SCO)
      - BSD
      - Linux

      The Mock-Donald system for the IBM 704 has been called the first operating system. It evolved into the SHARE Operating System, which evolved into IBM's operating system for the 709x series, IBSYS. IBSYS was the state of the art and well known to the developers of CTSS. Many of these people went on to work on the next big Project MAC system, Multics, including Thompson and Ritchie who took from it a lot of inspiration for Unix. BSD evolved from Unix and is worth mentioning for all the technology it added, especially the network stuff. Linux (plus GNU) is the most popular of several clones of Unix/BSD/SysV built to be free software, and a worthy descendant of those earlier breakthrough systems.

      - Paul Pierce

  14. INDIRECT ancestor of UNIX by Anonymous Coward · · Score: 3, Informative

    ken thompson and dennis ritchie both used ctss, and cite it as an inspiration for unix. and we all know unix is linux's father's former roommate. what does that make linux? ...absolutely nothing.

    1. Re:INDIRECT ancestor of UNIX by Anonymous Coward · · Score: 0

      Some mod didnt get the spaceballs joke.....

    2. Re:INDIRECT ancestor of UNIX by Shadowlore · · Score: 1

      ken thompson and dennis ritchie both used ctss, and cite it as an inspiration for unix. and we all know unix is linux's father's former roommate. what does that make linux? ...absolutely nothing. ... which is what SCO is about to become.

      --
      My Suburban burns less gasoline than your Prius.
  15. CTSS Technical Notes by Anonymous Coward · · Score: 1, Informative
  16. Source Opened... by mod_parent_down · · Score: 0, Offtopic

    Source closed.

  17. If there was only a simh of IBM 709x by dyfet · · Score: 2, Interesting

    But alas there isn't. Actually, projects, like simh (or the hercules 360 emulator) do offer a chance to give new life to historic operating systems.

    1. Re:If there was only a simh of IBM 709x by Anonymous Coward · · Score: 0

      There is a 7094 emulator available (Check alt.folklore.computer) It can currently run IBSYS and IBM FORTRAN. Sadly CTSS is a little out of it's league right now; CTSS requires non-standad extensions to the 7094 and relies on a lot hardware the emulator currently doesn't have.

    2. Re:If there was only a simh of IBM 709x by YankeeInExile · · Score: 3, Informative

      There is a thread on this very topic over on alt.folklore.computers right now, and the concensus is: While the 7094 CPU is emulated, there is a lot of IO that is required for CTSS to run that is not ready for prime time - some of which is probably pretty easy to knock out, but some of which (the channel controller) is Big Black Voodoo, in terms of asynchronous operation with the main CPU.

      --
      How does the Slashdot Effect happen given that no slashdotters ever RTFA?
  18. CTSS-ITS by World_Leader · · Score: 5, Informative

    CTSS (Compatible Time Sharing System) lent its name to MIT's ITS (Incompatible Time Sharing System) for the PDP-10.

    I'm pretty sure it was ITS that RMS developed Emacs (Editor Macros, or Eight Megs and Constantly Swapping) on but he'd know for sure.

    Also, from SAIL (Stanford Artificial Intelligence Laboratory) we got WAITS which was the West-coast Alternative to ITS.

    MULTICS also grew out of these roots, and Unix of course is a play on "Multics".

    1. Re:CTSS-ITS by rgmoore · · Score: 1
      Emacs (Editor Macros, or Eight Megs and Constantly Swapping)

      You got the acronym wrong. It's "EMACS Makes A Computer Slow". HTH.

      --

      There's no point in questioning authority if you aren't going to listen to the answers.

    2. Re:CTSS-ITS by Anonymous Coward · · Score: 0

      ITS had TECO. EMACS was originally a set of Editor MACroS for TECO. So you're right.

      Lets not forget also that ITS is an indirect ancestor of Windows NT...CTSS->ITS->TOPS-20->VMS->NT

      Then again you could pretty much claim CTSS as the indirect ancestor of any timesharing mainframe system.

    3. Re:CTSS-ITS by World_Leader · · Score: 4, Informative

      Lets not forget also that ITS is an indirect ancestor of Windows NT...CTSS->ITS->TOPS-20->VMS->NT

      VMS is a direct descendant of RSX-11. In fact, VMS had an RSX-11 emulation which could run RSX-11 programs (and the VAX CPU had a PDP-11 emulation mode) and on early VMS versions you needed this as native VMS utilities were lacking or incomplete (MCR PIP ...)

      RSX-11 goes back to the early 1970's and was developed by the same Dave Cutler who is credited with being one of the architects of VMS and he later goes to Microsoft and works on NT so that much of your derivation is right.

      It's difficult to make simple, linear charts of operating systems; where's TOPS-10 in all this? It's not really a predecessor of TOPS-20. And then there's TENEX which was another PDP-10 OS, basically a rogue development effort at BBN when they tired of waiting for DEC to get TOPS-10 right. TOPS-20 was also known as TWENEX but that was mostly for humor's sake rather than any direct historical connection except inasmuch as back then all these OS's had historical connections.

      And just to throw in some gratuitous though related history, DEC's RT-11 most derives from RSX-11 (and DEC's DOS-11 not to be confused with Microsoft's DOS.)

      RT-11 is cloned by the writers of CPM for 8-bit systems, which in turn is cloned by DOS (yes, the one that launched Microsoft.)

    4. Re:CTSS-ITS by leighklotz · · Score: 3, Informative

      I suspect that "Eight Megs" refers to the later Unix EMACS versions, because the AI PDP-10 didn't have that much memory. The 256K x 36-bit word Ampex core memory racks were pretty big and I think AI had 758KWords, or 3.375 mega-octets, if you wanted to count it that way, which it didn't.

      E-MACS was a TECO macro package that RMS picked up. There was also T-MACS and R-MACS. When I used E-MACS, it was on v134, I think, and RMS for a couple of years been the only maintainer of it, but a small number of people were still using ^R mode in TECO or one of the other macro packages. When RMS stopped maintaining ITS and Twenex EMACS to start the GNU project, I maintained it for a while, but it was eventually clear that it wasn't the way of the future. By that time, Lisp Machines and the Vax had happened.

      By the way, last time I was at the computer museum in Mountain View, CA, I saw a Lisp Machine whose serial number (CADR 8) I recognized. I figured it was time to leave.

    5. Re:CTSS-ITS by World_Leader · · Score: 1

      Emacs:

      Eight Megs and Constantly Swapping
      Emacs Makes a Computer Slow
      Escape-Meta-Alt-Control-Shift

    6. Re:CTSS-ITS by Dahan · · Score: 0

      Eventually Mallocs All Core Storage

    7. Re:CTSS-ITS by Slashamatic · · Score: 4, Interesting
      Not quite right. VMS was a descendent of RSX-11M/M+, which in turn had very little to do with RSX-11D/IAS which bosted some really ugly code. DOS-11 was also known as DOS/BATCH had some bits from RSX-11D/IAS but was really its own very primitive thing. At the time, DOS/BATCH was seen if anything to have some relation to the IBM 1130/1800 operating system which the PDP was taking over from.

      TOPS-20 was somewhat of a rewrite if TOPS-10.

      RT-11 doesn't really relate to RSX. The source code was quite different. However there were some similiarities with one of the command line interpreters (DCL) and some utilities like PIP. It should be noted that PIP (Peripheral Interchange Program) had been knocking around for a long time and then something like it ended up in CP/M.

      I wouldn't really call CP/M a clone of RT, many of the system services and concepts behind them were very different. RT-11 was designed as a lab operating system and had a foregroun/background mechanism built-in, which was less of a hack than CPM's TSRs. The PDP-11 had a very advanced instruction architecture at the time and many concepts did not translate to the 8088.

    8. Re:CTSS-ITS by Anonymous Coward · · Score: 0

      As I was the original author of that rather simple linear chart I'd just like to say that you're quite right. My chart was a weak attempt at humour; a simple device to show that claiming that CTSS is a descendent of Linux is silly; in the wild of days of 60's and 70's timesharing systems interbreeding and cross-polination was rampant. Pretty much everything bagate everything else.

    9. Re:CTSS-ITS by jonadab · · Score: 1

      > where's TOPS-10 in all this? It's not really a predecessor of TOPS-20.
      > And then there's TENEX

      TENEX was a heavily-modified TOPS-10. (Modified to the extent that there was
      more new code than original code probably, but it was descended from TOPS-10
      just the same.) TOPS-20 (aka TWENEX) was modelled conceptually on TENEX, and
      was written by some of the same people, but it was (at least mostly) a rewrite.

      Unix eventually took over mostly because it wasn't tied to a specific vendor's
      hardware architecture, and nearly everything else was at the time.

      In most other respects TOPS-20 was considerably more advanced than the Unix
      that was available at the time, but the 36-bit hardware it was tied to was
      going nowhere anyone wanted to be.

      There are features of TOPS-20 that we would still do well to add even to the
      current state of the art in *nix systems. The interactive help system they
      had was vastly superior to our manpage system, for example. (Calling it
      "interactive" doesn't sound very exciting, but if you read about how it
      actually worked, it was really cool, MUCH better than the "interactive"
      help in VMS, for example (which is still better than man pages IMO).)

      --
      Cut that out, or I will ship you to Norilsk in a box.
  19. Crud. by Roadkills-R-Us · · Score: 0, Redundant

    My port of X11 doesn't count? I was especially proud of the frame buffer optimaztions; I haven't seen anyone else run ico this fast on a Teletype 33 KSR...

    Oh, well. I'll publish the speed in xstones when the benchmark finishes running in a couple of years.

  20. So.. how long before the Gameboy Advance port? by slashdot_punk · · Score: 2, Funny

    *ahem*

    --


    I reset my case.
  21. Nitpick, in the hopes that I can help you by drinkypoo · · Score: 1

    ...and others. The word you are looking for is not "lead". Lead is either the element/metal lead (Pb), to lead someone is to go before them as they follow, and a lead can be a rope or line with which you lead someone. When you lead someone, they are led, not lead. Unless you lead them into your crucible and alchemically make them into the material from which we make bullets.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    1. Re:Nitpick, in the hopes that I can help you by bhsx · · Score: 1

      LOL, I knew I had it correct the first time. I reread (or is that rered) it and "corrected" it to lead.
      Well, thanks for the pedanticism.

      --
      put the what in the where?
    2. Re:Nitpick, in the hopes that I can help you by maxbang · · Score: 1

      This post will sink faster than a lead zeppelin.

      --
      I also reply below your current threshold.
    3. Re:Nitpick, in the hopes that I can help you by niteice · · Score: 1

      That's the beauty of English. Any word can be verbed.

      --
      ROMANES EUNT DOMUS
    4. Re:Nitpick, in the hopes that I can help you by theLOUDroom · · Score: 1

      When you lead someone, they are led, not lead. Unless you lead them into your crucible and alchemically make them into the material from which we make bullets.

      So then they're Uraniumed?

      "I believe it was the fact the he had access to all the code on the system that uraniumed him down his path, believing that you need source code availability to fix/tweak/hack to your needs."

      Hmm.... makes RMS sound like godzilla.

      --
      Life is too short to proofread.
    5. Re:Nitpick, in the hopes that I can help you by Anonymous Coward · · Score: 0

      The irony is so ironyical. I mean ironying. Oh crap.

  22. What would you bet... by museumpeace · · Score: 5, Funny

    that this 40 year old code has fewer buffer overrun vulnerabilities than XP, even with SuperPatch2?

    --
    SLASHDOT: news for people who can't concentrate on work or have no life at all and got tired of yelling back at the TV.
    1. Re:What would you bet... by Anonymous Coward · · Score: 0

      id bet my life.
      of course it will, for a start, 400k of assembly or whatever it is, isn't a heck of a lot compared to the millions upon millions of lines of XP code. then you take into account MS are shit are security, etc. etc. etc.

    2. Re:What would you bet... by cperciva · · Score: 1

      that this 40 year old code has fewer buffer overrun vulnerabilities than XP, even with SuperPatch2?

      This shouldn't be surprising at all. The larger the codebase, the larger the likely number of bugs: Not only are there more opportunities for error, but there will be more code paths which don't get regularly exercised.

      It has been said that perfection is when there is nothing left to remove; I'd rather say that security is when there's nothing left to remove.

  23. CTSS was the first time sharing system by Anonymous Coward · · Score: 1, Informative

    The first version of what came to be called CTSS ran in 1961 on an IBM 709. See here for more info:

    http://www.multicians.org/thvv/7094.html

  24. It is? by stratjakt · · Score: 1, Redundant

    CTSS was one of the first time-sharing operating systems and a direct ancestor of Linux

    I thought we were trying to fight Darl et al on the grounds that Linux is completely free of any legacy UNIX code.

    It's a clone, not a descendant.

    --
    I don't need no instructions to know how to rock!!!!
    1. Re:It is? by julesh · · Score: 1

      I don't believe UNIX contained any CTSS code, either. I suspect the submitter meant conceptually, not in the sharing code sense.

  25. Not direct by Anonymous Coward · · Score: 3, Insightful

    CTSS was one of the first time-sharing operating systems and a direct ancestor of Linux.

    What is the basis for this statement? Linux neither contains CTSS code, nor was modelled upon it, and neither were any of its ancestors. It's an indirect ancestor maybe.

    1. Re:Not direct by julesh · · Score: 1

      Well, as I understand things, Linux is heavily influenced by Unix, whose design was fairly influenced by Multics, whose design was kind-of based on CTSS.

      All of those were openly acknowledged influences, and the primary ones (other than the hardware that the OSs were targeting, and the new features they wanted to add).

    2. Re:Not direct by Anonymous Coward · · Score: 0

      Well, as I understand things, Linux is heavily influenced by Unix, whose design was fairly influenced by Multics, whose design was kind-of based on CTSS.

      That's my point. KDE is heavily influenced by Windows, Windows is heavily influenced by the Mac... would you call either Windows or the Mac a direct ancestor of KDE?

    3. Re:Not direct by julesh · · Score: 1

      Probably not, but I don't think your analogy works. We're talking here about 3 systems that were developed largely in parallel, borrowing concepts from each other. This is not the way it happened with these operating systems, each of which was consciously modelled on previous systems with the notion that it might replace them.

      A more accurate analogy would be to ask if I considered KDE a descendant of the GUI systems developed at Xerox PARC. And I do.

    4. Re:Not direct by Anonymous Coward · · Score: 0

      A more accurate analogy would be to ask if I considered KDE a descendant of the GUI systems developed at Xerox PARC. And I do.

      A direct descendant?

    5. Re:Not direct by julesh · · Score: 1

      Yes.

      MS, Apple and MIT were all consciously copying Xerox's ideas when they implemented Windows, MacOS and X11.

    6. Re:Not direct by Anonymous Coward · · Score: 0

      > Linux neither contains CTSS code, nor was modelled upon it

      In a week or so, we'll learn that SCO thinks otherwise.

  26. History of CTSS by Sounder40 · · Score: 4, Interesting
    I have a copy of the paper Melinda Varian did on the history of IBM's operating system called VM/370, VM/SP, VM/ESA and now zVM. I'd call it VM, but that's become a rather generic term. It includes a section on the history of CTSS, and it's very, very interesting. In fact, I would say that this was one of the most influential papers I ever read. Well worth the read.

    I hope Melinda doesn't hunt me down and kill me for causing a /. storm on her web site, but the paper is available at http://pucc.princeton.edu/~melinda/.

    Enjoy.

    --
    A clever person solves a problem, A wise person avoids it. -Einstein
    1. Re:History of CTSS by calidoscope · · Score: 1

      Having seen the web page, there is one very OT question going through my mind - Is she or is she not wearing a bra?

      --
      A Shadeless room is a brighter room.
  27. read what Dennis Ritchie says... by museumpeace · · Score: 5, Informative

    Indeed, calling CTSS a DIRECT ancestor is a bit of a stretch. Dennis Ritchie is about as authoritative as you are going to get on the history of Unix and Unix is the direct ancestor of Linux. Read his article on the history of Unix. There you will find his quote in section 1.3 on just where CTSS comes into the genisis of Unix....it is a distant ancestor. The Wikipedia article on history of OS'es is strangely lame on this topic.

    --
    SLASHDOT: news for people who can't concentrate on work or have no life at all and got tired of yelling back at the TV.
    1. Re:read what Dennis Ritchie says... by stratjakt · · Score: 1

      Linux is a clone, not a child or derivative, though.

      --
      I don't need no instructions to know how to rock!!!!
    2. Re:read what Dennis Ritchie says... by zedman · · Score: 2, Insightful

      Somehow "ancestry" seems the wrong word to describe something that inspired or led to the creation of something else.

      "Ancestry" implies genetic similarity, i.e., copying of DNA or source code, which I think is *not* the case to any significant degree for any version of UNIX and Linux. There may be fragments of UNIX code from the public domain, but nothing more.

      Perhaps "predecessor" would be a better word.

    3. Re:read what Dennis Ritchie says... by jrumney · · Score: 1
      Unix is the direct ancestor of Linux.

      Do you work for SCO or something?

  28. "Hackers" by Huxley_Dunsany · · Score: 2, Interesting
    There is a wonderful description of the birth of the CTSS (among other things) in Steven Levy's book "Hackers: Heroes of the Computer Revolution". I've read this book at least a dozen times (mostly in my formative years), and its efforts at conveying the meaning of the "Hacker Ethic" make it required reading for anyone more than slightly interested in how the computer industry came to be.

    Just thought I'd mention.

    Huxley

  29. Familiar Tools by b12arr0 · · Score: 1, Informative

    On the newsgroup, it's stated " You'll have to know
    a little FAP and MAD to understand it. There are even a few programs in AED-0, an Algol variant."

    Thank god, I thought I was going to have to learn something new...er, old to be able to use it!!!

  30. Emacs by bsd4me · · Score: 1

    I believe that is Elvis Masterminds All Computer Science

    --

    (S(SKK)(SKK))(S(SKK)(SKK))

  31. So SCO is right by Anonymous Coward · · Score: 0

    "direct ancestor of Linux"

    So Linux is an ancestor of Unix after all

    1. Re:So SCO is right by Anonymous Coward · · Score: 0

      descendant you moron

  32. Heritage by stox · · Score: 4, Informative

    The first mainframe versions of Unix(R) were run on top of a modified version of CTSS. Also CTSS is considered the father of Multics which in turn begat Unix.

    --
    "To those who are overly cautious, everything is impossible. "
    1. Re:Heritage by Daniel+Ellard · · Score: 1
      The first mainframe versions of Unix(R) were run on top of a modified version of CTSS.

      That's not the way I remember it at all... Could provide a link or a little more detail?

      Also CTSS is considered the father of Multics which in turn begat Unix.

      That's sort of like saying that DOS is the father of Windows. Multics was a ground-up design to create an operating using lessons learned from CTSS (among others). One of those lessons was that they didn't want to it to be much like CTSS, IIRC.

      The jump from MULTICS to UNIX was, again, a leap. UNIX doesn't share any code with Multics -- it borrowed some ideas, threw away many others, and added some that were new. This isn't quite what "begat" means.

      --
      Disclaimer: I work for a company, but I don't speak for them.
    2. Re:Heritage by Anonymous Coward · · Score: 0

      Multics which in turn begat Unix.

      Well, the original UNIX system was written to do different from Multics, to avoid the excesses that Multics engaged in. Multics therefore "begat" UNIX in roughly the same way DOS/Windows "begat" Linux: as a system people wanted to get away from and as a mistake that people wanted to avoid making again.

    3. Re:Heritage by laird · · Score: 5, Interesting

      Having worked with people who used Multics (I'm not quite that old, myself) I'd have to disagree. UNIX isn't a "better" OS than MULTICS -- in fact, it was intentionally designed to be a "worse" OS (in being far less sophisticated, and providing far less functionality), but had the pragmatic advantage of running on more widely available, less expensive hardware.

      The shame is that the tradeoffs that made UNIX a success in the 70's are probably not valid any more, and modern operating systems and programming models are still (IMO) largely trapped by design decisions made by UNIX. For example, the artificial separation between how you access RAM and disk costs developers untold amounts of wasted effort. And the idea that you don't have to turn a computer off while adding or removing CPU's, RAM, disks, controllers, etc., is still quite uncommon. And the way all linking was dynamic is way better than the mess we have to deal with now. And it had a very nice multi-processor architecture, where all CPU's had access to all RAM, and through that to all secondary storage, etc.

      Of course, some of these ideas have reemerged in high-end computing (the multicians, see http://www.multicians.org) are still all hard at work making things better. :-) But it's hard to correct for fundamental mistakes (e.g. having to flatten data out into files to make it persistent) without forcing all software to be rewritten. As far as I know, the closest OS to this clean model was NewtonOS...

    4. Re:Heritage by qbwiz · · Score: 1

      Many of these seem to be hardware issues.
      You can't access the disk and RAM the same way because 32 bits aren't enough; just ask the HURD people with their 2 GB (maximum) partitions. That's also a bad idea because hard disks are fundamentally thousands of times slower than RAM - you don't want programmers treating it the same way. If you really want to treat disk as RAM, you can use mmap. Word tries to use this system (a memory dump) to store files, and people are always complaining about backwards compatability.
      In many smaller computers, all CPUs can access all the RAM/secondary storage anyway. In those you can't, there's a reason - it'd be way too slow.

      --
      Ewige Blumenkraft.
    5. Re:Heritage by stox · · Score: 1

      http://cm.bell-labs.com/cm/cs/who/dmr/otherports/i bm.html

      As for the heritage of various OS's, the child tends to learn from the mistakes of the parent, and end up a significantly different creature. As for UNIX, although early incarnations were great distant from MULTICS, later versions actually came much closer. For example, System V/MLS, borrowed many more concepts from Multics then prior versions.

      --
      "To those who are overly cautious, everything is impossible. "
    6. Re:Heritage by Guy+Harris · · Score: 1
      http://cm.bell-labs.com/cm/cs/who/dmr/otherports/i bm.html

      That mentions "TSS", as in "TSS/370", as in "Time Sharing System/370", as in "System/370", not "CTSS", which ran on a modified IBM 7094.

    7. Re:Heritage by Guy+Harris · · Score: 1
      You can't access the disk and RAM the same way because 32 bits aren't enough; just ask the HURD people with their 2 GB (maximum) partitions.

      That didn't stop Multics - you didn't assign every single segment in the system its own virtual address range, a process had to initiate a segment to get it mapped into the process' address space. Initiating a segment is, in UN*Xy terms, sort of like opening the file, mmapping it into your address, and then closing the descriptor - you can only access it by using the pointer you get back from the initiate operation. (The equivalents of read and write worked by copying from or to the mapped region.)

    8. Re:Heritage by Anonymous Coward · · Score: 0

      Being old enough to have been at MIT programming PL/1 on Multics (and now C on Linux). It is a step sideways. Dynamic linking, more than 2 rings, segmentation *and* paging, etc. Great OS, still have to come to that level. No gui eye-candy and kilowat hardware made it a dodo (same for Lisp). Now it feels like we are going back to those ideas: Microkernels, dll's and Python? We are back (slowly) to the right evolution path; now to wait for the dinosaurs to die of. Anyone knows of a handy comet?

    9. Re:Heritage by uid8472 · · Score: 1

      Also, there's an important difference between a 36-bit word-addressed system in the 60's or 70's (when disks and files were much smaller than they are now) and a 32-bit octet-addressed system today, namely that having a single file that's too big to be memory-mapped just wouldn't have happened then (I assume), but is definitely a big issue now.

      With a 64-bit octet-addressed system, though, things are a little different....

    10. Re:Heritage by Guy+Harris · · Score: 1
      namely that having a single file that's too big to be memory-mapped just wouldn't have happened then (I assume)

      Not exactly - that's why multisegment files were implemented.

      In that case, though, the restriction was that a single segment could be no larger than a megabyte (18-bit segment offset, word addressing, 4 9-bit bytes per word), not a limit on the size of the entire address space (12 bits of segment number, as I remember, gives a total address space of 4GB, although some of that was taken up by the kernel^H^H^H^H^H^Hhardcore supervisor and various bits of code you'd probably have mapped into the address space of your process ("process",singular - one per login session, typically).

      The MIT 6180, in 1973, had 15 150MB disks, according to the page on the MIT Multics systems in the Multics site history, for a grand total of 2.25GB. (Main memory was 384K 36-bit works, or about 1.5MB.)

    11. Re:Heritage by Anonymous Coward · · Score: 0

      Many of the things you've identified as mistakes weren't, or at least weren't mistakes in Unix, which of course is a good part of why Unix and Unix-like systems remain so widespread. Plenty of people have come along and said "Unix is a stupid design. Here is a radical alternative" and then the users have said "But this radical alternative is a broken pile of crap", and the designer says "Bah, you're just all part of the Unix conspiracy". Well, sorry, there is no cabal, it's just that Unix got a lot of things right.

      [For a recent example of this look at BeOS. They started with a radical DB-driven filesystem... and then had to build a Unix-style one instead to get performance anywhere near tolerable. They went for a separate message passing TCP/IP and ignored the socket = file metaphor... and then had to build a kernel IP stack and put it all back. They went for a single user system ... and every third BeOS user you talk to is looking forward to a BeOS clone with multi-user. ]

      And of course Unix critics tend to forget or gloss over the continuous evolutionary progress made by post AT&T era Unix due to the lack of a single (blinkered) driving force behind it. Good ideas are widely implemented and eventually standardised, then institutionalised, until they're displaced by more good ideas. If Hans Reiser is correct about metadata it won't be proved on a research OS used by 12 people, it will be proved in deployment on millions of Linux boxes.

    12. Re:Heritage by Anonymous Coward · · Score: 0
      As far as I know, the closest OS to this clean model was NewtonOS...

      Or SmallTalk! It still amazes me how current systems (Windows, GNOME, KDE etc) are slowly creeping to the point where they look like a broken reimplementation of where SmallTalk was at in 1980. Really depressing.

    13. Re:Heritage by laird · · Score: 1

      "hard disks are fundamentally thousands of times slower than RAM - you don't want programmers treating it the same way."

      So, you don't use virtual memory? You're a stud!

      Personally, I like it when the OS manages details so that I don't have to. And if I didn't have to waste time writing code to write my data structures out to a sequential text file and read it back, I'd be a lot happer. As I mentioned before, the NewtonOS handled this issue properly, and the result was that you could write an app for the Newton in 1/2 the time of more traditional (file-based) operating systems, because you'd only have to write 1/2 as much code.

      As a programmer, I have to say that it's way easier to interact with your data as native data structures, and let the OS manage persistence. SmallTalk and NewtonOS both managed this properly, and are still the best development environments around.

      And yes, I've also worked with people who insisted that virtual memory was a terrible idea because the programmer lost too much control over system performance by allowing the OS to manage swapping things in and out of RAM. Of course, given modern hardware, they were wrong -- the OS can provide a finely-tuned virtual memory subsystem that will outperform any swapping code any engineer is likely to write for a single application. :-)

    14. Re:Heritage by laird · · Score: 1

      "Plenty of people have come along and said "Unix is a stupid design. Here is a radical alternative" and then the users have said "But this radical alternative is a broken pile of crap", and the designer says "Bah, you're just all part of the Unix conspiracy".

      You've got the sequence wrong. Multics was designed and written _before_ UNIX. And I am certainly not saying that UNIX is a stupid design, just that there are fundamental design decisions in UNIX (to lose most of Multics' functionality) that made sense given the hardware costs of the day (which is why UNIX is everywhere, and Multics is dead), but which aren't as appropriate now that hardware is astoundingly fast and cheap.

      This all reminds me of (for example) the "evolution" of server OS's (mainframes, UNIX) to desktops. DOS lacked almost everything (virtual memory, multi-user support, etc.) but it fit on (relatively) cheap PC's, so it became immensely popular. And as DOS has grown up, the DOS community has gradually rediscovered many of the things that were initially carved out, but it's been a long, painful process -- every time you change a fundamental design decision in the OS, tons of app's break or you have to waste near-infinite resources emulating the stupid model in parallel with the good model (how long did it take NT to actually run Windows app's properly...). So while you can certainly say that DOS was more successful than, say, VMS (way more installs...), it'd be hard to argue that it was a better OS.

  33. Obligatory Slashdotting Joke by MrNonchalant · · Score: 1

    Their server appears to still run on CTSS!

  34. email by c++ · · Score: 2, Funny

    one of the very first to have inter-user electronic mail

    because intra-user electronic mail wasn't as useful as people had hoped.

  35. Just wait a year or two .... by pjrc · · Score: 3, Funny

    ... and next thing you know, a company will change management, rename itself, claim they own this ancient technology, try to pretend like source code was never released, and then launch a major lawuit claiming that modern systems infringe upon a variety of vauge intellectual property rights from ancient code.

  36. Need an emulator for this machine... by Anonymous Coward · · Score: 1, Interesting

    ...anyone care to enhance MESS?

    1. Re:Need an emulator for this machine... by accensi · · Score: 1

      Check this page "Emulators for the early IBM machines" (http://members.optushome.com.au/intaemul/) There is 7094, 1401 and utilities! Enjoy!

  37. inter-user email by masouds · · Score: 5, Funny

    "...and one of the very first to have inter-user electronic mail."

    Apparently, in the previous versions, users were only able to email themselves.

    --
    This .sig was intentionaly left blank.
    1. Re:inter-user email by identity0 · · Score: 1

      That's nothing! In my day, you could only finger yourself - uphill, both ways!

      You could Telnet, but only to the local machine!

      The "Window Manager" was a creepy guy who was always peeking through the lab window!

      Cat was there, but it was always asleep!

      We used IPv1 - 8 bits, and MIT owned the first 7!

      You don't even want to know how "Daemons" got its name!

      Worst of all... We had to use vi!

      You kids and your fancy-shmancy VT100s... bah! You don't know how good you got it now! This email shit blows my mind! Now someone tell me how to open this enlarge_manhood.exe attachment in Outlook...

    2. Re:inter-user email by gowen · · Score: 1
      Cat was there, but it was always asleep!
      That's nothing. When I first used Unix to run Fortran codes solve Schroedinger's equation to simulate quantum mechanical systems, we never knew whether cat would work on our system. It seemed about a 50-50 chance as to whether there was a live cat or not.
      --
      Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
  38. Multics was cool. by Anonymous Coward · · Score: 0

    I wish Honeywell would put that in the public domain.

    Anyone got a copy of Visual PL/1?

  39. iPod? by Absolut+Fizznix · · Score: 1

    Yeah, but can you run CTSS on an iPod?

  40. Krell amp by Pivot · · Score: 2, Funny

    I have a krell amp that has a mc68hc711 microcontroller in it. Can it be ported to this device? I'd love to be able to set up some unix policies that would prevent my buddy from turning the volume up too much.

  41. In a related story by chinton · · Score: 0, Redundant

    SCO filed suit against MIT for retroactive intellectual property theft.

  42. CTSS on Crays by 4of12 · · Score: 1

    While I was graduate student in the 1980's there were a bunch of the most powerful Cray supercomputers at Los Alamos running this OS.

    I think there was even a variant, LTSS that was run at Livermore.

    Those were the days of using line editors over 300 baud modems.

    --
    "Provided by the management for your protection."
    1. Re:CTSS on Crays by Anonymous Coward · · Score: 0

      CTSS only ran at MIT on a modified IBM 709x system.

    2. Re:CTSS on Crays by Anonymous Coward · · Score: 0

      I don't think Cray's ran this. I believe they only ran COS and (later) Unicos.

    3. Re:CTSS on Crays by Guy+Harris · · Score: 1
      While I was graduate student in the 1980's there were a bunch of the most powerful Cray supercomputers at Los Alamos running this OS.

      No. They were running the Cray Time Sharing System, as mentioned in this article:

      The Center acquired a Cray 1 in 1978 and soon became known as an innovator in the management and operation of supercomputers. We converted our 7600 operating system, utilities, and libraries to the new machine, creating the Cray Time Sharing System (CTSS) -- the first timesharing system for a Cray -- and demonstrating that the machine could be used interactively. CTSS was subsequently adopted by nine other computer centers.

      Different CTSS - "Cray", not "Compatible".

      I think there was even a variant, LTSS that was run at Livermore.

      That appears orignally to have been an OS for Control Data machines, according to this article, although it says it was moved to the Cray-1 as well:

      LLL has a long history of pushing the state of the art in high speed scientific processing to satisfy the prodigious raw processing requirements of the many physics simulation codes run at the laboratory. The high speed, often few of a kind computing engines (For example, Univac-1, 1953, Larc, Remington Rand, 1960, Stretch, IBM, 1961, 6600, CDC, 1964, Star-100, CDC, 1974, Cray-1, Cray Research, 1978) utilized at LLL are usually purchased before mature operating system software is available for them [22]. The very early operating systems implemented at LLL were quite simple and were usually coded in assembly language. By the time of the CDC 6600 (1965), however, they were becoming more comp1ex timesharing systems. By 1966 it was decided to write the operating system for the 6600 in a higher level language. This decision made it easier to transfer that system (dubbed LTSS, Livermore Time Sharing System) to new machines as they arrived: CDC 7600, CDC Star-100, and the Cray-l.
  43. Hmmm by jd · · Score: 3, Interesting
    I know there are patches out there that'll turn Linux into VMS (the FreeVMS project). Linux also supports translations of system calls via the binary compatibility code. Hmmm. It might very well be possible to produce a layer that'll make Linux run CTSS code.


    Fom there, Linux supports user-level kernels, so it would be possible to boot CTSS inside of Linux running as CTSS. Thus completing one of the challanges.


    I'm scared.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:Hmmm by Anonymous Coward · · Score: 0

      There are no patches that "turn Linux into VMS". FreeVMS supplies a command set similar to VMS, that's all. You _CAN_ run OpenVMS on linux using simh (emulator). You can even run all your favorite VAX binaries. Yes - it's binary compatible.

      Yesh.

      http://deathrow.vistech.net

  44. Sharing is Caring by foobar01 · · Score: 1

    Anyone else find it ironic that the site has been slashdotted? Guess the web server isn't that good at time-sharing.

    Seriously though, this sounds very cool. Though I guess I'll be waiting until later to check it out.

    Get a free ipod!

  45. Let's do a diff with MS's code! Calling Groklaw! by Progman3K · · Score: 1

    Lets change the law so Microsoft has to divulge their source-code for analysis to see how much they have "ripped off" CTSS.

    I'm sure we can find a lot of patents and algorithms in there. for example; FORGET INTERNET CONNECTIVITY, Microsoft; all your networking code r belong to us now, see?

    You'll see them change their stance on copyright and IP law pretty quickly, if you ask me.

    It'b be interesting to watch all their lobbyist and FUD people run around looking for an escape hatch!

    Either way, it's going to happen; Microsoft will be trumped by prior art. Foregone conclusion.

    --
    I don't know the meaning of the word 'don't' - J
  46. Pay Back Time! by Comatose51 · · Score: 1

    Since CTSS is a distant ancestor of Unix but an ancestor nonetheless and CTSS is now part of Open Source, that means SCO Unix obviously stole from CTSS and thus owes $999.99 to the open source movement per license. I'm sure we can find a few "if"-statements in SCO Unix, which probably also appears in CTSS. J/K.

    --
    EvilCON - Made Famous by /.
    1. Re:Pay Back Time! by Mostly+a+lurker · · Score: 1
      I'm sure we can find a few "if"-statements in SCO Unix, which probably also appears in CTSS. J/K.

      Regretfully, no. CTSS was not written in C. However, we can no doubt fall back on SCO's concept of non-literal copying of CTSS's protected methods.

  47. CTSS: Emulator for history classroom? [Re: GREAT!] by j.leidner · · Score: 1
    Great, I'll go search the museum for some books on FAP and MAD, then I'll write an Emulator for a system that's documents probably don't exist anymore, then I'll write a compiler, then install this OS..

    I'm pretty sure the emulator guys are working on this already as we speak ;-)

    But seriously, I think it's very useful to actually SEE the code of the systems they might mention in operating systems classes, history section. Understanding the progress can be accomplished by letting students play with CTSS or CP/M or a LISP machine, and I daresay in the latter case many students might even ask "So what happened in the meantime?"...

    --
    Try Nuggets , the mobile search engine. We answer your questions via SMS, across the UK.

  48. Oh man!!! by c0p0n · · Score: 1

    Imagine a fucking wireless beowulf cluster of CTSS running on this!!! and powered with some antigravitational pads... they would go for sure towards RMS for trying to hack their collective mind years ago!!!

    ...
    ...
    ...

    I, for one, welcome our new MindCrawler Overlords

    --

    Your head a splode
  49. CTSS history by monsterhead78 · · Score: 4, Informative

    In the mid-1960s, the 7094 was one of the biggest, fastest computers available, able to add floating numbers at a speed of about 0.35 MIPS. A standard 7094 had 32K 36-bit words of memory. Its data channels could access memory and run simple channel programs to do I/O once started by the CPU, and the channels could cause a CPU interrupt when the I/O finished. They cost about $3.5 million. Paul Pierce's collection includes a real 709 and 7094.

    MIT got an IBM 7090, replacing the 709, in the spring of 1962, when I was a freshman, and had upgraded the 7090 to a 7094 by 1963. The 7090 and 7094 were operated in batch mode, controlled by the Fortran Monitor System (FMS). Batch jobs on cards were transferred to tape on an auxiliary 1401, and the monitor took one job at a time off the input tape, ran it, and captured the output on another tape for printing and punching by the 1401. Each user job was loaded into core by the BSS loader along with a small monitor routine that terminated jobs that ran over their time estimates. Library routines for arithmetic and I/O were also loaded and linked with the user's program. Thus, each user's job had complete control of the whole 7094, all 32K words of memory, all the data channels, everything.

    IBM had been very generous to MIT in the fifties and sixties, donating its biggest scientific computers. When a new top of the line 36-bit scientific machine came out, MIT expected to get one. In the early sixties, the deal was that MIT got one 8-hour shift, all the other New England colleges and universities got a shift, and the third shift was available to IBM for its own use. One use IBM made of it was yacht handicapping: the president of IBM raced big yachts on Long Island Sound, and these boats were assigned handicap points by a complicated formula. There was a special job deck kept at the MIT Computation Center, and if a request came in to run it, operators were to stop whatever was running on the machine and do the yacht handicapping job immediately.
    Early Time-Sharing

    MIT professors, such as Herb Teager and Marvin Minsky, wanted more access to the machine, like they had had on Whirlwind in the fifties, and quicker return of their results from their FMS jobs. John McCarthy wrote an influential memo titled "A Time Sharing Operator Program for Our Projected IBM 709" dated January 1, 1959, that proposed interactive time-shared debugging. These desires led to time-sharing experiments, such as Teager's "time-stealing system" and "sequence break mode," which allowed an important professor's job to interrupt a running job, roll its core image out to tape, make a quick run, and restore the interrupted job. McCarthy's Reminiscences on the History of Time Sharing describes his and Teager's role in the beginnings of time-sharing. Teager and McCarthy presented a paper titled "Time-Shared Program Testing" at the ACM meeting in August 1959.
    FMS and Batch Processing

    MIT and the University of Michigan were both 7094 owners, and the computation center people were colleagues who traded code back and forth. When I was a freshman in 1961, we used FORTRAN in the elementary course (FORTRAN II was brand new then), but by the time I was a sophomore, MIT had installed Michigan's MAD language, written by Graham, Arden, and Galler, and was using that in most places that a compiler language was needed, especially computer courses. MAD was descended from ALGOL 58: it had block structure and a fast compiler, and if your compilation failed, the compiler used to print out a line printer portrait of Alfred E. Neumann. (MIT took that out to save paper.) Mike Alexander says, "MAD was first developed about 1959 or 1960 on a 704, a machine which makes the 7094 look very powerful indeed." MAD ran under UMES, the University of Michigan Executive System, derived from a 1959 GM Research Center executive for the IBM 701 that was one of the first operating systems.

    Part of the Michigan/MAD code was a replacement for the standard FORTRAN output formatter routine, (IOH). (Programs written

    1. Re:CTSS history by thvv · · Score: 3, Informative

      This article was written by me, Tom Van Vleck.
      "monsterhead78" has just copied the text from
      http://www.multicians.org/thvv/7094.html.
      T he original page has some pictures and useful
      links.

  50. 1961: Learning to share by monsterhead78 · · Score: 1

    June 29, 1999
    Web posted at: 11:32 a.m. EDT (1532 GMT)

    by Mary Brandel

    (IDG) -- It's the late 1950s, and you're a computer operator at MIT running a long job on a computer donated by IBM. The phone rings. It's a request from the president of IBM -- who races big yachts on Long Island Sound -- to run the program that assigns handicap points to the boats.

    That request means you have to abort the job that's running, mount a new tape and then restart the current job from scratch.

    Or maybe you're a computer programmer. It's late afternoon, and you're picking up the results of the computer program you dropped off this morning. The printout contains an error message. After waiting all day for your program's results, you discover you have left out a comma.

    It was in that type of environment that John McCarthy, a professor at MIT, submitted a memo to Philip Morse, then the director of the MIT Computation Center, outlining a new concept called "time-sharing." Unlike batch processing, where programmers submitted programs on punch cards to a computer center, this new mode of computing promised to make computers more accessible to, and interactive with, users.

    Encouraged by Morse to pursue the idea, an associate professor named Fernando Corbato and his team developed the Compatible Time-Sharing System (CTSS) in 1961, which was the first demonstration of how time-sharing could be done.

    Simply put, time-sharing enables a computer to serve many users simultaneously, so that each person feels like he's using his own private computer.

    Functionally speaking, a time-sharing computer stops a long job, copies its memory to a place on a disk, runs something else and then starts up the long job again -- without interrupting the user. "Each user's program has access to the full resources of the machine, and several programs can share time on the machine," explains Tom Van Vleck, who was a junior member of the CTSS team and a developer of Multics, a successor to CTSS.

    In addition, computing is interactive. Programmers create programs on the keyboard, and the computer responds almost immediately, with results or error messages.

    Although that sounds quite rational to the 1990s user, not even the hardware was prepared for such a radical concept in 1961. For instance, the IBM 7090 used by Corbato's team lacked a keyboard. "Fortunately, we were able to get Teletype machines from AT&T Corp. and Selectric mechanisms [IBM Selectric electronic typewriters] from IBM to solve that problem," Corbato says. "But even then, we had to fight for both upper and lowercase letters."

    Working with IBM, the team was able to modify a second machine, an IBM 7094, to solve that and many other problems. "Many of these solutions are still in use today," Corbato notes. They included a hardware timer to interrupt user programs and a way to prevent programs from operating outside of designated memory boundaries.

    The 1961 demo was "crude and incomplete," according to Corbato. However, it showed time-sharing to be a feasible concept, and many time-sharing systems would follow the CTSS demo. The finished version supplied time-sharing services to MIT, New England colleges and the Woods Hole Oceanographic Institution.

    But most important, the CTSS demo led to Project MAC. Funded with $3 million in 1962 by the Advanced Research Projects Agency (ARPA), Project MAC's first goal was to develop a full-fledged time-sharing system, named the Multiplexed Information and Computer System, or Multics.

    Multics wasn't ready until 1969, and it never became a commercial success. However, It is important in many ways. For one thing, Ken Thompson and Dennis Ritchie, the inventors of Unix, used many ideas from Multics.

    But perhaps most important, time-sharing brought users into the universe of computer design.

    "Time-sharing introduced the engineering constraint that the interactive needs of users [were] just as important as the efficiency of the equipment," Corbato says.

  51. Mirror by Anonymous Coward · · Score: 0
  52. Revive Citran (joss) by Lucas+Membrane · · Score: 1

    It was a great (ie better than BASIC) beginner's programming language that ran on CTSS. I think that it originated at Princeton while von Neuman was still there. One version was supplied by a big Fortran program that could support about 50 users. Somebody ought to emulate that bugger on a website.

    1. Re:Revive Citran (joss) by Tore+S+B · · Score: 1

      Have you really not heard this poem?

      IBM had a PL/1
      Its syntax worse than *JOSS*
      And everywhere this language went
      it was a total loss

      Oh, and BTW, I have a TTY 33 KSR in my bedroom :)

      --
      toresbe
  53. But... by Anonymous Coward · · Score: 0

    Just one question: WHY?

  54. DIRECT ANCESTOR OF UNIX, NOT LINUX. by Jailbrekr · · Score: 1

    Bloody hell, the ignorance and linux centric zealotry is simply astounding.

    --
    Feed the need: Digitaladdiction.net
  55. huh? by Anonymous Coward · · Score: 0

    44 years later... good! so the common people should eat this kind of crap? But there is a hope that near the year 2200 we can put our hands on the Windows 3.1 source code. lol.

  56. Re:CTSS: Emulator for history classroom? [Re: GREA by Anonymous Coward · · Score: 0

    Why emulate, for extra effect just implement a representation of the hardware in an FPGA. perfect example to compare the volulm required for the origional hardware with somthing that works the same but significantly faster and is in one chip

  57. Patent filibuster by jdrumgoole · · Score: 1

    Anything in here that would count as prior art in order to undermine the patent portfolios of Microsoft, IBM, Sun et al?

  58. Punch cards by Id+Man · · Score: 0

    You know, the first auto-loom was programmed to run off of commands given by ounchcards.

  59. hey!! by Id+Man · · Score: 0

    Get a life you moron!

  60. Microsoft?! No way!! by Id+Man · · Score: 0

    Any dotard can tell that Microstink has NOT "Ripped" anything off of CTSS. Honstly, CTSS is way better than anything Bill gates has come uo with so far(or is going to come up with).

    1. Re:Microsoft?! No way!! by Progman3K · · Score: 1

      That's not the point.

      It's a pre-emptive strike against Microsoft's IP and patenting shenanigans.

      I'm sure we can find similarities.

      What's Microsoft's reaction going to be?

      "It's ridiculous to try and patent software"

      Exactly.

      --
      I don't know the meaning of the word 'don't' - J
  61. Maintenance by Anonymous Coward · · Score: 0

    Have you ever tried to maintain code for 5 or 10 years in any language?

    400K of hand optimized assembly code is probably lightning fast. It will be difficult to maintain, and utterly unportable. And you're writing everything at the lowest level. You have to design and deal with each data structure intimately, no "objects", just blocks of memory locations and address registers.

    Higher level languages have evolved to give us safety, abstraction, maintainability, and portability at the cost of speed.

    1. Re:Maintenance by robslimo · · Score: 1

      Have you ever tried to maintain code for 5 or 10 years in any language?

      Yes. Almost 17 years worth of code for industrial test machines written in Z80 asm, x86 asm and C.

      400K of hand optimized assembly code is probably lightning fast. It will be difficult to maintain, and utterly unportable.

      Funny, 4 months ago I quit my programming job that I had since 1986 so I could better attend family needs. One of my last assignments there was to upgrade the software of one of the first machines I helped program in '86. It consisted of around 80K of data and Z80 machine code (written in assembler). I did an end run around the 'portability' issue by writing a Z80 emulator in C that also emulated some obsolete graphics hardware on an new, embedded PC platform. Along the way, I fixed some bugs in the old Z80 code.

      Higher level languages have evolved to give us safety, abstraction, maintainability, and portability at the cost of speed.

      I have to agree. I was able to 'maintain' that Z80 code 'cause I'd been steeped in it for at least 8 years. I was able to complete the emulator (and various feature upgrades) in about 2 months by the grace of C.