1. Project Title: ________Issue in distributed system___________________________________________
NAME OF STUDENT: _________Faizan Ahmed_____________________________________________________
Course: _________Operating system__________________________________________________
Submitted: _________Sir Muhammad Hussain_____________________________________________
Student -ID #: _________58579___________________________________________________________
Class -ID #: _________68294___________________________________________________________
Local Phone: _____ _ 0333-3138510____________________________________________________
E-Mail Address: _________ faizan.khaliq89@gmail.com__________________________________________
Department: _________Computer science_________________________________________________
Campus: _________City Campus______________________________________________________
2. Issues in Distributed System
Abstract—
The purpose of this paper is to determine
the issues that influence distributed system
and also how they work in a particular
system. This research is gathered from
different researches from
www.scholors.google. Distributed
computing becomes more extensive; both
in high-energy physics and in other
applications, centralized operating systems
will gradually give way to distribute ones.
Key words—Distributed system,
services, files, tolerance
I. INTRODUCTION
Distributed Systems is going to be a very
important part of coming future. A
distributed operating system is one that
looks to its users like an ordinary
centralized operating system but runs on
multiple, independent central processing
units (TANENBAUM & RENESSE). It
is a structure which consists of hardware
and software which is placed at
networked computers and message
passing converse and synchronize
activities of those computers
(Coulouris).a system in which a pool of
independent computers appear as a
single computer to users is known as
distributed system (Tanenbaum). There
are several types of distributed systems
each of those kinds are intended to have
different kind of challenges.it is a system
of so many independent processors to
achieve a common and single goal
distributed computer system there are no
pipelines and array of processors this
system excludes computer networks like
internet.
3. II. LITERATURE REVIEW
Distributed system includes a platform
which sometime leads to difficulties just
to provide security assurance. Users use
group of computers as a single computer.
Distributed system plays a vital role in
one’s life. The recent innovation in Web-
based Applications put a severe impact.
Distributed computing is a very vast area
with great potential to progress the
efficiency of the processes of businesses.
(Nadiminti, Assunção, & Buyya)
While developing a distributed system
there are so many challenges which
depend on the necessities of a system.
One of the most common issues in
distributed system is heterogeneity,
there should be numerous objects that
are able to interoperate with on another
even though they are different in
hardware architectures, operating
systems, communication protocols,
programming languages, software
interfaces, security models, and data
formats. Another issue which cause
problem in system is transparency, the
whole system must be act as a single
user and the complications and
connection between the mechanisms
should be unseen to the end user. Fault
tolerance and failure management is
another problematic issue in distributed
system, Failure of one or more
components should not Shutdown the
whole system and it must be out of the
way. Scalability is another part which
should be improve in distributed system,
the growing number of users and
increased resource should enhance the
performance of the system through
which the system will work effectively.
Next section will discuss the issues and
challenges in distributed system and
related programs and solution to
overcome and solve those particular
issues.
III. ISSUES IN DISTRIBUTED SYSTEM
This section will discuss an issue which
usually comes in distributed system.
1. Communication primitives,
2. Naming and protection,
3. Fault tolerance
4. Resource management,
5. Services to provide
1. Communication primitives:
Those do computers which contain
distributed system usually do not share
primary memory and the communication
which passes memory technique i.e.
semaphores and monitors are not
applicable. A commonly used framework
for message passing system is the ISO OSI
reference model it has seven layers with
well-defined functions (Zimmerman,
1980)by using this type of model we can
connect computers with different operating
system.
2. Naming and Protection
Almost all operating system have files,
directories, segments, mailboxes,
processes, services, nodes, and I/O
devices. When any of these processes
starts it represent with its names these
names are ASCII strings.
4. Naming as Mapping
Naming is very big issue while mapping
two domains like if the directory system in
UNIX provides a mapping between ASCII
path names and i-node numbers. When an
OPEN system call is made, the kernel
converts the name of the file to be opened
into its I-node number. Internal to the
kernel, files are nearly always referred to
by i-node number, not ASCII string. Just
about all operating systems have
something similar. Another example of
naming is the mapping of virtual addresses
onto physical addresses in a virtual
memory system. The paging hardware
takes a virtual address as input, and yields
a physical address as output for use by the
real memory.
Name Servers
If we talk about centralized system the
problem of naming handle in an efficient
way. The system keeps a table or data base
which gives essential name-to-object
mappings. A conventional overview of this
approach to distributed system is the single
name server model.it provides a server that
receives names in one domain and maps
them into another other domain. For
example if a user send a service it will
receive in ASCII to the name server and it
reply with the node number. File
directories for example can be observed as
a special case of name service.
3. Fault Tolerance
In the recent years there are two
approaches which are found in distributed
system is fault tolerance. They are totally
different in orientation, goals and attitude
toward the spiritually issue.one approach is
based on redundancy and other one is
based on atomic transaction.
Redundancy Techniques
Redundancy techniques take advantages of
the present multiple processors by
replicating critical processes on two or
more machines. This technique provides
backup of every process on different
processor. This processor communicates
through massage passing. Whenever user
sends any massage it also send the same
massage to the backup process. Researcher
suggests that this system assures that
neither the primary nor the backup can
continue running until it has been verified
that both have received the accurate
massage. The fault tolerance comes when
one process crashes due to any hardware
fault the other one can continue and the
remaining process can replicate itself thus
making a new backup to maintain fault
tolerance in the future. (al.1983).
According to a research a system that put
almost no additional load on the processes
being backed up (Powell and Presto
1983).In their system, the massages sent
on the network are recorded by a special
process i.e. recorder., each process check
itself onto a remote disk.
One disadvantage of duplicating there is
extra processors required for every
process, another understated problem, is
that if messages are exchange by process
at a high rate, a significant amount of CPU
time take time in keeping the processes
5. synchronized at each message exchange.
(Avizienis)
Atomic Transaction
When multiple users spread over several
machines are concurrently updating a
distributed data base, and one or more
machines crash, the potential for chaos is
truly impressive. In a certain sense, the
current situation is a step backwards from
the technology of the 1950s. The normal
way of updating a data base then was to
have one magnetic tape, called the "master
file," and one or more tapes with updates
This scheme had the very real advantage
that if the update program crashed, one
could always fall back on the previous
master tape and the update tapes. In other
words, an update run could be viewed as
either running correctly to completion, or
having no effect at all (Lampson)
4. Resource Management
Resource management is an important part
of distributed system and it is totally
different from that in centralized system.
Centralized systems always have tables
which provide comprehensive and up to
date status information about all the
resources which is being managed. On the
other hand distributed system has harder
job while finding whether a processor free.
5. Process Management
A set of available processors in distributed
system is an important key resource. If
these machines are time shared with n
process table slots per machines, each
physical processor can be regarded as N
virtual processors to be managed.it has
been suggested from the theory that tabs
on the processors should be organized in a
logical hierarchy (Tilborg, 1980). This
approach organizes the machines like
people in corporate, military, academic,
and other real-world hierarchies. Some of
the machines are workers and others are
managers. For each group of k workers,
one manager machine is assigned the task
of keeping track of who is busy and who is
not.
6. Services
A distributed consist of a function that
have usually provided by operating system
and offered by user level server processes
this approach is reliable kernel and modify
new test services. Following section will
describe services.
File Service
File service is an important service in
distributed system. Research suggests that
most of the file services and file servers
are implemented from many years and
there is a lot of experience presented. and
there are many ways to make a file server.
Conceptually, one can insulate three
components of a file system:
- Disk service
- Flat file service
- Directory service
Print Service
Almost every distributed system possess a
type of print service, on this service the
6. customers can share file, file name or
capabilities for files which contain all the
information required for printing, some
text formatting may be needed before
printing. Seldom has it happened that the
complete file is available on print server in
advance, the server has to buffer it. Also in
some cases only the file name or capability
is given to the print server interpreting the
file block by block as required. This
technique does not require buffering on the
server side but some problem may occur if
the file is changed subsequent to the time
the print order is sent before the real
planning. Clients commonly prefer “call
by value” rather than ‘call by reference”
for the printers.
Process Service
All the distributed systems require some
techniques for building new processes. At
the lowest stage, inside the system Kemal,
there has to be a new process from
beginning. One possible way is to have a
FORK similarly UNIX have but some
other techniques may also available. For
instance, in Amoeba it is a way to ask the
Kemal to adjust the memory of given size.
The caller then read and writes these
portions taking them with the text, data
and stack parts for a new process.
Consequently the caller can send the filled
in segments back and ask for a new
process built up from these pieces.
Terminal Service
The ways in which the terminals are
attached to the system rely largely on the
system architecture. One way is that if
system contains few minicomputers each
have a clear and stable user population
then every terminal can be hardwired on
the computer. On the other hand if the
system contains a large number of
processors that are dynamically adjusted as
required, the best way is to attach the
terminal to one or more terminal server
that serves as concentrators.
The terminal server can contain such
characteristics as local echoing; interline
editing, and window management, if
desired. Additionally, the terminal server
can also disappear the idiosyncrasies of
the various terminals that are used by
mapping them all onto a standard
imaginary terminal.
Mail Service
Electronic mail is very famous application
of computers now days. Actually each
university computer science department in
the Western world has one or more
international networks for communication.
When a website contain a single computer,
having track of mail is quite easy. On the
other hand if the website has a large
number of computers spread over multiple
local networks. Clients are able to see their
mail on any computer that may be logged
on to. This desire gives rise to the need for
a machine-independent mail service, rather
like a print service that can be accessed
system wide.
Time Service
To operate the time service there are two
ways. The most common and simple
technique is to just ask the time. One other
7. way is that time service can present the
time with some intervals, having track of
all the other machines in synchronization.
The time server can have a radio receiver
that changed to WWV or some other
transmitter that gives the exact time even
to the microsecond.
Boot Service
The boot service has two functions:
primarily it build up the system from
beginning when the machine is on and
secondly it manages to survive the core
services when their servers crashed. IN
both situations it is helping if the boot
server may have a hardware mechanism
for forcing a recalcitrant machine to go to
a program in the balky machine’s own
ROM, in order to reset it. The ROM
program can simply set in a loop waiting
for a message from the boot service. The
message would then be loaded into that
machine’s memory and executed as a
program. The second function presented
above is "immortality service." An
important service could register with the
boot service, which would then poll it after
some interval to see if it were still
functioning. If not, the boot service could
initiate measures to patch things up, for
example, forcibly reboot it or allocate
another processor to take over its work. To
provide high reliability, the boot service
should itself consist of multiple processors,
each of which keeps checking that the
other ones are still working properly.
CONCLUSION
Most of the researches on distributed
operating systems focus on the remote
procedure sound as communication
primitive. Naming is usually done by
specialized name servers, often
hierarchically organized. Resource
management in a distributed system is an
open subject, with a few scheduling and
allocation algorithms known, but much
work remaining to be done. Fault tolerance
can be come up to either using redundancy
techniques, or using atomic actions.
Finally, many kinds of servers can be
combined into a distributed system to
move traditional operating system
functions out of the kernel and into user
space, including the file system, process
management, and terminal management
REFERENCES
1. Zimmerman. (1980).
2. 1980, B. a., 1981, F. a., 1980, S. e.,
& al.1979, S. e. (n.d.).
3. al., B. e. (1983).
4. Nadiminti, K., Assunção, M. D., &
Buyya, R. (n.d.). Distributed
Systems and Recent Innovations:
Challenges and Benefits.
5. TANENBAUM, A. S., &
RENESSE, R. V. (n.d.). Distributed
Operating Systems.
6. Tilborg, W. a. (1980)
7. (Avizienis)
8. (Lampson)