I used the VMS PL/1 to write an ISO transport layer as a gigantic
finite state machine in the computed GOTO via a jump table. First job
from graduating. Not my finest moment, but the compiler was awesome.
Fast, rigid. I think I had to get somebody to write some bliss32 or
even ASM to do a trick in the stack for some debug, cool moment for
me. The box of fiches of the OS code was there in the machineroom, It
was a revalation to me you could do that: go "read" the code, and see
what it did.
I don't know if we used VMS C from Dec. I have a feeling if you ran
Eunice, you used pcc or a derivative of pcc. Cross library calling was
pretty straightforward (ok, so passing function addresses and dynamic
structures into FORTRAN not such) and VMS had a well defined 'postbox'
mechanism for async I/O which was wierd if you were used to UNIX but
then .. the entire FS in VMS was wierd if you were used to UNIX.
Wierd, but also comforting: you told the filesystem you wanted fast
record indexing into a file as a binary construct and it said "sure:
I'll do that" and as long as you opened the file with the right
semantics, thats what you got.
I still have my thin-form PL/1 cheetsheet booklet. Its fat. Most of
these were 3-fold cards, its got staples. Not a big language mind you.
So basically, his compiler got me my first paper.
http://onlinelibrary.wiley.com/doi/10.1002/spe.4380150503/full
On Wed, Feb 21, 2018 at 2:33 AM, Paul Winalski <paul.winalski(a)gmail.com> wrote:
On 2/20/18, Donald ODona
<mutiny.mutiny(a)india.com> wrote:
since '86 he was working on an operating
system, named Mica, which failed.
At 19 Feb 2018 18:13:59 +0000 (+00:00) from Paul Winalski
<paul.winalski(a)gmail.com>:
> Dave Cutler was in the VMS group only for VMS version 1. He rarely
> stayed on around for version 2 of anything. Hustvedt's and Lipman's
> contributions for VMS were more extensive and longer-lasting than
> Cutler's.
Cutler had already left the VMS OS group by the time I joined DEC in
February of 1980. After VMS he led the team developing PL/I and C
compilers for VMS. These shared a common back end called the VAX Code
Generator (VCG). The other VMS compilers at the time (Fortran,
Pascal, Cobol) had their own separate optimizers and code generators.
The VAX Ada compiler would also use VCG.
When version 1 of VAX PL/i and VAX C shipped, Cutler worked on
subsetting the VAX architecture so that a single chip implementation
could be done, and led the team that produced the MicroVAX I. The
MicroVAX architecture emulated expensive instructions such as packed
decimal. All of the later, single-chip VAXes used this architecture.
When the MicroVAX I shipped, Cutler devised a microkernel-based
real-time operating system for the VAX called VAXeln.
After VAXeln, Cutler led the team developing a RISC architecture
follow-on to the VAX called PRISM, and an operating system for it
called Mica. Mica had a VAXeln-like microkernel, and the plan was to
layer personality modules on top of that to implement VMS and
Unix-style ABIs and system calls.
Alpha was chosen instead of PRISM as the VAX successor, and that is
when Cutler left DEC for Microsoft. Windows NT has a lot of design
concepts and details previously seen in PRISM and VMS.
-Paul W.