Distributed Operating Systems
Distributed Operating Systems
1) INTRODUCTION AND THESIS - A key component of any distributed system is the file system. As in single
processor systems, in distributed systems the job of the file system is to store programs and data and make
It is important to distinguish between the concepts of the file service and the file server. The file service is the
specification of what the file system offers to its clients. It describes the primitives available, what parameters
they take, and what actions they perform. To the clients, the file service defines precisely what service they
can count on, but says nothing about how it is implemented. In effect, the file service specifies the file system's
A file server, in contrast, is a process that runs on some machine and helps implement the file service. A
system may have one file server or several. In particular, they should not know how many file servers there are
and what the location or function of each one is. All they know is that when they call the procedures specified
in the file service, the required work is performed somehow, and the required results are returned. In fact, the
clients should not even know that the file service is distributed. Ideally, it should look the same as a normal
Since a file server is normally just a user process (or sometimes a kernel process) running on some machine, a
system may contain multiple file servers, each offering a different file service. For example, a distributed
system may have two servers that offer UNIX file service and MS-DOS file service, respectively, with each user
process using the one appropriate for it. In that way, it is possible to have a terminal with multiple windows,
with UNIX programs running in some windows and MS-DOS programs running in other windows, with no
conflicts. Whether the servers offer specific file services, such as UNIX or MS-DOS, or more general file services
is up to the system designers. The type and number of file services available may even change as the system
evolves.
2
2) MAIN POINTS –
1. DISTRIBUTED FILE SYSTEM DESIGN – A distributed file system typically has two reasonably distinct
components: the true file service and the directory service. The former is concerned with the
operations on individual files, such as reading, writing, and appending, whereas the latter is
concerned with creating and managing directories, adding and deleting files from directories, and so
on.
2. THE FILE SERVICE INTERFACE – “The file service usually provides primitives to read and write some of
the attributes”. For example, it may be possible to change the access permissions but not the size
(other than by appending data to the file). In a few advanced systems, it may be possible to create
3. The Directory Server Interface - The other part of the file service is the directory service, which provides
operations for creating and deleting directories, naming and renaming files, and moving them from one
directory to another. “The nature of the directory service does not depend on whether individual files
All distributed systems allow directories to contain subdirectories, to make it possible for users to group
related files together, leading to a tree of directories, often called a hierarchical file system.
In some systems, it is possible to create links or pointers to an arbitrary directory. These can be put in
any directory, making it possible to build not only trees, but arbitrary directory graphs, which are more
powerful.
3
4. File Sharing - When two or more users share the same file, it is necessary to define the semantics of
reading and writing precisely to avoid problems. In single-processor systems that permit processes to
share files, such as UNIX, the semantics normally state that when a READ operation follows a WRITE
operation, the READ returns the value just written. Similarly, when two writes happen in quick
succession, followed by a READ, the value read is the value stored by the last write. In effect, the system
enforces an absolute time ordering on all operations and always returns the most recent value. We will
refer to this model as UNIX semantics. This model is easy to understand and straightforward to
implement.
4
3) AUTHOR - Tanenbaum was born in New York City and grew up in suburban White Plains, New York. He is
Jewish. His paternal grandfather was born in Khorostkiv in the Austro-Hungarian Empire.
He received his Bachelor of Science degree in Physics from MIT in 1965 and his Ph.D. degree in astrophysics from
the University of California, Berkeley in 1971. Tanenbaum also served as a lobbyist for the Sierra Club. He moved
to the Netherlands to live with his wife, who is Dutch, but he retains his United States citizenship. He teaches
courses about Computer Organization and Operating Systems and supervises the work of Ph.D. candidates at
4) MY EVALUATION – According to me the most interesting aspect of the distributed file systems is the ‘File
Sharing’. It is because of the fact that sharing a file in a single computer with multiple user in its own is a
ginormous task and the idea of sharing and maintaining multiple files in a distributed system just fascinates me.
Considering the importance and efficiency of distributed operating systems, one can easily understand the
importance, significance and supplementation of Distributed file system in Distributed operating system.
With the surplus of the information and how efficient Distributed Operating Systems are in handling that
information, it makes complete sense to understand and study the Distributed File Systems.
5) CONCLUSION - Andrew S. Tanenbaum achieved his goal of conveying the topic as amazingly as one can expect.
I would totally recommend this piece to anyone who is interested in any sort of file handling or Distributed
Operating Systems, considering how important data processing is, we should also know how to manage data or