Components of A Network Operating System
Components of A Network Operating System
System
:Abstract
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 area network it is an idea whose time has come. A
new timesharing system being developed at the Lawrence 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
Introduction .1
The basic job performed by an operating system is multiplexing the physical
resources available on its system (Fig. l). 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
.Figure 5 - The Dual Access Dichotomy for direct call operating systems
The Dual Service Dichotomy 3.2
The problem of making local resources available to a network has proven difficult for
existing operating systems. The usual approach is to have one or more "server"
processes waiting for requests from the network (Fig. 6). These server processes then
make local system calls to satisfy the remote requests and return results through the
network. Examples of this type of server (though somewhat complicated by access
control and translation issues) are the ARPA network file transfer server and Telnet
user programs [6, 7]. With this approach there are actually two service codes for each
resource, one in the system monitor for local service and one in the server process for
.remote access
Figure 6 - The Dual Service Dichotomy for direct call operating
.systems
The major network motivation for the New LTSS development is to solve problems
A. and B. in future versions of LTSS in such a way as to avoid the dual access and
dual service dichotomies. By doing so, NLTSS also reaps some consequential benefits
.such as user and server mobility, user extendibility, and others
The Overall NLTSS Philosophy .4
NLTSS provides only a single message system call (described in the next section).
Figure 7 illustrates the view that an NLTSS process has of the world outside its
memory space. Deciding how and where to deliver message data is the responsibility
.of the NLTSS message system and the rest of the distributed data delivery network
Figure 7 - NLTSS processes have only the distributed message system
.for dealing with the world outside their memory spaces
Avoiding The Dual Access and Dual Service Dichotomies 4.1
There are two fundamentally opposite methods of avoiding the dual access
dichotomy: either make all resource accesses appear local, or make all resource
accesses appear remote. The TENEX Resource Sharing EXECutive (RSEXEC) is an
example of the former approach [23]. Under the RSEXEC, system calls are trapped
and interpreted to see if they refer to local or remote resources. The interpreter must
.(then be capable of both access modes (Fig. 8
Link.1
.2
(Action bits (Activate, Cancel, and Wait.3
.4
Send/Receive bit.5
.6
Done bit.7
.8
Beginning (BOM) and end (EOM) of message bits.9
.10
Receive-From-any and Receive-To-Any bits.11
.12
To and From network addresses.13
.14
Base and length buffer description.15
.16
Buffer offset pointer.17
.18
Status.19
.20