A Model of A Distributed Operating Syste
A Model of A Distributed Operating Syste
Research Online
1986
J. Indulska
University of Wollongong
Recommended Citation
Goscinski, A. and Indulska, J., A model of a distributed operating system, Department of Computing
Science, University of Wollongong, Working Paper 86-7, 1986, 17p.
https://ro.uow.edu.au/compsciwp/36
Research Online is the open access institutional repository for the University of Wollongong. For further information
contact the UOW Library: [email protected]
A Model of a Distributed Operating System
A. Goscinski, J. Indulska*
ABSTRACT
In this paper a logical model of a distributed operating system has been presented. This model
of a distributed operating system contains a set of processes managing resources, connections
between these processes, and mappings of events controlling this distributed operating system
into processes managing resources. The fundamental types of resources introduced by the
architecture of local computer networks, i.e., messages and data structures describing the
location of resources in the network, have been defined. Operations on these resources and
connections between the processes managing them and processes managing other resources of
the distributed operating system have been presented. Addressing processes have been
discussed.
The model has been constructed in such a way that a synthesis of different simulation tools
(models) to study distributed operating systems can be carried out. In particular, this model
makes it possible to construct simulation tools to study the effectiveness of distributed
operating systems with processes managing resources defined in different ways.That means
that the model has been developed in such a way to be both a concept and a tool like the model
developed by A. K. Jones. The later was treated by us as a background model.
*/ 1. Indulska is with the Institute of Computer Science, St. Staszic University of Mining and
Metallurgy, AI. Mickiewicza 30,30-059 Krakow, Poland
1
1. INTRODUCTION
An operating system should control resource allocation and provide the user with a virtual
computer that serves as a convenient environment. In the case of local computer networks, the
construction of an operating system fufilling the requirements of the definition given above
implies design and implementation problems not known in the area of operating systems for
centralized computer systems. The partial answer of this question could be found on the basis
of an informal definition of a distributed operating system as being an extension of the
definition given above. A distributed operating system should control network resource
allocation to allow their use in the most effective way, provide the user with a convenient
virtual computer that serves as a high-level programming environment and hide the distribution
of the resources This means that in a given network node there is the possibility of a demand
for access to a resource not known in that node. On the basis of these two definitions one can
say that problems mentioned above are implied by the geographic distribution of resources,
access to and management of resources, protection and reliability of the system as a whole
and ways of distribution of the operating system between several nodes of the network.
It should be pointed out that the latest do not solve in an optimal way all construction problems
presented above and use many solutions for centralized operating systems. There are
hypotheses that the distribution of the control of a computer system (e.g., resource
management) will improve the effectiveness of the distributed operating system. This factor is
used to point out the importance of research in distributed operating systems [Dav 81, len 81,
Jen 84] to create a good base for design and implementation. These efforts are very closely
connected with the development of adequate tools to describe and carry out research in
distributed operating systems.
This paper presents a logical model of a distributed operating system constructed as a base
model to carry on a synthesis of simulation models of distributed operating systems. The
existing simulation tools making possible the comparison of centralized operating systems
developed [Dav 79, Mad 80] have been constructed on the basis of well known logical models
of centralized operating systems [Bri 73, Pet 85]. There is a lack of logical models to guide
development of simulation tools for distributed operating systems.
The presented logical model of the distributed operating system is oriented towards problems
of extending centralized operating systems as well as problems of searching for an effective
structure of newly constructed distributed operating systems. When starting a project on the
construction of distributed operating systems it was not clear what approach could be the most
igeneral and constructive. It has been decided to use ideas of the object model for centralized
operating systems developed by A. K. Jones [Jon 78] because it is both a concept and a tool.
In this object model, each resource - object of an operating system is connected with a set of
admissible operations on that object and conditions of synchronization of these operations.
Certain operating system resources have a direct physical implementation (e.g., I/O devices,
processors, memory), other resources are logical ones (e.g., processes, files, semaphores)
invoked by the operating system for effective management of physical resources. The set of
admissible operations could be implemented by a process managing a resource [Lag 78,
Wat 80].
The object approach used to develop a logical model of a distributed operating system
simplifies a synthesis of simulation models - tools to study distributed operating systems. The
2
construction of a simulation tool based on the logical model presented here for a given research
problem statement is as follows: (i) choose from the logical model processes managing
resources, and their connections and (ii) define operations for the chosen processes.
Based on definitions of the object model of a centralized operating system [Jon 78], the
construction problems of a distributed operating system:
- access to remote resources,
- management of network resources,
- process synchronization,
- protection and reliability of an operating system
mentioned above can be stated as follows:
new logical resources, which should be defined to develop an effective distributed
operating system, are not known;
an effective structure of the distributed operating system, Le., connections between
processes managing resources and distribution,of processes in the network, are not
known.
The problems given above are complicated by the fact that a set of admissible operations on a
resource could be implemented as a set of connected concurrent processes located in different
nodes of a network.
Such a new type of a logical resource introduced by a computer network are messages used in
communication and interprocess synchronization [Moo 82, Tan 85]. The communication could
be carried out between operating system processes, between user processes and between an
operating system process and a user process. Message passing requires managing additional
physical resources, which are not known in centralized operating systems, i.e., communication
interface, and creation (maybe) of additionallogical resources to perform that message passing
in an effective way.
Messages are sent in the network between two logically addressed units (e.g., processes, ports
connected to processes). The reliability requirements and a need for a dynamically ballanced
load of a network can imply that addresses of communicating processes (addresses of network
nodes where these communicating processes run) are not constant. So, management of
message passing requires system information about the present locations of message receivers.
That need generates the second new type of logical resources of the distributed operating
system. This type is data structures describing the location of resources in the network. These
data have to describe the location of all logical and physical resources (processes managing
resources) known by user processes and / or processes of the operating system. The following
3
could be treated as example solutions of the problem of the distribution of data structures [Gos
84]: centralized (known in one network node) description of the location of resources in the
network, distributed description according to classes of resources, local resources known in
each network node, the location of all resources known in each node. Models of different
methods of resource addressing will be presented in Section 4.
The addition of the new types of resources discussed above to the operating system requires:
(i) the definition of the logical representation of the resources, i.e., the definition of the
data structures describing the location of all resources and the distribution of these data
structures in the network,
(ii) the definition of operations on resources and synchronization of operations,
(iii) the implementation of these operations by managing processes which we call
addressing processes, and
(iv) the definition of methods of attaching addressing processes into the the system of
connection processes managing the message passing.
The method of the definition of these new resources has an influence on the effectiveness of the
distributed operating system (measured in a sense of given performance indices such as
reaction time on an event, service time of an event, etc.). Searching for the definition of the
addressing processes is a part of the much more general problem of the construction of the
effective distributed operating system ( in particular a choice of suitable logical resources
necessary to allocate physical resources among competing processes in such a way that it is
possible to use them effectively.
R
.-. =u·1n= lR1
where
It has been assumed that the distributed operating system is controlled by interrupts which
inform about events which should be served. Let Z is a set of events of the distributed system
and
The set of events of a computer system (hardware and an operating system) which control this
system could be divided into two subsets:
a) events generated by the environment of the computer system, which present demands
of that environment to the system;
4
b) events generated by hardware and processes of the operating system when serving
events belonging to class a).
The above implies that for each operating system the set Z of possible demands of an
environment is defined. These demands can be included in user processes and I or are
generated by nondeterministic sources of events (e.g., operator, technological process
controlled) characterized by stochastic parameters independent from the the operating system
construction.
a : Q ~ N
such that
defines the address of the node as a function of a process, an event, and an environment
demand.
Let n is an equivalance relation of a node defined as follows:
Then
Q I n = {[q], q E Q}
then
The behaviour of the operating system serving demand x E X is defined by the function
which attaches a serving process to an environment demand as follows
f: X ~ R
In the centralized operating system the mapping presented above is carried out in such a way
that each environment demand is linked with an event of the operating system what could be
described by the two formulas
(i) k : X ~ Z
and another one being a part of an interrupt system which links events and managing processes
(ii) k' : Z ~ R
The choice of an event which should be served as first from a set of events arrived at the same
time could be described by the formula
f: X ~ R
where
and for the admissible distribution in the network of all environment demands and managing
processes; that means that the following relations could be true
3 x EX: - (x 11 f(x»
So
3 i, j : 1< .. <
- 1,J - N, i ;c j :
X E Xl and f(x) E RJ
1
si : 2 Z ~ Zi
The case, when x E Xi, f(x) E Rj , i::j:: j , requires passing a demand to another node of the
network, Le., sending a message containing this demand to process f(x).
. .
The demand of the message passing means that event Z E Zl , ~. = k1(x) , must be received by
the process managing message exchange (message passing), which performs send operation.
In the distributed operating system the connection between processes and network nodes could
vary, i.e., the dynamic change of the process address is possible while the computer network
works. That implies that each demand should be served as a start by the process managing a
message passing*.
Even in that case when at any time of an event arrival the condition x Tl f(x) is fulfilled.
For the discussion to continue one can assume that the set of admissible operations of the
process managing message passing contains:
(i) the operation of receiving the demand for the messsage passing,
(ii) the operation of message synthesis (message construction),
(iii) the operation of sending the message.
If for process Rhi a case described by relation x Tl f(x) is taken into consideration, which
requires the message passing to local process of the network node, then for the process
managing message passing an additional operation has to be defined:
----------------------------------------------------------------------------------------------------------------
*/ Each demand x E X is a demand of communication between processes. In the case
x Tl f(x) demand x could be treated also as a demand of communication implemented on the
basis of message passing. It does not depend on the implementation of the interprocess
com uni ~t o in the node according to the duality of operating systems with message passing
and operatmg systems based on the communication with shared variables [Lau 79].
7
The result of that operation performed determines the action of the process managing message
passing:
passing of a local demand to process f(x) when x 11 [(x), or
message passing to another node when -(x 11 f(x».
Let us consider the case when -(x 11 f(x» as a new one when compared with centralized
operating systems. For each event z E Zi, z == ki(x), accepted for a service in process Rhi
managing message passing in the i-th network node, it is possible to define in synonymous
way:
- the process which generates demands of an access to a resource,
- the process which manages that resource, and
- the demanded operation on that resource.
This implies that event z fulfiles the following relation X
Message M constituting a new type of resource of the distributed operating system is a data
structure sent between communicating processes. The message sent to process f(x) must
contain information on demand x.
The operation of message exchange between the processes managing message passing in the
network is carried out according to a protocol of message passing. Independently of any
specific protocol, the message contains the destination address, i.e., the address of process
Rhi managing message passing in node j, j :;:. i.
The method of the determination of the destination address of the receiver of the message
containing the service demand in process f(x) depends on:
(i) the chosen protocol of the message passing (the possibility of a detennination of one
receiver or many receivers of the message)
(ii) the modes of the distribution of the data structures describing the location of the
resources in the network (of each new type of the resource introduced by the
distribution of the computer system).
Process Rhi performing the operation of message sending lets a determination of an address
of a message receiver to the addressing process which manages in node i the data structures
8
gi : R u P --+ N
which depends on the amount of information about the location of the resources in ~ given
node, i.e., the definition of the addressing process. So, the service of event z = k1(x) in
process Rhi implies .
the mapping of that event into new event z* in the node gl(f(x)) which sygnalize the
arrival of the message
where
. .
rz*, z* E zJ, j = gl(f(x)), j "/:. i
<Pf\X) (Rli) = ~
l f(x), if a(f(x)) =i '
If a given event z* does not fulfil relation z* 11 f(x), then file message containing the demand
is sent by process Rhi according to addressing function gJ used in node j
The method of the passing of the demands of access to a resource has been presented in Fig. 1.
i 1 j
k k' k kJ
x
i
;:8
Z
node i
<pi
x
j
..........
---..
~
zj
node j
The sequence of nodes involved in the service of demand x, x E Xi, defined in the way
presented above, in the boundary case could b~ an one-element sequence (e.g., if the location
of all resources is known in each node, then gl(f(x» =: a(f(x» ). In general, the realization of
demand x, x E xl, has the following form
where
sl =: 1
s(j+l) = gj(f(x»
and 'lfsp is the first element of a sequence 'lfs 1, ... ,'lfsp that fulfiles the following condition
'JfSp(z) == f(x).
Taking into account the remote access to the resources, the action of the distributed operating
system, 1:, could be define by the structure
1: =: (Q, f, G, K', K, S)
S =: {si}'1-
- 1, N is the family of functions defining passing
demands of access to a resource.
4. ADDRESSING PROCESSES
In the distributed operating system the access to a remote resource requires a message to be
passed to the process managing that resource. The message contains the address of the
message receiver and that address is defined by the addressing process. The value of the
10
address defined depends on the definition of addressing processes, i.e., on the distribution of
data structures defining the location of resources.
In Section 3 presenting the logical model of the distributed operating system the choice of
addressing processes is carried out on the basis of the family of functions
i:::: I, N
where gl (q) defines the address of the receiver of the message sent from the i-th node and
containing the request of the access to process q, q E R u P.
It is ~lbisop to distinguish the following methods of resource addressing, i.e., the following
functions gl could be introduced [Gos 84]:
Hierarchical access (the access to the resource through intennediate addressing processes)
ri, if a(q):::: i
gi (q) :::: ~ a(Rkl)' if a(q) ;t i and a(Rkl) :F- i
l a(q), if a(q) ;t i and a(Rkl) :::: i
where Rk1 is this addressing process which contains addresses of all the network resources
b) division into resource classes / n addressing processes - centralized addressing (Fig. 2b)
r i, if a(q):::: i
gl (q) = ~ a(Rk1 ), if a(q) '# i and q E Rj and a(Rkl) ;t i
l a(q), if a(q) :F- i and q E Rj and a(Rkl) :::: i
r i, if a( q) = 1
gi (q) ~
li mod N + 1, if a(q) ¢ i
l 11
a)
c) DI4- ~
sender
--0 receIver
d)
receiver
sender sender
e) DD
receiver
receIver
- . . message message
/ request / reply
Distributed access tQ reSQurces when the netwQrk interface performs functions connected with
the addressing Qf demands (Fig.2e)
Let Rj' j if:. 1, j if:. k, be the class Qf prQcesses managing message exchange in network
interfaces and
g'l : R u P ~ N
be the addressing functiQns embQdied in the processes of the class Rj' then the message in the
i-th node is addressed by
if a(q) =i
if a(q) :¢:. i
and in the network interface (in the Rji -th process) respectively by
r i, if a(q) = i
g,i(q) == i
l i mod N + I if a(q) :¢:. i
q 8 i ~ Vt E T, a'(q,t) == a(q) = i
Xl E x2 ~ f(xI) = f(x2)
13
In that case, for demand x E Xl, such that the following conditions are fulfIlled
which is equivalent to the demand performed in the centralized operating system. That means
that if the process does not change its location in the network and all demands are local, then
communication could be performed locally, i.e., the process managing message passing is not
involved in the communication.Moreover, the above form presents the influence of definitions
of addressing processes on communication indices.
The operating system, except events signalizing environment demands, serves events generated
when serving these first ones, e.g., the completion of the I/O transmission, clock interrupts.
The demands fulfiling conditions 1. and 2. presented above and their service by adequate
managing processes could be done without the process managing message passing.
In the network there is a possibility for the distribution of the service of demand x E X
between several nodes. It concerns a case when new, additional logical resources* and new
processes managing them are defined to have a comfortable and effective service of a resource.
In that case the subset of managing processes is connected with the request of the environment.
X=u·I s=IX·I
where
and ni is the number of processes managing resources involved in the service of requests of
class Xi'
*/ The example of the construction of new logical resources, in the centralized operating
system, to create a better virtual computer and to achieve an effective access to resources is a
file system. The multilayer structure of the service of I/O demands (the recognition of the
organization and identification of a file, the creation of an independance of data and facilities,
the connection of logical channels and physical ones) could be mapped into managing
processes. In the case of a similar construction of a file system in the network, there is the
possibility of the distribution between several network nodes of managing processes
perfonning requests of 110 [Alb 79, Kie 79]. In general, the problem of the distribution in the
network of the service of requests if not well recognized [Dav 81].
14
The distribution of managing processes fi(x), i = 1, ni' in the network can increase the
effectiveness of a real-time distributed operating system (reaction time, time of the service of
requests). The method of allocating a service request among managing processes fi(x) and the
method of their distribution (location) in the network is an open problem requiring additional
research.
6. CONCLUSION
In the paper the logical model of the distributed operating system has been presented. This
model introduces the fundamental new types of resources implied by properties of local
computer networks.These new types of resources are messages and data structures defining the
location of resources in the network. In the model the operations on these resources and the
connections of processes managing the new types of resources with other processes managing
the resources of the distributed operating system have been defined.
Thanks to a good structuring based on the object model of the centralized operating system
which makes possible a choice of any level of abstraction to define a set of admissible
operations on resources, the model could be treated as a basis for construction of simulation
tools to carry out the performance study of distributed operating systems with different
processes managing resources. The simulation tools could be used to search the effective
service modes in processes managing new types of resources as well as resources known
from centralized operating systems. The method of the effective service of the last, because of
the distribution of resources in the network, is not known also.
The logical model of the distributed operating system presented in this paper has been used to
construct some simulation tools. The first construction was a tool to study the effectiveness of
different addressing processes [Ind 85, Ind 86]. In the implementation of that model the
structuring of the distributed operating system used in the logical model has been kept out. That
made possible the relatively simple modification of that model to carry out simulation studies
for different goals, e.g., the effectivenes of process synchronization in the distributed operating
system. The simplicity of all modifications has been implied by the possibility of utilization of
many modules implementing processes managing resources in the newly constructed tools. It
concerns these processes which have the same operations on resources and the same levels of
abstraction when defining these operations. As a result the cost of the construction of each next
simulation tool is decreased and that feature confinns the applicability and utility of the logical
model of the distributed operating system developed.
ACKNOWLEDGEMENT
We wish to thank G. S. Stafford for his helpful comments.
REFERENCES
[Alb 79] Albrecht H. R., Thomasos L. C., I/O Facilities of the Distributed processing
programming executive (DPPX), IBM Syst. Journal, VoL 18, No.4, pp. 526 - 546,
1979.
[Bri 73] Brinch Hansen P., Operating Systems Principles, Prentice - Hall, Englewood
15
[Bro 82] Brownbridge D. R., Harshal L. F., Randell B., The Newcastle Connection of
UNIXes of the World Unite!, Software - Practice and Experience, Vol.l2, pp. 1147 -
1162, 1982.
[Cab 79] Cabanel J. P., Marouane M. N., Besbes R., Sasbon R. D., Diarpa A.K., A
Decentralized OS Model for Aramis Distributed computer System, IEEE 1979.
[Col 82] Collinson R. P. A., The Cambridge Ring and UNIX, Software - Practice and
Experience, 1982, Vol. 12, pp. 583 - 594, 1982.
[Dav 79] David Ch., Madaule F., Mendelbaum E., Building a Simulation Model for Real
-Time Systems, SOCOCO' 79, Prague 1979.
[Dav 81] Davis D. W., Holler E., Jensen E. D., Kimbleton S. R., Le Lann G., Turber K.
J., Watson R. W., Distributed Systems - Architecture and Implementation - An
Advanced Course, Springer - Verlag, Berlin, Heidelberg, New York, 1981.
[Deg 80] Degenhardt K. H., Wiesnerg., Woletz W., Distributed Control and Data
Processing with Modified Real - Time Operating System, Real - Time Data Handling
and Process Control, North -Holland Publishing Company, Brussel and Luxemburg,
1980.
[Des 80] Deschizeaux P., Ladet P., Real- Time Structuration Language for Decentralized
Process Control, Real - Time Data Handling and Process Control, North -Holland
Publishing Company, Brussel and Luxemburg, 1980.
[Fri 83] Friedrich G. R., Eser F. W., Management Units and Interprocess Communication
in DINOS, Simens Forsch. - und Entwickl., -Ber., Bd. 12, No.1, pp. 21 - 27, 1983.
[Gos 84] Goscinski A., Indulska J., An Object Approach to Network Operating System
Model Construction, IEEE Technical Committee on Distributed Processing
Newsletter, Distributed Operating Systems, Vol. 6, No. SI - 2, 1984.
[Ghe 85] Ghertal F. F., Mamrak S., An Optimistic Concurrancy Control Mechanism for an
Object Based Distributed System, Proc. of the 5-th International Conference on
Distributed Computing Systems, Boulder, Colorado, 1985.
[Ind 85] Indulska 1., Studies of Real - Time Distributed Operating Systems, Ph.D. Thesis,
The St. Staszic University of Mining and Metallurgy, Krakow, 1985.
[Ind 86] Indulska J., Goscinski A., A Simulation Tool and a Study of Methods of
Addressing of Resources of a Distributed Operating System, in preparation, 1986.
[Jen 81] Jensen D. E., Distributed Control, Distributed Systems - Architecture and
Implementation - An Advanced Course, Springer - Vrelag, Berlin, Heidelberg, New
York, 1981.
[Jen 84] Jensen D. E., ArchOS: A Physically Dispersed Operating System, IEEE Technical
Committee on Distributed Processing Newsletter, Distributed Operating Systems, Vol.
6, No. SI - 2, 1984.
[Jon 78] Jones A. K., The Object Model: A Conceptual Tool for Structuring Software,
Operating Systems: An Advanced Couree, Springer Verlage, pp. 7 - 16, 1978.
16
[Kie 79] Kiely S. C., An Operating System for Distributed Processing - DPPX, IBM
System Journal, 1979.
[Lau 79] Lauer H. E., Needem R. M., On the Duality of Operating Systems Structures,
Operating Systems Reviev, Vol. 13, No.2, 3 - 19, 1979.
[Lin 82] Lin M. T., Tsay D. P., Lian R. C., Design of a Network Operating System for
the Distributed Double - Loop Computer Network (DDLCN), Local Computer
Networks, Ravasio P. C., Hopkins G., Naffah N. (Editors), North - Holland Co.,
IFIP, 1982.
[pet 85] Peterson 1. L., Silberschatz A., Operating 'Systems Concepts, Addison - Wesley
Publishing Co., 1985.
[Sa184) Saltzer J. H., Reed D. P., Clark D. D., End - To - End Arguments in System
Design, ACM Transactions on Computer Systems, Vol. 2, No.4, 1984.
[Sha 74] Shaw A. c., The Logical Design of Operating Systems, Prentice - Hall,
Englewood Cliffs, New Jersey, 1974.
[Tan 84] Tanenbaum A. S., Mullender S. J., The Design of a Capability - Based
Distributed Operating System, Rapport nr. IR-88, Vrije Universiteit Amsterdam,
1984.
[Tan 85] Tanenbaum A. S., van Renesse R, A Survey of Current Research on Distributed
Operating Systems, Proc. of the Eighth Australian Computer Science Conference,
Melbourne,1985. '
[Wat 80] Watson R W., Network Architecture Design for Back - End Storage Networks,
Computer, pp. 32 - 48, February 1980.
[Woo 82] Wood B. J., Thompson D. R, Rogers L. D., Bryant D. M., A local - Area
Network Architecture Based on Message Passing Operating System Concepts, 7-th
Conference on Local Computer Networks, Minneapolis, Minnesota, 1982.
[Zim 81] Zimmerman H., Banino J. S., Caristan A., Guillenment M., Basic Concepts for
the Support of Distributed Systems, The CHORUS Approach, Proc. of the Second
International Conference on Distributed Computing Systems, France, Apri11981.