CSCE455/855 Distributed Operating Systems Introduction

Download Report

Transcript CSCE455/855 Distributed Operating Systems Introduction

CSCE455/855 Distributed Operating Systems
Introduction
Dr. Ying Lu
[email protected]
CSCE455/855 Distributed Operating Systems
Giving credit where credit is due:

Most of the lecture notes are from the textbook
companion website
Some of the lecture notes are based on slides
created by Dr. Zahorjan at Univ. of Washington
and Dr. Konev at Univ. of Liverpool
 I have modified them and added new slides

What is an Operating System?

The text:



“an intermediary between the user of a computer
and the computer hardware”
“manages the computer hardware”
“an amazing aspect of operating systems is how
varied they are in accomplishing these tasks …
mainframe operating systems … personal
computer operating systems … operating systems
for handheld computers …”
What is an Operating System?

An operating system (OS) is:


a software layer to abstract away and manage details
of hardware resources
a set of utilities to simplify application development
Applications
OS
Hardware
Course Aims

Provide an understanding of the technical
issues involved in the design of modern
distributed (operating) systems

Appreciate the main principles underlying
distributed systems: processes,
communication, naming, synchronization,
replication and consistency, fault tolerance,
and security
What is a distributed system?
&
What are the design goals?
What is distribution transparency?
Transparency in a Distributed System
Openness in Distributed Systems

An open distributed system



Offers services according to standard rules that describe
syntax and semantics of the services
Can interact with services from other open systems,
irrespective of the underlying environment
Examples


In computer networks, standard rules govern the format,
contents and meaning of messages sent and received
In distributed systems, services are specified through
interface description language (IDL)
So, what is Scalability?
How to make a system scale?
Centralized Solutions: Obstacles for
Achieving Size Scalability
Concept
Example
Centralized services
A single server for all users
Centralized data
A single on-line telephone book
Centralized
algorithms
Doing routing based on complete
information
Examples of scalability limitations.
Characteristics of Decentralized
Algorithms

No machine has complete information about the system state

Machines make decisions based only on local information

Failure of one machine does not ruin the algorithm

Three is no implicit assumption that a global clock exists
• Internet/World Wide Web
Cloud Computing
A cloud is an elastic
execution environment
of resources providing a
metered service at
multiple granularities.
On-demand resource
allocation: add and
subtract processors,
memory, storage.
Amazon Web Services

Elastic Compute Cloud (EC2)




Simple Storage Service (S3)




Rent computing resources by the hour
Basic unit of accounting = instance-hour
Additional costs for bandwidth
Persistent storage
Charge by the GB/month
Additional costs for bandwidth
You’ll be using EC2 for a programming assignment!
What are ACID properties? What
do A, C, I, and D represent?
1.4 Internet
intranet
%
ISP
%
%
%
backbone
satellite link
desktop computer:
server:
network link:
37
Instructor’s Guide for
Coulouris, Dollimore, Kindberg and Blair,
and Design
Edn. 5
© Pearson Education 2012
Distributed Systems: Concepts
1.4.1 World-Wide-Web
38
1.4.2 Web Servers and Web
Browsers
www.google.com
http://www.google.comlsearch?q=lyu
Browsers
Web servers
Internet
www.uu.se
http://www.uu.se/
www.w3c.org
File system of
www.w3c.org
http://www.w3c.org/Protocols/Activity.html
Protocols
Activity.html
Instructor’s Guide for
Coulouris, Dollimore, Kindberg and Blair,
and Design
Edn. 5
© Pearson Education 2012
39
Distributed Systems: Concepts
Announcement

To build our class roster

Send our TA Weiyue Xu (weiyue AT cse.unl.edu)
an email with subject “CSCE455/855 roster”, your
photo (<2MB) and your name by this Saturday