Components of a Network Operating System
Jed Donnelley
Lawrence Livermore Laboratory, Livermore, California, USA
Recent advances in hardware interconnection techniques
for local networks have highlighted the inadequacies in
existing software interconnection technology. Though the
idea of using a pure message passing operating system to
improve this situation is not a new one, in the environment
of a mature high speed local network it is an idea whose time
has come.
A new timesharing system being developed at the Law-
rence Livermore Laboratory is a pure message passing system.
In this system, all services that are typically obtained directly
by a system call (reading and writing files, terminal I/O,
creating and controlling other processes, etc.) are instead
obtained by communicating via messages with system service
processes (which may be local or remote). The motivation for
the development of this new system and some design and
implementation features needed for its efficient operation
are discussed.
Keywords: Network, local network, operating system,
network operating system, message, protocol,
distributed
O
* This work has been performed under the auspices of the
U.S. Department of Energy by the Lawrence Livermore
Laboratory under contract number W-7405-ENG-48.
© North-Holland Publishing Company
Computer Networks 3 (1979) 389-399
1. Introduction
The basic job performed by an operating system is
multiplexing the physical resources available on its
system (Fig. 1). By a variety of techniques such as
time slicing, spooling, paging, reservation, allocation,
etc. the operating system transforms the available
physical resources into logical resources that can be
utilized by the active processes running under it
(Fig. 2).
The interface between a process running under an
operating system and the world outside its memory
space is the "system call", a request for service from
the operating system. The usual approach taken in
operating system design has been to provide distinct
system calls to obtain service for each type of avail-
able local resource (Fig. 3).
If a network becomes available, system calls for
network communication are added to the others
James E. (Jed) Donnelley received
bachelors degrees in Physics and
Mathematics (1970) and a masters
degree in Mathematics from the Davis
campus of the University of Califor-
nia. Since 1972 he has been a com-
puter scientist at the Lawrence Liver-
more Laboratory (LLL). Jed was
technical liaison for LLL's ARPA
network node from 1973 to 1978
and has participated in research pro-
jects at LLL on operating system
security, distributed data bases, local networks, and high per-
formance computer architectures. Since 1978 he has been
primarily working on design and implementation of a net-
work operating system. His principal research interests are in
distributed computation, cellular data flow computer archi-
tectures, and brain modeling. Jed is a member of the ACM
and the IEEE Computer Society.
Acknowledgements
The author wishes to acknowledge the assistance of his
colleagues on the NLTSS design and implementation teams:
Pete DuBois, Jim Minton, Chuck Athey, Bob CraUe and Dick
Watson. Particular thanks go to John Fletcher, who carried
the day in some early message system debates, and to Dick
Watson, whose continued support in the area of network
protocols has had a profound impact on NLTSS.
This paper is a revised version of a paper originally pre-
sented at the 4th Conference on Local Networks, Minnea-
polis, Minnesota, 22-23 October, 1979. The original paper
was published in the proceedings of that conference © 1979
IEEE. The permission of the IEEE to utilize the original
material is gratefully acknowledged.
389