Alan Frisbie wrote: > > I would be very interested in reading what you might have to > say on the development history of these operating systems. > I am trying to preserve some of this history before people > totally forget. > I could probably write a book about it! Unfortunately, I doubt that it would sell very well... the interest in systems that were developed before most of the NT developers were even born is probably rather specialised! The PDP-11 was so called after the number of operating systems that DEC sold to run on it. As far as I can remember (and I've probably forgotten quite a few): Dos/Batch The first system, developed for the 11/20. Very similar to MS-DOS -- single threaded, simple 6.3 file system. It would run in 8KB. All system services ran in two "swap buffers", of 512 and 256 bytes respectively. (One of my first jobs at DEC was to write the English language error message module, which had to run entirely in the 256 byte swap buffer, plus a single 512 byte disk buffer). RT-11 The replacement for Dos/Batch. I never really understood why Dos had to be replaced, but there it is. RT-11 is supposed to have been the inspiration for CP/M (remember that?) RSTS-11 A timesharing system patterned after TOPS-10. It was a great system for simple business applications, as long as you liked Basic. Basic+ was the only supported programming language for most of the system's life. Writing system code involved long strings of PEEK and POKE statements to absolute addresses. RSX-11A These three systems were the first designed RSX-11B for real-time programming. They were all defunct RSX-11C by the time I got to DEC (1974) and I have no idea what the differences were. RSX-11D The first serious multitasking, protected RT system for the 11, designed for the 11/45. This system was vastly superior to MS/DOS. It provided a fully protected, multitasking environment, with synchronisation primitives, inter-process messaging, the whole works. Memory was a problem, as it always was on the 11. Cutler's first major programming job at DEC was to write the linker (called the Task Builder, or TKB -- all system software had to have a three-character name, because that was the way the user interface (MCR) worked). This was an incredibly sophisticated animal, which could build fabulously complex overlay structures, described in a write-only language called ODL. I subsequently added the support for memory-resident overlays (called PLAS) to TKB. It was a truly great piece of programming, although I wonder if he has learned to spell "volatile" yet. IAS A development of RSX-11D which added timesharing capabilities. 11D had only preemptive scheduling, IAS added round-robin scheduling, an improved user interface (not hard given the way MCR worked) which was the basis for DCL, and better user process handling. The two systems were subsequently combined. Cutler's internal marketing of 11M was such that IAS never really took off, although there were a few dedicated users (e.g. Boeing, US Navy) who persevered with it for years. I think DEC only stopped supporting it about 6 years ago. RSX-11M The system people mean when they say RSX. Written by Cutler as a reaction to what he saw as the memory profligacy of RSX-11D. He had a rubber stamp made, which said "Size is the Goal". All design documents for 11M carried this stamp. One of the features of 11M was that it was designed to use the absolutely minimal memory for any given configuration. As a result, the sources were absolutely packed with conditional code. It is a tribute to Cutler's ability that ANY configuration worked, and in fact they nearly all did. RSX-11S A memory-only version of 11M, designed for embedded systems. Really it was just a build-time variant. RSX-11M+ 11M extended to be a decent program development system, basically pinching the better ideas from IAS. It had round-robin scheduling and improved terminal handling. It was also later extended to support some the more arcane features of the 11/70 and its successors, such as Supervisor Mode and I/D space. There was also a multi-processor version, although I don't think this ever shipped. That makes 11 already, and I haven't even mentioned Mumps, nor of course Unix which although DEC resolutely refused to have anything to do with for another 20 years, was nevertheless developed around the 11/45. (The ++ and -- operators are a direct reflection of the PDP-11 instruction set, just as the original Fortran IF (X) 1,2,3 statement is a reflection of the IBM 904). John