[Info-vax] OS Ancestry

Arne Vajhøj arne at vajhoej.dk
Thu May 13 10:56:39 EDT 2021


On 5/13/2021 10:25 AM, Dave Froble wrote:
> On 5/13/2021 9:06 AM, Bill Gunshannon wrote:
>> On 5/13/21 8:52 AM, Arne Vajhøj wrote:
>>> On 5/13/2021 8:21 AM, Bill Gunshannon wrote:
>>>> I have become very curious about the ancestry of VMS.  (I am
>>>> going to look into some others, but for VMS I do have this
>>>> outlet for information!)
>>>>
>>>> Both Primos and Unix came from people recently working on
>>>> Multics.  Primos went in the same direction as Multics while
>>>> Unix appeared to go in a very different direction.
>>>>
>>>> VMS is more similar to Primos than Unix.  I have seen it said
>>>> that RSX-11 was the immediate parent of VMS.  Was that true?
>>>> Given that, what is the ancestry going back even further?
>>>> Where did VMS actually get its start paradigm-wise?
>>>>
>>>> Anybody here have any of this information?
>>>
>>> The story in Wikipedia is:
>>>
>>> https://en.wikipedia.org/wiki/OpenVMS
>>>
>>> <quote>
>>> In April 1975, Digital Equipment Corporation embarked on a hardware
>>> project, code named Star, to design a 32-bit virtual address extension
>>> to its PDP-11 computer line. A companion software project, code named
>>> Starlet, was started in June 1975 to develop a totally new operating
>>> system, based on RSX-11M, for the Star family of processors. These two
>>> projects were tightly integrated from the beginning. Gordon Bell was
>>> the VP lead on the VAX hardware and its architecture. Roger Gourd was
>>> the project lead for the Starlet program, with software engineers Dave
>>> Cutler (who would later lead development of Microsoft's Windows NT),
>>> Dick Hustvedt, and Peter Lipman acting as the technical project
>>> leaders, each having responsibility for a different area of the
>>> operating system. The Star and Starlet projects culminated in the
>>> VAX-11/780 computer and the VAX/VMS operating system. The Starlet name
>>> survived in VMS as a name of several of the main system libraries,
>>> including STARLET.OLB and STARLET.MLB.
>>> </quote>
>>>
>>> https://en.wikipedia.org/wiki/RSX-11
>>>
>>> <quote>
>>> RSX-11 is a discontinued family of multi-user real-time operating
>>> systems for PDP-11 computers created by Digital Equipment Corporation.
>>> In widespread use through the late 1970s and early 1980s, RSX-11 was
>>> influential in the development of later operating systems such as VMS
>>> and Windows NT.
>>> ...
>>> RSX-11 began as a port to the PDP-11 architecture of the earlier
>>> RSX-15 operating system for the PDP-15 minicomputer, first released in
>>> 1971. The main architect for RSX-15 (later renamed XVM/RSX) was Dennis
>>> “Dan” Brevik.
>>> ...
>>> The porting effort first produced small paper tape based real-time
>>> executives (RSX-11A, RSX-11C) which later gained limited support for
>>> disks (RSX-11B). RSX-11B then evolved into the fully fledged RSX-11D
>>> disk-based operating system, which first appeared on the PDP-11/40 and
>>> PDP-11/45 in early 1973. The project leader for RSX-11D up to version
>>> 4 was Henry Krejci. While RSX-11D was being completed, Digital set out
>>> to adapt it for a small memory footprint giving birth to RSX-11M,
>>> first released in 1973. From 1971 to 1976 the RSX-11M project was
>>> spearheaded by noted operating system designer Dave Cutler, then at
>>> his first project. Principles first tried in RSX-11M appear also in
>>> later designs led by Cutler, DEC's VMS and Microsoft's Windows NT.
>>> </quote>
>>>
>>> https://en.wikipedia.org/wiki/PDP-15#RSX-15
>>>
>>> <quote>
>>> RSX-15 was released by DEC in 1971. The main architect for RSX-15
>>> (later renamed XVM/RSX) was Dennis "Dan" Brevik.
>>>
>>> Once XVM/RSX was released, DEC facilitated that "a PDP-15 can be
>>> field-upgraded to XVM" but it required "the addition of the XM15
>>> memory processor."
>>>
>>> The RSX-11 operating system began as a port of RSX-15 to the PDP-11,
>>> although it later diverged significantly in terms of design and
>>> functionality.
>>> </quote>
>>>
>>> All before my time.
>>>
>>> But I do remember that VAX and VMS VAX had some PDP-11 and RSX-11
>>> compatibility mode features.
>>>
>>> Arne
>>
>>
>> Thank you.  That takes me back a little bit further.  But I fear the
>> very origins, the driving model, may be long lost by this time.  I
>> have a number of very early textbooks on Operating Systems and none
>> of them describe features common in VMS or RSX.  It's really just
>> curiosity, but I wondered where some of the concepts originated.
>>
>> bill
>>
> 
> Looking at it from a different perspective ....
> 
> Back in 1974 I was introduced to a PDP11/40 running RSTS V04b.  At the 
> time, the only supported language was Basic+, an interpreter.
> 
> Where RSTS came from, I don't know, but what I was told was that David 
> Hart of Evens, Griffith, and Hart wrote the original Basic+.  David is 
> no longer with us, but, perhaps John Santos might have some information 
> of the earlier days.
> 
> While DEC ended up with RSTS and Basic+, what it seemed like to me is 
> that the software people at DEC considered RSX as a proper OS and RSTS 
> "that other thing".  Perhaps where their NIH started, or, perhaps they 
> already embraced that concept.
> 
> I wasn't a user of RSX at the time, so I really don't have any memories 
> of it on the PDP11.
> 
> Some time after 1974, don't know exactly when, DEC produced some type of 
> RSX subsystem for RSTS, which allowed MACRO-11, and other RSX languages 
> to run on RSTS.  These included BP2 (Basic Plus 2) which was a compiled 
> version of Basic Plus.
> 
> When VAX and VMS came along, VMS inherited much from RSX, as that seemed 
> to be the preferred choice for the DEC software people.  VAX and VMS was 
> aimed at the scientific market initially.  Only when DEC wanted into the 
> business market did they start incorporating capabilities from RSTS, 
> since RSTS was heavily used in the business market.
> 
> So yeah, VMS was based initially on RSX, and later had RSTS capabilities 
> added.  The result was something better than the sum of RSX and RSTS.
> 
> I never heard any stories of where RSTS came from ...

https://en.wikipedia.org/wiki/RSTS/E

<quote>
RSTS (/ˈrɪstɪs/) is a multi-user time-sharing operating system, 
initially developed by Evans Griffiths & Hart of Boston, and acquired by 
Digital Equipment Corporation (DEC, now part of Hewlett Packard) for the 
PDP-11 series of 16-bit minicomputers. The first version of RSTS 
(RSTS-11, Version 1) was implemented in 1970 by DEC software engineers 
that developed the TSS-8 time-sharing operating system for the PDP-8.

...

1970s

The kernel of RSTS was programmed in the assembly language MACRO-11, 
compiled and installed to a disk using the CILUS program, running on a 
DOS-11 operating system. RSTS booted into an extended version of the 
BASIC programming language which DEC called "BASIC-PLUS". All of the 
system software CUSPS for the operating system, including the programs 
for resource accounting, login, logout, and managing the system, were 
written in BASIC-PLUS. From 1970 to 1973, RSTS ran in only 56K bytes of 
magnetic core memory (64 kilobytes including the memory-mapped I/O 
space). This would allow a system to have up to 16 terminals with a 
maximum of 17 jobs. The maximum program size was 16K bytes. By the end 
of 1973 DEC estimated there were 150 licensed systems running RSTS.

In 1973 memory management support was included in RSTS (now RSTS/E) for 
the newer DEC PDP-11/40 and PDP-11/45 minicomputers (the PDP-11/20 was 
only supported under RSTS-11). The introduction of memory management in 
the newer PDP-11 computers not only meant these machines were able to 
address four times the amount of memory (18-bit addressing, 256K bytes), 
it also paved the way for the developers to separate user mode processes 
from the core of the kernel.

In 1975 memory management support was again updated for the newer 22-bit 
addressable PDP-11/70. RSTS systems could now be expanded to use as much 
as two megabytes of memory running up to 63 jobs. The RTS and CCL 
concepts were introduced although they had to be compiled in during 
"SYSGEN". Multi-terminal service was introduced which would allow a 
single job the ability to control multiple terminals (128 total). 
Large-message send/receive and interprocess communication became very 
sophisticated and efficient. By August there are 1,200 licensed systems.

In 1977 the installation process for RSTS was no longer dependent on 
DOS-11. The RSTS kernel could now be compiled under the RT-11 RTS, 
formatted as a kernel file with RT-11 SILUS, and copied to the system or 
other disks, while the computer was time-sharing. The BASIC-PLUS RTS (as 
well as RT-11, RSX-11, TECO and third party RTSs) all ran as user mode 
processes, independent of the RSTS kernel. A systems manager could now 
decide during the bootstrap phase which RTS to run as the systems 
default KBM. By now, there were some 3,100 licensed systems.

In 1978 the final memory management update was included for all machines 
that could support 22bit addressing. RSTS could now use the maximum 
amount of memory available to a PDP-11 (4 megabytes). Support was also 
included for SUPERVISORY mode which made RSTS the first DEC operating 
system with this capability. DECnet was also supported as well as remote 
diagnostics from field service technicians at the RDC in Colorado 
Springs, Colorado (a DEC subscription service). By the end of the 
decade, there are over 5,000 licensed systems.

...

BASIC-PLUS
Programs written in BASIC-PLUS ran under the BASIC RTS, which allowed 
them up to 32K bytes of memory (out of 64K total). The language was 
interpreted, each different keyword being internally converted to a 
unique byte code and the variables and data being indexed and stored 
separately within the memory space. The internal byte-code format was 
known as PCODE - when the interactive SAVE command was issued, the BASIC 
Plus RTS simply saved the working memory area to a disk file with a 
".BAC" extension. Although this format was undocumented, two Electronic 
Engineering undergraduates from Southampton University in the UK (Nick 
de Smith and David Garrod) developed a decompiler that could reverse 
engineer BAC files into their original BASIC Plus source, complete with 
original line numbers and variable names (both subsequently worked for 
DEC). The rest of the memory was used by the BASIC RTS itself. If one 
wrote programs in a language that permitted true binary executables such 
as BASIC-Plus-2, FORTRAN-IV, or Macro Assembler, then the amount of 
memory available would be 56K (8K allocated to the RTS).
</quote>

https://en.wikipedia.org/wiki/BASIC-PLUS

<quote>
BASIC-PLUS is an extended dialect of the BASIC programming language that 
was developed by Digital Equipment Corporation (DEC) for use on its 
RSTS/E time-sharing operating system for the PDP-11 series of 16-bit 
minicomputers in the early 1970s through the 1980s.

BASIC-PLUS was based on BASIC-8 for the TSS/8, itself based very closely 
on the original Dartmouth BASIC. BASIC-PLUS added a number of new 
structures, as well as features from JOSS concerning conditional 
statements and formatting. In turn, BASIC-PLUS was the version on which 
the original Microsoft BASIC was patterned.

The language was later rewritten as a true compiler as BASIC-Plus-2, and 
was ported to the VAX-11 platform as that machine's native BASIC 
implementation. This version survived several platform changes, and is 
today known as VSI BASIC for OpenVMS.

...

Syntax and features

BASIC-PLUS is patterned closely on later versions of Dartmouth BASIC, 
including its powerful MAT commands. On top of this, DEC added a number 
of unique flow-control structures.

Line numbers were positive integers from 1 to 32767.
</quote>

Again way before my time.

Arne



More information about the Info-vax mailing list