Introduction Dr. Ying Lu CSCE455/855 Distributed Operating Systems
n Most of the lecture notes are from the textbook companion website companion website n Some of the lecture notes are based on slides created by Dr. Zahorjan at Univ. of Washington and Dr. Konev at Univ. of Liverpool n I have modified them and added new slides Giving credit where credit is due: CSCE455/855 Distributed Operating Systems
What is an Operating System? l The text: n “an intermediary between the user of a computer and the computer hardware” n “manages the computer hardware” n “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? l An operating system (OS) is: n a software layer to abstract away and manage details of hardware resources n a set of utilities to simplify application development Applications OS Hardware
Course Aims l Provide an understanding of the technical issues involved in the design of modern distributed (operating) systems l 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 l An open distributed system n Offers services according to standard rules that describe syntax and semantics of the services n Can interact with services from other open systems, irrespective of the underlying environment l Examples n In computer networks, standard rules govern the format, contents and meaning of messages sent and received n 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 Examples of scalability limitations. ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line telephone book Centralized algorithms Doing routing based on complete information
Characteristics of Decentralized Algorithms l No machine has complete information about the system state l Machines make decisions based only on local information l Failure of one machine does not ruin the algorithm l 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 l Elastic Compute Cloud (EC2) n Rent computing resources by the hour n Basic unit of accounting = instance-hour n Additional costs for bandwidth l Simple Storage Service (S3) n Persistent storage n Charge by the GB/month n Additional costs for bandwidth l You’ll be using EC2 for a programming assignment!
What are ACID properties? What do A, C, I, and D represent?
1.4 Internet 37 Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012
1.4.1 World-Wide-Web 38
1.4.2 Web Servers and Web Browsers Internet Browsers Web servers Protocols Activity.html File system of 39 Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012
Announcement l To build our class roster n Send our TA Weiyue Xu (weiyue AT cse.unl.edu) an with subject “CSCE455/855 roster”, your photo (<2MB) and your name by this Saturday