Paul Raveling
Notes on professional
experience in
computer operating systems
Most experience is old simply because of limited availability of
opportunities for OS work in more recent times. The area of operating
systems and tools has always been my strongest interest.
- My most significant OS was EPOS (1975, PDP-11).I served as
de facto architect and lead developer in a team of four at USC-ISI
(University of Southern California Information Sciences
Institute). DARPA adopted EPOS as its standard OS for real time network
research on PDP-11 hosts. It was reported to have been used by 31 hosts
on the ARPANET and Internet.
EPOS was developed to support early research into real time speech on
the ARPANET. Its kernel architecture made it extremely easy to write
applications, and particularly real time applications, and its
compelling requirement was real time performance (low latency and high
bandwidth). Its kernel architecture produced very fast context
switching and interprocess communications: In one of our own benchmarks
it was 43 times faster than an unmodified UNIX V6 system. It was about
10 times faster in context switching than a version of UNIX modified by
MIT's Lincoln Labs for real time use.
EPOS initially supported full Host-to-Host protocol and later was
switched to handle TCP/IP. It handled real time speech connections with
a separate protocol whose top layer was Network Voice Protocol. This
was the origin of the protocols still used for streaming audio and
streaming video on the Internet. I was responsible for NVP's control
protocol and for EPOS infrastructure used to implement its
real time data transfer protocol.
- VEROS was a 1972 predecessor of EPOS. It was a smaller
system used on PDP-11s to support development of new disk drive
technology for Vermont Research Corporation (originally Ovonic
Memories) and used an early version of the EPOS kernel
architecture. I was sole developer for VEROS.
- The 1980 FutureData Slave Emulator product used a variant
of the same architecture for a microprocessor-based kernel. Each system
used the same kernel in an Advanced Development System that was
essentially a predecessor of personal computers and in each of up to 8
in-circuit emulators connected to the ADS. The kernel extended the
EPOS-like architecture for interprocess communication from a single
processor domain to a multiprocessor system. I
developed this kernel personally and served as the software group
manager for the Slave Emulator product line, which was the company's
flagship product and largest source of revenue until FutureData was
acquired by a larger company.
- My OS experience began informally in 1963 through the UCLA
Computer Club on an IBM 7090 system. After serving as the Computer
Club's system programmer my professional career began in 1966
as a staff system programmer for the UCLA Campus Computing Network,
moving to OS/360 systems in 1967. Some particular projects were:
-- Development of semi-GUI
infrastructure and application components
for system
monitoring on UCLA's 360/91 system.
-- Conception and development of
CCNLOAD, possibly the first linking loader.
(I'm not aware of
one predating CCNLOAD, which was developed in 1967.)
-- Implementation of a very early
ARPANET protocol for remote job submission