Live data from Hacker News

PDP-10/its: Incompatible Timesharing System

github.com

21–30 of 54 posts

Re: PDP-10/its: Incompatible Timesharing System

#21
post #9

ITS was an early operating system that could handle multiple users logged onto the same machine at the same time -- think of how multiple people can SSH into the same Linux machine. It came out of MIT's AI lab which is where a lot of early hackers were doing their thing. Here's an excerpt from Stephen Levy's book Hackers: heroes of the computer revolution. It is a great read and I highly recommend it: "It underlined…

This reminds me of an anecdote in Richard Stallman's biography French version, which seems to be missing from the English version (or isn't at the same place in the book).

Apparently, to avoid any security features being added to control file access, Stallman added a feature to store the name of the last user who modified a file. This consumed the last empty field available on file descriptors, thus preventing using it for access control...

The passage, in French :

Pour rendre quasi impossible une éventuelle refonte de l’ITS, Stallman utilisa le dernier champ vide de chaque descripteur de fichier pour y implémenter une fonction enregistrant le dernier utilisateur ayant modifié le fichier. Cette fonction nouvelle ne laissait plus de place pour stocker d’autres informations pour la sécurisation, et elle était si utile que personne ne pouvait sérieusement en proposer la suppression.

Re: PDP-10/its: Incompatible Timesharing System

#22
post #4

For those wondering what ITS is. It's an operating system that was developed at MIT for the PDP-6 and later PDP-10 starting in the mid 60s. The last ITS system was shut down in 1990. A very cool thing about ITS is that DDT, the debugger, is the user interface to the OS. You can load files, examine and change memory of your current job (and also DDT itself!), and of course also start programs. ITS is also where EMACS…

I still have some muscle memory for TECO.

Re: PDP-10/its: Incompatible Timesharing System

#24
post #4

For those wondering what ITS is. It's an operating system that was developed at MIT for the PDP-6 and later PDP-10 starting in the mid 60s. The last ITS system was shut down in 1990. A very cool thing about ITS is that DDT, the debugger, is the user interface to the OS. You can load files, examine and change memory of your current job (and also DDT itself!), and of course also start programs. ITS is also where EMACS…

> the TECO editor (a crazy beast). Makes ed look almost benign... https://en.wikipedia.org/wiki/TECO_%28text_editor%29

Those example programs... holy cow. After that, I don't know if I'll ever feel bad about my code being unreadable.

Re: PDP-10/its: Incompatible Timesharing System

#25
post #8
post #2

What are/were the unique or distinctive features of ITS? It's mentioned in a couple of places in the "jargon file", but otherwise it's a part of computing history I'm not familiar with.

The "PCLSRing" technique to essentially back out of an active syscall is worth studying: https://en.wikipedia.org/wiki/PCLSRing http://fare.tunes.org/tmp/emergent/pclsr.htm . It's much better than the UNIX approach of returning early with an error or incomplete data.

> much better than

Funny to say that, when the comparison between these two approaches was the subject of the original "Worse is Better" article: http://dreamsongs.com/RiseOfWorseIsBetter.html

Re: PDP-10/its: Incompatible Timesharing System

#26
I wrote a couple of programs for ITS after it was resurrected.

Tetris: http://web.onetel.com/~hibou/ITSter.txt

Conway's Life: http://web.onetel.com/~hibou/life.txt

ITS page on Ward's Wiki: http://wiki.c2.com/?IncompatibleTimeSharingSystem

(Incidentally the correction to the wiki article in file names is wrong: file names were two words, each of six characters.)

Steven Levy's Hackers (http://www.stevenlevy.com/index.php/books/hackers) contains the history of its development. More information on ITS, and how to run it, can be found at http://its.victor.se/wiki/

And coolest of all, someone's got a PDP-10 running ITS on a FPGA: http://fpgaretrocomputing.org/pdp10x/

Re: PDP-10/its: Incompatible Timesharing System

#27

This is a little bit off topic but are there any "build your own" PDP-11 kits? Like single board systems using clone PDP-11 chips that would be fun to put together and write code for.

I tried making my own: http://jonatron.me/ which has a part list. Also check out the PiDP-8 : http://obsolescence.wixsite.com/obsolescence/pidp-8 which is a kit. Also relevant is a Javascript PDP-11 simulator at: http://skn.noip.me/pdp11/pdp11.html

Re: PDP-10/its: Incompatible Timesharing System

#28
post #9

ITS was an early operating system that could handle multiple users logged onto the same machine at the same time -- think of how multiple people can SSH into the same Linux machine. It came out of MIT's AI lab which is where a lot of early hackers were doing their thing. Here's an excerpt from Stephen Levy's book Hackers: heroes of the computer revolution. It is a great read and I highly recommend it: "It underlined…

Around 1982, I had an account on MIT-MC, an ITS computer. I was not an MIT student -- rather, a curious teenage hacker from DC. I'd found a text file with 'interesting modem numbers,' and one of those was to a DoD TAC (basically, a dial-in). I recall the text file had a note saying how to connect (via NCP, not TCP/IP) to MIT-MC.

I connected, and remember playing around (as we did) at the login prompt. I probably tried to login as 'guest' or something, and the result was basically, 'There's no user by that name. Do you want an account?' Of course, I said yes -- and shortly received my own account.

Stallman may have been sponsoring logins for folks like myself; he definitely was a little later when I got an account on MIT-AI (or was it MIT-OZ?), which was by that point a TOPS-20 machine.

ITS was a very bizarre system, really with its own social culture. Even in 1982, it felt strangely archaic. The debugger-as-shell was definitely an interesting concept.

Once I accidentally deleted a file. I felt awful, and emailed one of the admins, assuming they'd kick me off. He was like, 'Ah, no worries. We'll just restore it from tape.'

Re: PDP-10/its: Incompatible Timesharing System

#29
post #9

ITS was an early operating system that could handle multiple users logged onto the same machine at the same time -- think of how multiple people can SSH into the same Linux machine. It came out of MIT's AI lab which is where a lot of early hackers were doing their thing. Here's an excerpt from Stephen Levy's book Hackers: heroes of the computer revolution. It is a great read and I highly recommend it: "It underlined…

One more point -- although I believe your statement that ITS did not initially use passwords, I'm almost positive that the policy switched around 1982, and they did require passwords after that.

Re: PDP-10/its: Incompatible Timesharing System

#30

This is a little bit off topic but are there any "build your own" PDP-11 kits? Like single board systems using clone PDP-11 chips that would be fun to put together and write code for.

Relating this back to the topic of OS history, it's interesting to note that PDP-11 was the original BSD UNIX platform, and that 2.11BSD for PDP-11 still receives occasional patches (the most recent one I can find is from March of last year).

And as a former "home" MicroPDP-11/83 owner, I can attest that it was indeed fun to put together and write code for.

With that said, while probably not what you have in mind when you speak of "single-board systems", the DEC Professional 3xx (325, 350, 380) is a desktop PC built around a single-board PDP-11 CPU. And most (all?) MicroPDP-11 systems are built around a Q-Bus CPU board, and, excluding bulky options like multi-port serial patch panels, open-reel tape drives, and large (around 150 lbs. and 6U for my 456MB RA81) hard drives, aren't much bigger than a modern full-tower or >1U rack server, though they require considerably more electrical power (generally not too much for a dedicated 120V 15-20A household circuit, however, unless kitted out with, e.g., more than one of the aforementioned RA81 disks).

Both are "single-board systems" in the sense that the CPU, and in some cases RAM, is contained on a single board, though you'll need one or more I/O boards to do anything useful with them. Which, depending on your idea of fun, you could, I suppose, build yourself — there was, after all, a time when PDP-11 CPUs weren't an unusual choice in larger embedded systems.

Post reply on HN