Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
157 views

Jimma University: Jimma Institute of Technology

This document contains an assignment submitted by Bacha Sirata to Mr. Admas at Jimma University in Ethiopia on May 15, 2013. The assignment addresses distributed operating systems and includes questions on differentiating stateful and stateless servers, defining operating systems, remote procedure calls, distributed systems, the differences between network and distributed operating systems, the role of middleware, desirable features of message passing systems, and the goals of distributed systems.

Uploaded by

admachew
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
157 views

Jimma University: Jimma Institute of Technology

This document contains an assignment submitted by Bacha Sirata to Mr. Admas at Jimma University in Ethiopia on May 15, 2013. The assignment addresses distributed operating systems and includes questions on differentiating stateful and stateless servers, defining operating systems, remote procedure calls, distributed systems, the differences between network and distributed operating systems, the role of middleware, desirable features of message passing systems, and the goals of distributed systems.

Uploaded by

admachew
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

JIMMA UNIVERSITY

JIMMA INSTITUTE OF TECHNOLOGY

FACULTY OF COMPUTING AND INFORMATICS

DEPARTMENT OF INFORMATION TECHNOLOGY

ASSIGNMENT OF DISTRIBUTED OPERATING SYSTEM

SUBMITTED TO Mr. ADMAS


SUBMISSION DATE 15/5/2013

SUBMITTED BY BACHA SIRATA ID RU0635/10


1.Differentiate state full and stateless server.
a) State Information:
 A Stateful server remember client data (state) from one request to the next.
 Stateful servers, do store session state. They may, therefore, keep track of which clients
have opened which files, current read and write pointers for files, which files have been
locked by which clients, etc.
 A Stateless server keeps no state information.
 Stateless file servers do not store any session state. This means that every client request
is treated independently, and not as a part of a new or existing session.
b) Programming:
 Stateful server is harder to code.
 Stateless server is straightforward to code.
c) Crash recovery:
 Stateful servers have difficult crash recovery due to loss of information.
 Stateless servers can easily recover from failure because there is no state that must be
restored.
d) Information transfer:
 Using a Stateful server file server, the client can send less data with each request.
 Using a stateless file server, the client must specify complete file names in each request
specify location for reading or writing re-authenticate for each request.
e) Operations:
 Open, Read, Write, Seek, Close are operation of stateful.
 Read, Write are operation of stateless.

2. What is an operating system?


 An operating system is a program that acts as an interface between the user and the
computer hardware and controls the execution of all kinds of programs.
 An Operating System (OS) is an interface between a computer user and computer
hardware. An operating system is a software which performs all the basic tasks like file
management, memory management, process management, handling input and output, and
controlling peripheral devices such as disk drives and printers.
 Some popular Operating Systems include Linux Operating System, Windows Operating
System, VMS, OS/400, AIX, z/OS, etc.

3. What is RPC?
 Remote Procedure Call (RPC) is a protocol that one program can use to request a service
from a program located in another computer on a network without having to understand
the network's details. RPC is used to call other processes on the remote systems like a
local system. A procedure call is also sometimes known as a function call or a subroutine
call.
 RPC uses the client-server model. The requesting program is a client, and the service-
providing program is the server. Like a regular or local procedure call, an RPC is a
synchronous operation requiring the requesting program to be suspended until the results
of the remote procedure are returned. However, the use of lightweight processes or
threads that share the same address space enables multiple RPCs to be performed
concurrently.

4. What is distributed system?


 A distributed system is a collection of independent computers that appear to the users of
the system as a single computer.

 Using high performance computers connected by equally high speed communication


links, it is possible to build a single system consisting of multiple computer and using it
as a single consolidated system. In such a system, multiple resources work together to
deliver the required processing speed and the operating system takes care of maintaining
the system and overall maintenance.
 In distributed system computers are not independent but interconnected by a high speed
network. It means that many computers, be they workstation or desktop systems linked
together, can do work of a high performance supercomputer.
If user thinks that the entire interlinked system is a single and unified computer, there has
to be software envelope that joins multiple operating system together and offers a
seamless interface to user.
5. Explain the difference between network and distributed operating systems.
Network Operating system
 A network operating system is made up of software and associated protocols that allow a
set of computer network to be used together.
 Environment users are aware of multiplicity of machines.
 Control over file placement is done manually by the user.
 Performance is badly affected if certain part of the hardware starts malfunctioning.
 No implicit sharing of loads.
 Remote resources are accessed by either logging into the desired remote machine or
transferring data from the remote machine to user's own machines.
.
Distributed Operating system
 A distributed operating system is an ordinary centralized operating system but runs on
multiple independent CPUs.
 Environment users are not aware of multiplicity of machines.
 It can be done automatically by the system itself.
 It is more reliable or fault tolerant i.e. distributed operating system performs even if
certain part of the hardware starts malfunctioning.
 Sharing of loads between nodes (load balancing).
 Users access remote resources in the same manner as they access local resources.
6. Explain what middleware is and its role.
 A Middleware is Software that manages and supports the different components of a
distributed system. In essence, it sits in the middle of the system.
 It enables multiple systems to communicate with each other across different platforms.
 Middleware is a computer software that provides services to software applications
beyond those available from the operating system.
 Middleware is the software layer that lies between the operating system and the
application each side of a distributed computer network.

Role of Middleware
 Clustering software allows independent computers to work together closely.
 Middleware also supports seamless access to remote services, doesn’t try to look like a
general-purpose OS.

7. Discuss desirable features of good message passing systems.


Simplicity:
 A message passing system should be simple and easy to use.
 It must be straight forward to construct new applications and to communicate with
existing one by using the primitives provided by message passing system.
Uniform Semantics
 In a distributed system, a message-passing system may be used for the following two
types of inter process communication:
 Local communication, in which the communicating processes are on the same node.
 Remote communication, in which the communicating processes are on different nodes.
 Semantics of remote communication should be as close as possible to those of local
communications.
Efficiency
 An IPC protocol of a message-passing system can be made efficient by reducing the
number of message exchanges, as far as practicable, during the communication process
 Some optimizations normally adopted for efficiency include the following:
 Avoiding the costs of establishing and terminating connections between the same pair of
processes for each and every message exchange between them.
 Minimizing the costs of maintaining the connections;
 Piggybacking of acknowledgement of previous messages with the next message during a
connection between a sender and a receiver that involves several message exchanges.
Reliability
 A good IPC protocol can cope with failure problems and guarantees the delivery of a
message.
 Handling of lost messages involves acknowledgement and retransmission on the basis of
timeouts.
 A reliable IPC protocol should also be capable of detecting and handling duplicate
messages.
 Correctness
 Correctness is a feature related to IPC protocols for group communication.
 Issues related to correctness are as follows:
 Atomicity: It ensures that every message sent to a group of receivers will be
delivered to either all of them or none of them.
 Ordered delivery: It ensures that messages arrive to all receivers in an order
acceptable to the application.
 Survivability: It guarantees that messages will be correctly delivered despite
partial failures of processes, machines, or communication links.
Flexibility
 Not all applications require the same degree of reliability and correctness of the IPC
protocol.
 The IPC protocols of a message passing system must be flexible enough to cater to the
various needs of different applications.
 The IPC primitives should be such that user have the flexibility to choose and specify
types and levels of reliability and correctness requirement of their applications.
 IPC primitives must also have the flexibility to permit any kind of control flow between
the cooperating processes, including synchronous and asynchronous send/receive.
Security
 A good message passing system must also be capable of providing a secure end to end
communication.
 Steps necessary for secure communication include the following:
 Authentication of the receiver of a message by the sender.
 Authentication of the sender of a message by its receivers.
 Encryption of a message before sending it over the network.

8. Explain the goals of distributed system.


 The following are the main goals of distributed systems:
The relative simplicity of the software - each processor has a dedicated function.
 Incremental growth - if we need 10 percent more computing power, we just add 10
percent more processors.
 Reliability and availability - a few parts of the system can be down without disturbing
people using the other parts.
 Openness: Offer services according to standard rules that describe the syntax and
semantics of those services.

9. Explain network classification based on geographic distance.


Local area network (LAN)
 It is privately-owned networks within a single building or campus of up to a few
kilometers in size.
 They are widely used to connect personal computers and workstations in company offices
and factories to share resources (e.g., printers) and exchange information.
 LANs are easy to design and troubleshoot
 In LAN, all the machines are connected to a single cable.

 Different types of topologies such as Bus, Ring, Star and Tree are used. The data transfer
rates for LAN is up to 10 Gb.
 They transfer data at high speeds. High transmission rate are possible in LAN because of
the short distance between various computer networks.
 They exist in a limited geographical area.
Metropolitan area network (MAN):
 MAN is a larger version of LAN which covers an area that is larger than the covered by
LAN but smaller than the area covered by WAN.
 A metropolitan area network or MAN covers a city.
 The best-known example of a MAN is the cable television network available in many
cities.
 MAN connects two or more LANs.
Wide area Network (WAN)

 WAN spans a large geographical area, often a country or region.


 WAN links different metropolitan’s countries and national boundaries there by enabling
easy communication.
 It may be located entirely with in a state or a country or it may be interconnected around
the world.
 It contains a collection of machines intended for running user (i.e., application)
programs. We will follow traditional usage and call these machines hosts.
 The communication between different users of WAN is established using leased
telephone lines or satellite links and similar channels.

10. What are issues that need to be considered when designing distributed system? Explain
in detail.
The issues in designing a distributed system include:
Transparency
 Main goal of Distributed system is to make the existence of multiple computers invisible
(transparent) and provide single system image to user.
 A transparency is some aspect of the distributed system that is hidden from the user
(programmer, system developer, application).
 A transparency is provided by including some set of mechanisms in the distributed
system at a layer below the interface such that a communication system appears to its
users as a virtual uniprocessor.
 While users hit search in google.com……. They never notice that their query goes
through a complex process before google shows them a result.
Access Transparency:
o It hides differences in data representation and how a resource is accessed by a
user.
o Example, a distributed system may have a computer system that runs different
operating systems, each having their own file naming conventions.
o Differences in naming conventions as well as how files can be manipulated
should be hidden from the users and applications.
Location Transparency:
o Hides where exactly the resource is located physically.
o Example: by assigning logical names to resources like yahoo.com, one cannot get
an idea of the location of the web page’s main server.
Migration Transparency:
o Distributed system in which resources can be moved without affecting how the
resource can be accessed are said to provide migration transparency.
o It hides that the resource may move from one location to another.
Relocation Transparency:
o This transparency deals with the fact that resources can be relocated while it is being
accessed without the user who is using the application to know anything.
o Example: using a Wi-Fi system on laptops while moving from place to place without
getting disconnected.
Replication Transparency:
o Hides the fact that multiple copies of a resource could exist simultaneously.
o to hide replication, it is essential that the replicas have the same name.
o Consequently, as system that supports replication should also support location
transparency
Concurrency Transparency:
o It hides the fact that the resource may be shared by several competitive users.
o Example: two independent users may each have stored their file on the same server and
may be accessing the same table in a shared database.
o in such cases, it is important that each user should not notice that the others are making
use of the same resource.
Failure Transparency:
o Hides failure and recovery of the resources.
o Example: a user cannot distinguish between a very slow or dead resource.
o Same error message come when a server is down or when the network is overloaded
of when the connection from the client side is lost.
o So here, the user is unable to understand what has to be done, either the user should
wait for the network to clear up, or try again later when the server is working again.
Persistence Transparency:
o It hides if the resource is in memory or disk.
o Example: Object oriented database provides facilities for directly invoking methods on
storage objects.
o First the database server copies the object states from the disk i.e. main memory
performs the operation and writes the state back to the disk.
o The user does not know that the server is moving between primary and secondary
memory.
Reliability
 Reliability in terms of data means that data should be available without any errors.
 Distributed system where multiple processors are available and the system become
reliable.
 So on failure, a backup file is available.
 In case of replication all copies should be consistent.
Scalability:
 Distributed systems must be scalable as the number of user increases.
 A system is said to be scalable if it can handle the addition of users and resources
without suffering a noticeable loss of performance or increase in administrative
complexity.
 Scalability has 3 dimensions:
 Size: Number of users and resources to be processed. Problem associated is
overloading.
 Geography: Distance between users and resources. Problem associated is
communication reliability
 Administration: As the size of distributed systems increases, many of the
system needs to be controlled. Problem associated is administrative mess.
Flexibility:
 The design of Distributed operating system should be flexible due to following reasons:
 Ease of Modification: It should be easy to incorporate changes in the system in a
user transparent manner or with minimum interruption caused to the users.
 Ease of Enhancement: New functionality should be added from time to time to
make it more powerful and easy to use.
 A group of users should be able to add or change the services as per the comfortability of
their use.
Performance
 A performance should be better than or at least equal to that of running the same
application on a single-processor system.
 Some design principles considered useful for better performance are as below:
 Batch if possible: Batching often helps in improving performance.
 Cache whenever possible: Caching of data at client’s side frequently improves
overall system performance.
 Minimize copying of data: Data copying overhead involves a substantial CPU
cost of many operations.
 Minimize network traffic: It can be improved by reducing internode
communication costs.
Heterogeneity
 This term means the diversity of the distributed systems in terms of hardware, software,
platform, etc.
 Modern distributed systems will likely span different:
 Hardware devices: computers, tablets, mobile phones, embedded devices, etc.
 Operating System: MS Windows, Linux, Mac, Unix, etc.
 Network: Local network, the Internet, wireless network, satellite links, etc.
 Programming languages: Java, C/C++, Python, PHP, etc.
 Different roles of software developers, designers, system managers.
Security
 System must be protected against destruction and unauthorized access.
 Enforcement of Security in a distributed system has the following additional
requirements as compared to centralized system:
 Sender of message should know that message is delivered.
 Receiver of the message should know that the message was sent by
genuine sender.
 Both sender and receiver should be guaranteed that the content of
message were not changed while it is in transfer.

You might also like