Submitted by Jim Zaun on Thu, 07/09/2020 - 08:11
1973 — 1985
NOSC (Naval Ocean Systems Center), (military research) [San Diego, CA]
As a result of building electronics that needed to be connected to the DMA channels on mainframe computers, it was necessary to write device drivers for the electronics I built. That led to an increasing involvement in software design that led eventually to the design of operating systems and compilers. None of the operating systems of that time had the fast real-time I/O latency times needed for high-speed data acquisition. So, Mike Ball (later to become Sun Microsystem's Distinguished Engineer in C++) and I set out to create a real-time O/S called Linus (named after the Peanuts character) for a Perkin-Elmer 3220 32-bit mini-computer with an IBM 360-like instruction set. We adopted Per Brinch Hansen's Concurrent Pascal as the language to write most of the O/S and the applications that would run on it. This was the first native port of the language and we based it on the same approach as the multi-pass GIER Algol compiler that could run on the memory-constrained mini-computers of that day. The compiler was also written in Concurrent Pascal and ended up having 9 passes. I did most of the low-level assembler code needed to bootstrap the Concurrent Pascal binaries and I worked on the syntax and semantic analysis passes, constant folding and the initial code generation pass. Mike did most everything else including branch optimizations and the peep-hole optimization pass which was rather new at the time.
I later got involved with AI research tracking submarines who's signals would come and go intermittently by designing smart tracking software written in Interlisp-D on a Xerox Star "Dandelion" workstation. One of my co-workers, Dr. Harlan Sexton, (a Stanford mathematician), left NOSC to join Lucid, Inc. Soon after, I was invited to join Lucid upon the recommendation of Dr. Sexton because of my AI and Interlisp-D experience and I accepted.
[computer architecture, real-time data acquisition and analog design esp. in acoustics, Algol 60, Simula 67, Algol 68, Pascal, Concurrent Pascal internals, C, BSD UNIX, operating system and compiler design, AI, Interlisp-D]