5 ms·
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 th
by rashkov 10y ago
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 something that Greenblatt, Gosper, and the rest considered essential the magic that could come only from programs using all of the computer. The hackers worked on the PDP-6, one by one, as if it were their own personal computer. They would often run display programs which ran in "real time" and required the computer to constantly refresh the screen; timesharing would make the display hacks run slower. And the hackers had gotten used to little frills that came from complete control of the PDP-6, like being able to track a program by the flashing lights (indicating which registers in the machine were firing). Those perks would be gone with time-sharing.
At heart, though, the time-sharing issue was an esthetic question. The very idea that you could not control the entire machine was disturbing. Even if the time-sharing system allowed the machine to respond to you in exactly the same way as it did in single-user mode, you would just know that it wasn't all yours. It would be like trying to make love to your wife, knowing she was simultaneously making love to six other people!
...
There was an even more striking embodiment of the Hacker Ethic within ITS. Unlike almost any other time-sharing system, ITS did not use passwords. It was designed, in fact, to allow hackers maximum access to any user's file. The old practice of having paper tapes in a drawer, a collective program library where you'd have people use and improve your programs, was embedded in ITS; each user could open a set of personal files, stored on a disk. The open architecture of ITS encouraged users to look through these files, see what neat hacks other people were working on, look for bugs in the programs, and fix them. If you wanted a routine to calculate sine functions, for instance, you might look in Gosper's files and find his ten-instruction sine hack. You could go through the programs of the master hackers, looking for ideas, admiring the code. The idea was that computer programs belonged not to individuals, but to the world of users.
ITS also preserved the feeling of community that the hackers had when there was only one user on the machine, and people could crowd around him to watch him code. Through clever cross-bar switching, not only could any user on ITS type a command to find out who else was on the system, but he could actually switch himself to the terminal of any user he wanted to monitor. You could even hack in conjunction with another user for instance, Knight could log in, find out that Gosper was on one of the other ports, and call up his program then he could write lines of code in the program Gosper was hacking.
...
The faith that the ITS had in users was best shown in its handling of the problem of intentional system crashes. Formerly, a hacker rite of passage would be breaking into a time-sharing system and causing such digital mayhem maybe by overwhelming the registers with looping calculations that the system would "crash." Go completely dead. After a while a hacker would grow out of that destructive mode, but it happened often enough to be a considerable problem for people who had to work on the system. The more safeguards the system had against this, the bigger the challenge would be for some random hacker to bring the thing to its knees. Multics, for instance, required a truly non-trivial hack before it bombed. So there'd always be macho programmers proving themselves by crashing Multics.
ITS, in contrast, had a command whose specific function was crashing the system. All you had to do was type KILL SYSTEM, and the PDP-6 would grind to a halt. The idea was to take all the fun away from crashing the system by making it trivial to do that. On rare occasions, some loser would look at the available commands and say, "Wonder what KILL does?" and bring the system down, but by and large ITS proved that the best security was no
security at all.
...ITS was the strongest expression yet of the Hacker Ethic. Many thought that it should be a national standard for time-sharing systems everywhere. Let every computer system in the land spread the gospel, eliminating the odious concept of passwords, urging the unrestricted hands-on practice of system debugging, and demonstrating the synergistic power that comes from shared software, where programs belong not to the author but to all users of the machine.
In 1968, major computer institutions held a meeting at the University of Utah to come up with a standard time-sharing system to be used on DEC'S latest machine, the PDP-10. The Ten would be very similar to the PDP-6, and one of the two operating systems under consideration was the hackers' Incompatible Time-sharing System. The other was TENEX, a system written by Bolt Beranek and Newman that had not yet been implemented. Greenblatt and Knight represented MIT at the conference, and they presented an odd picture two hackers trying to persuade the assembled bureaucracies of a dozen large institutions to commit millions of dollars of their equipment to a system that, for starters, had no built-in security.
They failed."
- digi_owl 10y agoNow i am curious to get hold of some DEC terminals and see how many i can hook up to a desktop computer once i stuff it with serial port cards.
- eschaton 10y agoYou don't stuff it with serial cards, you add serial concentrators like the HP-2345A to your network. You can add dozens and dozens of ports that way, for cheap!
- jle17 10y agoThis 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.
- jslabovitz 10y agoAround 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.'