introduction dr. ying lu [email protected] csce455/855 distributed operating systems
Post on 20-Dec-2015
220 views
TRANSCRIPT
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
Giving credit where credit is due:
CSCE455/855 Distributed Operating Systems
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
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)
Centralized Solutions: Obstacles for Achieving Size Scalability
Examples of scalability limitations.
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
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
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) Rent computing resources by the hour Basic unit of accounting = instance-hour Additional costs for bandwidth
Simple Storage Service (S3) Persistent storage Charge by the GB/month Additional costs for bandwidth
You’ll be using EC2 for a programming assignment!
1.4 Internet
intranet
ISP
desktop computer:
backbone
satellite link
server:
network link:
37
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
1.4.2 Web Servers and Web Browsers
Internet
BrowsersWeb servers
www.google.com
www.uu.se
www.w3c.org
Protocols
Activity.html
http://www.w3c.org/Protocols/Activity.html
http://www.google.comlsearch?q=lyu
http://www.uu.se/
File system ofwww.w3c.org
39
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012