Download as pdf or txt
Download as pdf or txt
You are on page 1of 76

Unit 1

1
Background

• The pace at which computer systems change was, is, and continues to
be overwhelming.
• 1945→ when the modern computer era began.
• 1945-1985→computers were large and expensive.
• Moreover, for lack of a way to connect them, these computers
operated independently from one another.
• mid-1980s → Development of powerful microprocessors
→ invention of high-speed computer networks

2
Development of powerful microprocessors

• Initially, these were 8-bit machines, but soon 16-, 32-, and 64-bit
CPUs became common.
• Now a days, GPU and TPU are in use for powerful processing.

3
Invention of high-speed computer networks

• Local-area networks or LANs allow thousands of machines within a


building or campus to be connected in such a way that small amounts
of information can be transferred in a few microseconds or so.
• Larger amounts of data can be moved between machines at rates of
billions of bits per second (bps).
• Wide-area networks or WANs allow hundreds of millions of machines
all over the earth to be connected at speeds varying from tens of
thousands to hundreds of millions bps, and sometimes even faster.

4
Smartphone as the most impressive outcome

• Packed with sensors, lots of memory, and a powerful CPU, these


devices are nothing less than full-fledged computers.
• Of course, they also have networking capabilities.

5
plug computers and nano computers

• These small computers, often the size of a power adapter, can often
be plugged directly into an outlet and offer near-desktop
performance.

6
Distributed System

• The size of a distributed system may vary from a handful of devices,


to millions of computers.
• The interconnection network may be wired, wireless, or a
combination of both.
• Moreover, distributed systems are often highly dynamic, in the sense
that computers can join and leave, with the topology and
performance of the underlying network almost continuously
changing.

7
What is a distributed system?
• A distributed system is a collection of
autonomous computing elements that appears
to its users as a single coherent system.
• A Distributed system is collection of
independent computers which are connected
through network.”
• a collection of computing elements(Node: H/w
device or S/w Process) each being able to behave
independently of each other.

• users (people or applications) believe they are


dealing with a single system.
8
9
Distributed Operating System

I have my own
Memory, Processor LAN
and other Hardware
MAN
WAN
Physically
separate Independent

Networked Communicating

10
Distributed Operating System
Definition by Coulouris, Dollimore, Kindberg and Blair
“A distributed system is defined as one in which components at
networked computers communicate and coordinate their actions only by
passing messages.”
“A Distributed system is collection of independent computers which are
connected through network.”

This system looks to its users like an ordinary centralized operating


system but runs on multiple, independent central processing units (CPUs).

11
Distributed Operating System
A great example of distributed system is the web page of University.

University website
User Internet

Web Server

School of School of Diploma


Computer Engineering
Science

School of
Engineering

12
Distributed Operating System

Scenario-1: Want to process RAM: Increase RAM RAM:


500GB Data 4GB size to 8GB 8GB
Vertical Scaling

Want to process RAM:


500GB Data 4GB
Add more
Processors/Systems
Scenario-2:
DOS
Horizontal Scaling RAM: RAM: RAM:
4GB 4GB 4GB

Divide/Distribute the workload

13
Examples of Distributed Systems

From the definition, Distributed Systems also looks the same as single
system.
Let us say about Google Web Server, from users perspective while
they submit the searched query, they assume google web server as a
single system.
Just visit google.com, then search.
However, under the hood Google builds a lot of servers even
distributes in different
geographical area to give you a search result within few seconds.
So the Distributed Systems does not make any sense for normal users.
14
Examples of Distributed Systems

Telephone networks and cellular


Computer network such internet
networks

ATM machines Mobile


Computing

15
Examples of Distributed Systems

Web Search Engines:


 Major growth industry in the last
decade.
 10 billion per month for global
number of searches.
 e.g. Google distributed infrastructure

Massively multiplayer online


games:
 Large number of people interact
through the Internet with a virtual
world.
 Challenges include fast
response time, real-time
propagation of events.
16
Why Distributed Operating System?
Facebook, currently, has 2.7 billion active monthly users.
Google performs at least 2 trillion searches per year.
About 500 hours of video is uploaded in Youtube every minute.
A single system would be unable to handle the processing. Thus,
comes the need for
Distributed Systems.
The main answer is to cope with the extremely higher demand of
users in both processing power and data storage.
With this extremely demand, single system could not achieve it.
There are many reasons that make distributed systems is viable such
as high availability,
scalability, resistant to failure, etc. 17
Why Distributed Operating System?
It is
Challenging/Interesting.
Partial Failures
 Network
 Node failures
Concurrency
 Nodes execute in
parallel. Parallel Computing
 Messages travel
asynchronously.

18
Network OS vs Distributed OS

Network Operating System Distributed Operating System


A network operating system is made up of A distributed operating system is an ordinary
software and associated protocols that allow a centralized operating system but runs on
set of computer network to be used together. multiple independent CPUs.
Environment users are aware of multiplicity of Environment users are not aware of
machines. multiplicity of machines.
Control over file placement is done manually It can be done automatically by the system
by the user. itself.
No implicit sharing of loads. Sharing of loads between nodes(load
balancing).
Network OS is highly scalable. (A new machine Distributed OS is less scalable. (The process to
can be added very easily.) add new hardware is complex.)

19
Network OS vs Distributed OS

Network Operating System Distributed Operating System

Performance is badly affected if certain part of It is more reliable or fault tolerant i.e.
the hardware starts malfunctioning. distributed operating system performs even if
certain part of the hardware starts
malfunctioning.
Remote resources are accessed by either Users access remote resources in the same
logging into the desired remote machine or manner as they access local resources.
transferring data from the remote machine to
user's own machines.
Easy to Implement Difficult to Implement.
Low Transparency High Transparency

20
1.1. Characteristic 1: collection of
autonomous computing elements
• In a DS there are multiple components that may be decomposed
further.
• These components are autonomous, i.e. they possess full control over
their parts at all times.

21
1.1 Characteristic 2: single coherent system

• In a single coherent system the collection of nodes as a whole


operates the same, no matter where, when, and how interaction
between a user and the system takes place.

22
Middleware and distributed systems
• To assist the development of distributed applications, distributed
systems are often organized to have a separate layer of software that
is logically placed on top of the respective operating systems of the
computers that are part of the system.
• This organization is shown
in Fig. 1, leading to what is known as middleware.

23
1.2 Design Goals

• Making Resources Accessible


• Distribution Transparency
• Openness
• Scalability

24
1.2.1 Making Resources Accessible

• Goal → to make it easy for the users (and applications) to access


remote resources, and to share them in a controlled and efficient
way.
• Resources→ printers, computers, storage facilities, data, files, Web
pages, and networks, etc.

25
Why Resources Sharing ?

• Economic →
It is cheaper to let a printer be shared by several users in a small office
than having to buy and maintain a separate printer for each user.
Likewise, it makes economic sense to share costly resources such as
supercomputers, high-performance storage systems, imagesetters, and
other expensive peripherals.

26
Security Concern

• As connectivity and sharing increase, security is becoming


increasingly important.
• There is much room for improvement.
• Technique such as cryptographic encryption can be used while
sharing contents.

27
1.2.2 Distribution Transparency

• Goal → to hide the fact that its processes and resources are physically
distributed across multiple computers.
• In other words, it tries to make the distribution of processes and
resources transparent, that is, invisible, to end users and applications.

28
Types of Transparency

• The concept of transparency can be applied to several aspects of a


distributed system, the most important ones shown below:

29
Access Transparency

• For example, a distributed system may have computer systems that


run different operating systems, each having their own file-naming
conventions. Differences in naming conventions, differences in file
operations, or differences in how low-level communication with other
processes is to take place, are examples of access issues that should
preferably be hidden from users and applications.

30
Location Transparency

• An example of a such a name is the uniform resource locator (URL)


http://www.distributed-systems.net/index.php, which gives no clue
about the actual location of the site’s Web server. The URL also gives
no clue as to whether the file index.php has always been at its current
location or was recently moved there. F

31
Relocation Transparency

• For example, the entire site may have been moved from one (part of
a) data center to another to make more efficient use of disk space,
yet users should not notice.

32
Migration Transparency

• A typical example is communication between mobile phones:


regardless whether two people are actually moving, mobile phones
will allow them to continue their conversation.

33
Replication transparency

• For example, resources may be replicated to increase availability or to


improve performance by placing a copy close to the place where it is
accessed.

34
concurrency transparency

• For example, two independent users may each have stored their files
on the same file server or may be accessing the same tables in a
shared database. In such cases, it is important that each user does
not notice that the other is making use of the same resource.

35
Failure Transparency

• For example, when contacting a busy Web server, a browser will


eventually time out and report that the Web page is unavailable. At
that point, the user cannot tell whether the server is actually down or
that the network is badly congested.

36
1.2.3 Openness

• Open Distributed System →system that offers services according to


standard rules that describe the syntax and semantics of those
services.
• For example, in computer networks, standard rules govern the
format, contents, and meaning of messages sent and received. Such
rules are formalized in protocols. In distributed systems, services are
generally specified through interfaces, which are often described in
an Interface Definition Language (IDL).

37
1.2.4 Scalability

• Scalability of a system can be measured along at least three different


dimensions:
• A system can be scalable with respect to its size
add more users and resources to the system
• A geographically scalable system
add more users and resources to the system
• A system can be administratively scalable
it can still be easy to manage even if it spans many independent
administrative organizations.

38
1.3 Types of Distributed Systems
1 Distributed Computing Systems : Focus on computation
--Cluster Computing Systems
--Grid Computing Systems
2 Distributed Information Systems: Focus on interoperability
--Transaction Processing Systems
--Enterprise Application Integration
(Exchange info via RPC or RMI)
3Distributed Pervasive Systems (usually small, battery-powered systems, Mobile &
wireless): Focus on mobile, embedded, communicating
--Home Systems (e.g. Smart phones, PDAs)
--Electronic Health care systems (Heart monitors, BAN: Body Area Networks)
--Sensor Networks (distributed Databases connected wirelessly)

39
Cluster Computing Systems
A collection of similar workstations or PCs connected by a high‐ speed local‐area
network (LAN)
It is homogenous given that each node runs the same OS.
The ever increasing price / performance ration of computers makes it cheaper to
build a supercomputer by putting together many simple computers, rather than
buying a high-performance one.
Also, robustness is higher, maintenance and incremental addition of computing
power is easier
Usage
 Parallel programming
 Typically, a single computationally-intensive program is run in parallel on multiple
machines

40
Cluster Computing Systems

- Hooking up a collection of simple computers via high-speed


networks to build a supercomputing environment
- Mostly homogenous
- Example: server clusters at Banks
41
Grid Computing Systems
A characteristic feature of cluster computing is its homogeneity.
In most cases, the computers in a cluster are largely the same, they all have
the same operating system, and are all connected through the same network.
In contrast, grid computing systems have a high degree of heterogeneity: no
assumptions are made concerning hardware, operating systems, networks,
administrative domains, security policies, etc.
A key issue in a grid computing system is that resources from different organizations
are brought together to allow the collaboration of a group of people or institutions.

42
Grid Computing
Systems

- have a high degree of heterogeneity


-Users and resources from different organizations are
brought together to allow collaboration (i.e. a V.O. = Virtual
Organization)
- Members belonging to the same V.O. have access rights to a
common set of resources (e.g. Police and some local agencies
may form a computing grid) 43
Distributed Information Systems
1. Evolved in organizations that were confronted with
a wealth of networked applications, but for which
interoperability turned out to be problematic.
2. Many of the existing middleware solutions are the result of
working with an infrastructure in which it was easier to integrate
applications into an enterprise-wide information system.
3. Several levels at which integration took place:
▪ Several non-interoperating servers shared by a number of clients:
distributed queries, distributed transactions. Example : Transaction
Processing Systems
▪ Several sophisticated applications – not only databases, but
also processing components – requiring to directly communicate
with each other. Example. Enterprise Application Integration (EAI)

44
Transaction Processing Systems

BEGIN_TRANSACTION
salary1 = doctor1.getSalary()
doctor1.setSalary(salary1 + bonus)
salary2 = doctor2.getSalary()
doctor2.setSalary(salary2 - bonus)
END_TRANSACTION
45
Transaction Processing Systems
Characteristic:
• Atomic: The transaction happens indivisibly.

• Consistent: The transaction does not violate


system invariants.

• Isolated: Concurrent transactions do not


interfere with each other.

• Durable: Once a transaction commits, the


changes are permanent.

46
Transaction Processing Systems

47
Transaction Processing Systems

48
Enterprise Application Integration

-RPC (Remote Procedure Call)


-RMI (Remote Method Invocation)
49
Distributed Pervasive Systems
Above distributed systems characterized by their stability: nodes
are fixed and have a more or less permanent and high-quality
connection to a network.
Mobile and embedded computing devices: instability is the
default behavior.
We are now confronted with distributed systems in which
instability is the default behavior.
The devices in these, what we refer to as distributed pervasive
systems.
They are often characterized by being small, battery-powered,
mobile, and having only a wireless connection, although not all
these characteristics apply to all devices.
50
Distributed Pervasive Systems
• Embrace contextual changes
• (a phone now is a web access device. A device
must continuously be aware of the fact that
its environment may change)

• Encourage ad hoc composition


• (used differently by different users, e.g. PDA)

• Recognize sharing as the default


• (easily read, store, manage, and share info)

51
Electronic Health Care Systems

• Where and how should monitored data be stored?


• How can we prevent loss of crucial data?

• What infrastructure is needed to generate and


propagate alerts?

• How can physicians provide online feedback?

• How can extreme robustness of the monitoring


system be realized?

• What are the security issues and how can the proper
policies be enforced?
52
Electronic Health Care Systems (2)

Monitoring a person in a pervasive electronic


health care system, using (a) a local hub or - (b) a
continuous wireless connection.
53
Sensor Networks (1)
• How do we (dynamically) set up an
efficient tree in a sensor network?

• How does aggregation of results take


place? Can it be controlled?

• What happens when network links fail?

54
Sensor Networks (2)

Organizing a sensor network database, while


storing and processing data (a) only at the
operator’s site or …
55
Sensor Networks (3)

Organizing a sensor network database, while storing


and processing data … or (b) only at the sensors.
56
Features and Requirements of Distributed Pervasive Systems
Features:
▪General lack of human administrative control ·
▪Devices can be configured by their owners
▪They need to automatically discover their
environment and fit in as best as possible

Requirements for pervasive applications


▪Embrace contextual changes
▪Encourage ad hoc composition
▪Recognize sharing as the default

57
Distributed Operating System Architecture

A distributed system organized as Middleware.


The middleware layer runs on all machines, and offers a uniform
interface to the system.
Middleware is software which lies between an operating system
and the applications running on it.

58
CASE STUDY: The World Wide Web

WWW stands for World Wide Web. A technical


definition of the World Wide Web is : all the
resources and users on the Internet that are using the
Hypertext Transfer Protocol (HTTP).
A broader definition comes from the organization
that Web inventor Tim Berners-Lee helped found,
the World Wide Web Consortium (W3C).
The World Wide Web is the universe of network-
accessible information, an embodiment of human
knowledge.
In simple terms, The World Wide Web is a way of
exchanging information between computers on the
Internet, tying them together into a vast collection of
interactive multimedia resources.
Note: Internet and Web is not the same thing: Web
uses internet to pass over the information.

59
CASE STUDY: The World Wide Web

The World Wide Web [www.w3.org I, Berners-Lee 1991] is an evolving system for publishing
and accessing resources and services across the Internet. Through commonly available web
browsers, users retrieve and view documents of many types, listen to audio streams and
view video streams, and interact with an unlimited set of services.
The Web began life at the European center for nuclear research (CERN), Switzerland, in
1989 as a vehicle for exchanging documents between a community of physicists connected
by the Internet [Berners-Lee 1999]. A key feature of the Web is that it provides a hypertext
structure among the documents that it stores, reflecting the users’ requirement to organize
their knowledge. This means that documents contain links (or hyperlinks) – references to
other documents and resources that are also stored in the Web.
The Web is an open system: it can be extended and implemented in new ways without
disturbing its existing functionality.
 First, its operation is based on communication standards and document or content
standards that are freely published and widely implemented.
 Second, the Web is open with respect to the types of resource that can be published
and shared on it.

60
WWW Operation

WWW works on client- server


approach. Following steps explains how
the web works:

1.User enters the URL


(say, http://www.ambition.com) of the
web page in the address bar of web
browser.

2.Then browser requests the Domain


Name Server for the IP address
corresponding to www.ambition.com.

61
WWW Operation

3.After receiving IP address, browser sends the


request for web page to the web server using HTTP
protocol which specifies the way the browser and
web server communicates.
4.Then web server receives request using HTTP
protocol and checks its search for the requested
web page. If

found it returns it back to the web


browser and close the HTTP connection.
5.Now the web browser receives the
web page, It interprets it and display the
contents of web page in web browser’s
window.

62
WWW Operation

63
Components of WWW

1.Client/Browser
2.Server
3. URL
4. HTML
5. XML

64
1.Client/Browser
 The Client/Web browser is basically a program that is used to communicate with the
webserver on the Internet.
 Each browser mainly comprises of three components and these are:
▪ Controller
▪ Interpreter
▪ Client Protocols
 The Controller mainly receives the input from the input device, after that it uses the
client programs in order to access the documents.
 After accessing the document, the controller makes use of an interpreter in order to
display the document on the screen.
 An interpreter can be Java, HTML, javascript mainly depending upon the type of the
document.
 The Client protocol can be FTP, HTTP, TELNET.

65
2.Server
 The Computer that is mainly available for the network resources and in order to
provide services to the other computer upon request is generally known as the server.
 The Web pages are mainly stored on the server.
 Whenever the request of the client arrives then the corresponding document is sent to
the client.
 The connection between the client and the server is TCP.
 It can become more efficient through multithreading or multiprocessing. Because in
this case, the server can answer more than one request at a time.

66
3.URL
URL is an abbreviation of the Uniform resource locator.
It is basically a standard used for specifying any kind of information on the Internet.
In order to access any page the client generally needs an address.
To facilitate the access of the documents throughout the world HTTP generally makes use of
Locators.
URL mainly defines the four things:
 Protocol It is a client/server program that is mainly used to retrieve the document. A
commonly used protocol is HTTP.
 Host Computer It is the computer on which the information is located. It is not
mandatory because it is the name given to any computer that hosts the web page.
 Port The URL can optionally contain the port number of the server. If the port number
is included then it is generally inserted in between the host and path and is generally
separated from the host by the colon.
 Path It indicates the pathname of the file where the information is located.

67
4.HTML
HTML is an abbreviation of Hypertext Markup Language.
It is generally used for creating web pages.
It is mainly used to define the contents, structure, and organization of the
web page.

68
5.XML
XML is an abbreviation of Extensible Markup Language. It mainly helps in order to define
the common syntax in the semantic web.

69
Features of WWW

Given below are some of the features provided by the World Wide
Web:

Provides a system for Hypertext information


Open standards and Open source
Distributed.
Mainly makes the use of Web Browser in order to provide a single interface
for many services.
Dynamic
Interactive
 Cross-Platform

70
Advantages of WWW
Given below are the benefits offered by WWW:

It mainly provides all the information for Free.


Provides rapid Interactive way of Communication.
It is accessible from anywhere.
It has become the Global source of media.
It mainly facilitates the exchange of a huge volume of data.

71
Disadvantages of WWW

There are some drawbacks of the WWW and these are as follows;

It is difficult to prioritize and filter some information.


There is no guarantee of finding what one person is looking for.
There occurs some danger in case of overload of Information.
There is no quality control over the available data.
There is no regulation.

72
CASE STUDY: The World Wide Web

WWW is the huge collection of pages of information linked to each other around one globe.
Web page is the collection of text, images, video, audio, animation and hyperlink.

There are two types of web:


 1. Static web: Information site. Eg. Personal website
 2. Dynamic web: Interactive site. Eg. Commercial website, Government website

73
CASE STUDY: The World Wide Web

Publishing a resource:
While the Web has a clearly defined model for accessing a resource from
its URL, the exact methods for publishing resources on the Web are
dependent upon the web server implementation.
 In terms of low-level mechanisms, the simplest method of publishing a
resource on the Web is to place the corresponding file in a directory that
the web server can access.

74
CASE STUDY: The World Wide Web

▪ Web application: Web applications are run into browser through


URL.
▪ Types:
1. Service Oriented: it is used to implement web services. It is coded into CGI, JSP,
ASP, etc.
 JSP stands for Java Server Pages, which helps developers to create dynamically
web pages based on HTML, XML, or other types.
 ASP stands for Active Server Pages, which is used in web development to
implement dynamic web pages.
 CGI stands for Common Gateway Interface, It is a technology that enables a
web browser to submit forms and connect to programs over a webserver. It is
the best way for a webserver to send forms and connect to programs on the
server .

75
CASE STUDY: The World Wide Web

2. Presentation oriented:


It provides client side services. They are coded using HTML, XML,
JavaScript, etc.
Web architecture:
▪ WWW follows the 2 tier architecture.
▪ It is combination of webserver and web client.
▪ Webserver produce and deliver the information.
▪ Web client retrieve and display information.

76

You might also like