 Okay, everyone. Good morning My name is Lars Brinkhoff. I'm from Sweden by the way I am here to talk about the incompatible time-sharing system a little bit about my background I got started as a kid programming basic on a week 20 computer I switch over to assembly language programming on a 68,000 processor the Atari ST I Read this book the hackers dictionary which is full of histories and mythology and A lot of it is about PDP 10 computers. So that kind of stuck in my mind as a kid Much later. I was involved adding Assembler and linking support to the be new tools tools For the PDP 11 so that kind of got me started with the retro computing and Then I contacted a company in Seattle, which still makes the PDP 10 computers and Asked about doing the same for them and I said, yeah, sure. Do you want to work for us to port? GCC to the PDP 10 so I did that for two hour for two years So then I was really into this retro computing and PDP 10 computers So I I decided to look in looking to where this ideas operating system, which I read about as a kid So a short overview on my presentation. It's first of all, what what is ideas? the history and the kind of what makes it special and A little bit about what's going on today. So first of all, what is ideas? It's an operating system a time-sharing system for the PDP 10 family of computers I'll tell you more about that in a minute It's a time-sharing system, which means that like 10 or so people shared a single computer It was first written at MIT. This is MIT in in Massachusetts, USA in 1967 and it was running until 1990 One of its most famous characteristic is that it has no security So I'll tell you a bit more about that later, but it has no passwords or file permissions or anything So it's very open and very easy to use in a way and it was Involved in a very interesting period of time when the ARPA network was made which evolved into internet we have today and It's as as LISP was invented at MIT. It was heavily involved in LISP development and Many interesting games like Sork the e-max editor and so on. I'll tell more about these in other slides So the PDP 10 computer It's a very large computer made by digital equipment corporations or DEC Here is a Typical setup Just this part here is the CPU so you can see it's rather big There were five generations through the years first it was the PDP 6 Which was kind of the prototype for the PDP 10 and then four models k a k i KLKS for the PDP 10 There were no no more development from 1983 or so So that's kind of where the PDP 10 ended and also the therefore ITS fell out of use eventually It has a 36-bit word length which was quite common in the 60s and It was designed with LISP in mind so you can see that Two 18-bit addresses fit in a word, which is perfect for LISP and a con cell It's very nice to program in assembly language, which was very popular with programmers and academics Especially on the ARPA network At some point maybe a third of the computers on ARPA network to PDP 10 computers So it was quite dominant in its day Just to paint a little picture of the landscape right before ITS was made There was an AI artificial intelligence group formed in the late 50s at MIT Kind of where AI research began There was a CTSS compatible time-sharing system for the this IBM computer in the early 60s And it was one of the early time-sharing experiments before Time-sharing was even invented also The the time-sharing concept was invented recently and this was one of the first experiments And then we had project Mac formed at MIT Which involved both time-sharing and development of Maltics in the mid-60s And it was also for the AI research And not a very good photo of this particular Maltics computer, but there's one I found So ITS was written at this AI laboratory at Project Mac At Project Mac for their first PDP-6 computer It's they've at first they started with Stannolune tools which ran without time-sharing so they had an editor, a sampler and so on But only one person at the time could use it So it was realized that would be more efficient use of the computer if you could have a time-sharing system So ITS was written for that purpose They also had access to CTSS and Maltics, but they didn't like it It's those weren't very responsive systems It was more like a line-oriented system and Maybe it could Take up to a minute to get a response sometimes so The the researchers and so-called hackers which wrote ITS that didn't like those systems. So Here's a picture I found In the ITS backups, which says happiness is not using Maltics So that's kind of how how they thought about Maltics and why they wrote ITS I mentioned hackers hacking is something that's been going on at MIT for for a very long time and Hackers considered themselves Very good programmers Before the term was changed to mean computer criminals They wrote ITS more as a practical tool Whereas let's say Maltics was more like something they planned for years and implemented for years But hackers they wanted something done now. So they wrote ITS very quickly and it was very Oriented towards practical use So it's also highly interactive most programs respond within less than a second if you type a single character So many of the programs are very character oriented whereas there's Maltics It's more line-oriented and less interactive As I mentioned, there are no passwords until later when there were four kind of force to add passwords for incoming network connections and no file permissions So it's very easy to get access and there was source code for everything open like open source today and Also do it yourself attitude. So if you needed a feature, well, why don't you implement it yourself or or fix a bug or anything? And they allowed the guests coming in from the network and also like high school kids in the area could Walk in and starting use the computer thing. You can't even encourage that After this initial period There were a period of further development. The the iLab got a newer PDP 10 computer to Replace or supplement their PDP 6 in the late 60s. They added virtual memory The first system didn't even have discs, but as soon as they added discs, they could have a swapping and paging towards the disc They joined the very fresh ARP and it's in the early 60s 70s and Two more groups got their own PDP 10s and started using ideas on those as well So that's an actual photo one of the very few of the AI lab PDP 10 and This one is for dynamic modeling headed by lick lighter Who was the one who started our planet? And the third one is for mathematics We shall talk about more later So in the mid 70s There was a period of very a lot of development and New things happening They since they were on the ARP net they had a common Router so to speak so they used that for internal networking and they made a Network file system that could transparently access files between all these computers Maybe the first network file system They implemented new graphical displays with these fancy keyboards which has control meta alpha lambda and so on They are for under to the list machine keyboard There they implemented their own chaos network with the local kind of like Ethernet, but their own version of that And They got yet another fourth PDP 10 a KL 10 model, which is the biggest and fastest Mostly for running Maxima, which is a mathematics program. I'll tell you more about that later The emacs editor was implemented in 1967 and In the 80s they switched with the rest of the ARP network from from the old protocol to TCP IP So little of the various kinds of research done with these computers First and foremost artificial intelligence, of course and robotics and computer visions were kind of part of that As I mentioned Lisb and scheme Well, this was invented on an IBM mainframe But this the the famous Mac list implementation was developed under ITS and scheme was Invented on these machines and Eventually, they created special machines for running list lists machines There was Maxima for mathematics the logo programming language we see a turtle for turtle graphics there Model is an kind of important language in some and clue as well There's separate slides for those Here's a famous AI program. It's kind of hard to pronounce but something like a shrewd Lou So kind of a robot simulation with a graphical display You can tell it in natural language what to do and how to manipulate these Geometric objects in a small world and it would kind of plan and solve problems if if it wanted to Rearranged things and things were blocking each other. They couldn't come up with a plan how to perform the actions Okay, Lisb as I mentioned It was invented in the late 50s by this guy John McCarthy for an IBM mainframe But it was the soon as they got the PDPS 10 it was implemented for that and It was such a lot running standalone when then ported over to run in time sharing and Then it was called Mac Lisb for project Mac Lisb It had a great compiler Then we have a green blad to the right and Tom night to the left who made the list machine and We have guys steel who invented scheme Okay, Maxima. It's a program for symbolic mathematical manipulation Kind of like Matlab or War from alpha or something like that It was mainly written by Jill Moses here It's also more important that lots of people from all over the ARPA network logged in from remote sites to use this So it was very important. It was written in that Mac Lisb. So there was a lot of funding for Development on and maintenance of Mac Lisb, and it was so important they got to PDP 10s just for researching and development of Lisb and Maxima the logo programming language It was invented at the BBN company in Massachusetts, but Pretty soon. It's moved to MIT and for for all of the 70s. It was pretty much developed under ITS So we have for example the another turtle there and Over there we have Marvin Minsky and he invented a machine for running logo, which is very well-hidden secrets, but and We have an emulator for that now and They also had their own smaller PDP 11 and they wanted something familiar with that So they wrote a small ITS system for that PDP 11 and That is also working on an emulator and it's kind of similar to this big brother PDP 10 ITS Mentioned the model programming language It's the most famous thing is that it was used to implement this Zork game It's kind of a Lisb it was intended as a kind of Lisb 2.0 But it was only used by one of the groups the dynamic modeling group The other groups kept using Mac Lisb instead Of course Zork led to the Infocom company and the text adventure boom in the 1980s so that left left quite a mark And it was also used to boost rep another programming language, which was Yes Right Yes So the original Zork was written in model and it didn't have like a framework It was more like a monolithic program and then they invented the Zork implementation language, which did As far as I know a run on PDP 10s, but it generated code for a virtual machine that ran on the microcomputers It looks very much like model, but they're separate things really so the clue language One of the most important languages no one had heard about It's the the name stands for cluster, which is kind of a class. It was Invented by Barbara Liskov here for exploring a new concept of data abstraction, which we all take granted for day It was it's very very modern. It has exceptions iterators parameter types It's all the language designers in the 70s 80s 90s Know about this and it influenced many of the languages we use today So it's had really great impact, but outside of language designers almost no one heard about it and also Barbara Liskov's clue group they got some graphical Workstations and the need a graphical window system for that So they took something from Stanford called W and the developed X So That's where the X window system came from there were a lot of games on ideas Space war was invented on a PDP one, but it was imported to the PDP sex and 10 as well And it's runs under time sharing in ideas if you like The Mac hack six program is a green blood chess program It's a picture there It was first program to compete against Humans in real chess tournaments, so it even had like a membership in a chess club The adventure game was very influential in the text gaming text adventure Genre and was the inspiration of the sword. It wasn't invented on ideas, but they had running there as well Maze you can see it's very well over here, but it's kind of the first first person shooter treat 3d game There's another unknown game called a dazzle dart, but which I would like people to know more about so keep that in mind I will not tell you more about that, but I want to mention it anyway Luna lander is a Famous game for landing something on the moon surface And of course or guess I mentioned before Also wanted to mention a little bit of the of the multi-processing aspects We we don't have just the PDP 10 computer and that's it We have a PDP inside 10 is surrounded by many other for and many other smaller PDP 11 computers They still had the PDP 6 attached for running standalone programs without time sharing So it was kind of a real-time microcontroller except very big They developed the first list machine called cons which was directly attached to the PDP 10 with shared memory and Also chess machine for a green-blast chess program We have a GT 40 up in the upper right and we have a Luna lander running on there and The the maze the first person shooter game was running on the in black to the lower left and Lower right we have that logo machine Marmin Minsky made had a dual displays one for text one for graphics and For all these there were tools software and so on on the ITS system So it was kind of the hub of all this development some of the special features One of the most Pride it features is a PC looser ring which sounds kind of strange, but it means that A user space program it can never observe another user space program when the other program is running in the in the kernel So as soon as we say you're debugging another program It will either finished the operation halfway or back out and go back to user space So that's that's kind of good for debugging and things like that And that's something that Unix still has some problems with today. It doesn't really a solved problem As soon as you log in you will see that you're in a very strange user interface, which is actually a debugger Which is actually quite convenient for starting and manipulating programs It has this single character user interface which most programs in ITS has so it's very quite different from Unix But once you get to learn it is kind of like emacs, but for memory and jobs and files They had the user space device drivers Which one of those were for implementing the file system the remote file system They had real-time scheduling for controlling robots and this had lots of different terminals. They had quite advanced Take terminal independent system kind of like curses for Unix Some of the things we consider limitations today There was just love one level of directories. They could not have a directory inside another directory and Also file names are just two parts. We each always is just six characters So that's a bit of a limit Okay in the 1980s there was a decline period As I mentioned deck stops making hardware in 1983 That was kind of the cancellation announcement The old machines the PDP six and k a's were Kind of not working anymore that was scrapped So at one point there was just one machine running ITS But to dictate donated several KS 10 the newest model And it was ported over to that. So there we have actually the new AI ITS machine, which is now in Seattle The KL 10 was also getting old it was shut down and shipped to Sweden In the late 80s and then also shipped to Seattle. So Seattle is now kind of a PDP 10 hub And eventually the KS 10 machines were The discs and memories were getting old. So they were shut down as well in 1990. So that was the end of ITS at MIT Here's some data These are all the unique timestamps from the files that are on backup tapes So that kind of gives you an idea how many how much work was being done Over the years so we can see they started backing up around here, but then The usage clearly shot up as a peak here probably because the new KL 10 was Started then and then we can see there was a period of Sustained development and then a decline in the 80s Here's another view of data. This is the version numbers for ITS It started way back in 1967 but we don't have any data for that The first we have is around 600 in 71 and we can see it's kind of gross quite linearly and In the mid 50s that's a jump maybe because the new KS 10 computers Arrived then and then it's kind of leveled off in the late 80s Some of the legacy things we still have today that comes from ITS Maybe one of the most important is the GNU projects I'll talk about more about that the emacs editor was Ported over to Unix a new implementation, which is still running today Both emacs lisp and the standard common lisp pretty much comes from Mac lisp Maxima I'm not sure it was still a very available in a commercial version not too long ago But I'm not sure today, but anyway, there's another Maxima Free software which comes from the original ITS Maxima I would argue that the meta key we have known some keyboards today comes from these Keyboards and then where they were supported in X as well, and that's probably why we still have it today Unix job control if you type control Z Z it's It's to a suspended program and that's exactly what it is in ITS as well So it was actually an MIT ITS hacker that added that to Unix and the more utility is a Unix version of what's done internally in ITS and of course this is called less in the GNU version The that GNU projects was started by Richard Stallman, which was an ITS hacker from the early 70s So he was greatly inspired by the ITS values and how everything was free and open and apparently he Tried to update some software for this Dover printer and he wasn't allowed to so he was so angry with that So we started the GNU project Okay, so After this decline period in the 80s people were still curious about ITS in the 90s So a PDP 10 emulator was written and it was running ITS in the early 90s and That emulator wasn't available to many people but in the early 2000s there was another PDP emulator available and that was put on Internet in the early in Tutors 2001 and Public ITS distribution was made is what's kind of a finished disk image with everything. Well, not everything those programs that were available in 1990 were in that disk image, but it was kind of a static image But Very much usable and nonetheless, but without much of the older software from like the 70s or 60s and Many units tools for these files and protocols were written and here we see a photo of a FPGA PDP 10 computer, which is running ITS What this is more recent development when I got involved in like seven years ago, I I got in touch with MIT I got access to their Archive of the PDP 10 backup tapes. I was able to go through these and locate many old programs and I decided rather than produce a static disk image I would have to build scripts that takes all the source code and builds and assembles and compiles and so on so we can know How exactly how everything needs to be built or we can Also make updates and bug fixes and so on and To do to run all these old programs We also have to update the PDP in 10 emulators for lots of strange hardware that was used And the MIT hackers like to use their or invent their own special hardware Which was only like one or two ever made And there was also an emulator for the chaos network Here's an actual tape a photo from that archive So this describes a little bit more in detail how this build script works It makes a virtual magnetic tape with just a few bootstrap programs to make a file system on a disk and Then it's copies the ITS kernel and a few assemblers and so on on to that binary Onto that disk and then we get all the source code and that's Scripts will build builds like over 400 programs. It takes like one or two hours It would take probably take weeks back in the day only if they ever did it's on the real machine and We added many bug fixes and updates and There's the Gita projects so we have a kind of easier tracking and continuous integrations and all those modern facility facilities and The most recent development is Oscars Pi Dp 10 Which we have on an exhibit here today So we are very excited to see this soon coming alive and finally If you want more information, we have the Gita projects We have a new manual being written for ITS and all its programs and One of the most engaging descriptions is this book Hackers Which describes a lot about the pdp six times and how it is first written and so on So I recommend that book Okay, that's it for my project representation. So do we have any questions? A lot of information. Yeah, I'm sorry Nothing, okay Okay. Yeah, come talk to me later Okay, thank you everyone