370 likes | 525 Views
CS551 Distributed Operating Systems. Colorado State University at Lockheed-Martin Lecture 1 -- Spring 2001. CS551: Lecture 1. Topics Introduction; Syllabus; G-25 Forms Homework; Reading Reports; Project Galli : Chapters 1, 2, 3, 4, 5, 7, 8 (maybe), 10
E N D
CS551Distributed Operating Systems Colorado State University at Lockheed-Martin Lecture 1 -- Spring 2001
CS551: Lecture 1 • Topics • Introduction; Syllabus; G-25 Forms • Homework; Reading Reports; Project • Galli: Chapters 1, 2, 3, 4, 5, 7, 8 (maybe), 10 • Some networking topics included in course • What is a distributed system? A network? • What is a protocol? • ISO OSI Protocol • TCP/IP CS-551, Lecture 1
What is a distributed system? • A collection of independent computers • A communication facility to pass messages • No shared memory • No shared clock • Each computer has its own operating system CS-551, Lecture 1
Why have distributed systems? • Price / Performance • Resource sharing • Faster response time • Improved reliability • Modular expandability CS-551, Lecture 1
Distributed system organizations • Microcomputer model • several multiuser systems • Workstations/PCs model • each user has own WS/PC to do work • each user shares files and other resources • Processor pool model • LANs, MANs, WANs, WWW CS-551, Lecture 1
Figure 1.1 Computers in a Networked Environment. (Galli, p. 3) CS-551, Lecture 1
Figure 1.2 Connecting LAN Subnets with a Backbone.(Galli, p.6) CS-551, Lecture 1
Figure 1.3 Common Wired LAN Topologies. (Galli, p.7) CS-551, Lecture 1
Distributed Operating Systems • Appears to users as a single system on a single machine • A virtual uniprocessor • Users do not know where files are located • Users don’t know where jobs are executed CS-551, Lecture 1
Issues in Distributed O.S. • Global Knowledge • Naming • Scalability • Compatibility • Process synchronization • Resource management • Security • Structuring CS-551, Lecture 1
Issues: Global Knowledge • Unable to determine up-to-date global state • no global memory • no common clock • unpredictable message delays • Need device-efficient distributed control • e.g. how to get a concensus • Need method for ordering events CS-551, Lecture 1
Issues: Naming • All objects are named • Need to map name onto its location • Need a directory (or directories) • replicated (to maintain consistency) • versus • partitioned (which partition helps me?) CS-551, Lecture 1
Issues: Scalability, Process Synch • Scalability • Can system grow without performance degradation? • Want to avoid centralized components • Process synchronization • Enforce mutual exclusion to shared resources • Deal with potential for deadlock CS-551, Lecture 1
Issues: Compatibility • Possible at different levels • Binary level: all processing elements run same binary code • Execution level: same source code can be compiled and run on all nodes • Protocol level: all processing elements support same protocols CS-551, Lecture 1
Issues: Resource management • Data migration: bring data to the location • distributed file system • distributed shared memory • Computation migration • e.g. RPC • e.g. send a query for info computed remotely instead of requesting raw data • Distributed scheduling • process migration CS-551, Lecture 1
Issues: Security • Authentication • verify user identification • Authorization • determine user privileges CS-551, Lecture 1
Issues: Structuring • Monolithic kernel • each node doesn’t need entire kernel • Collective kernel • O.S. services are processes • microkernel supports messages between such processes • Object-oriented • O.S. services are a collection of objects CS-551, Lecture 1
Client-Server vs. Peer-To-Peer • Client-Server • Similar to collective kernel distributed O.S. • Servers respond to requests from clients • Peer-to-Peer • An extension of client/server model • A many-to-many relationship between nodes CS-551, Lecture 1
Figure 1.6 Client/Server Model. (Galli, p.13) CS-551, Lecture 1
Figure 1.7 Peer-to-Peer Model.(Galli, p.14) CS-551, Lecture 1
What is a network? • A form of a distributed system • Connected nodes may be homogeneous or heterogeneous • Nodes may be some distance apart • A network may consist of other networks • LANs, MANs, WANs • The Internet is a WAN: the WWW CS-551, Lecture 1
Layered Network Models • Used to describe network functions • Used to reduce network complexity • Each layer logically communicates with the corresponding layer on the remote host • Messages • enveloped while passed down through the local host layers • stripped down to original message while passed up through remote host layers CS-551, Lecture 1
Networks: Layered Models virtual path Application Layer Application Layer virtual path O.S. Layer O.S. Layer physical path Interconnect Layer Interconnect Layer CS-551, Lecture 1
What is a protocol? • A set of rules • A method for • establishing a connection between two sites • sending a communication over the connection • acknowledging receipt of message • terminating the connection • Example: a telephone call • Examples: ISO/OSI; TCP/IP; UDP; SMTP CS-551, Lecture 1
ISO / OSI Protocol • Probably most popular network protocol model • Implementation often takes efficiency-related shortcuts • Includes seven layers, grouped into 3 types • application • operating system • communication service CS-551, Lecture 1
OSI / ISO Layers • Application • Application layer -- user programs • Presentation layer -- common data transformations • Operating system • Session layer -- process-to-process communication • Transport layer -- reliable host-to-host communication CS-551, Lecture 1
ISO / OSI Layers, continued • Communication service • Network layer -- packets, routing • Data Link layer -- reliability, flow control • Physical layer -- hardware to move a bit stream between nodes • Needed by any network node, even a store-and-forward node • May exist partly as hardware CS-551, Lecture 1
Figure 1.4 The ISO/OSI Reference Model. (Galli, p. 9) CS-551, Lecture 1
ISO/OSI Layers: Application • Miscellaneous applications • FTP (file transfer protocol) • remote login: rlogin • browsers: Netscape, Internet Explorer • email (via SMTP) • RJE (remote job entry) CS-551, Lecture 1
ISO/OSI Layers: Presentation • Common data transformations • data compression • encryption • big/little Endian CS-551, Lecture 1
ISO/OSI Layers: Session • Process-to-Process Communication • buffering • Some synchronization • synchronous data communication CS-551, Lecture 1
ISO/OSI Layers: Transport • Reliable site-to-site communication CS-551, Lecture 1
ISO/OSI Layers: Network • Logical path for communication • converts frames --> packets --> frames • X.25 connection-oriented • IP connectionless • used for WANs; redundant for LANs CS-551, Lecture 1
ISO/OSI Layers: Data Link • Reliable data transmission • message goes out in frames • character count -- header specifies length • character stuffing -- special character at end • bit stuffing -- special bit sequence at end • on LANs can put out a special synch signal • adds a checksum to trailer to detect errors CS-551, Lecture 1
ISO/OSI Layers: Data Link, cont. • Flow control • synchronizes message passing activity • stop-and-wait -- sender waits for receiver’s permission (inefficient for large transmissions) • sliding window -- allows several outstanding unacknowledged frames (needs sequence #s) • HDLC (high level data link control) -- balanced, permits two-way simultaneous message passing, acknowledgments in frame headers, errors results in resend requests CS-551, Lecture 1
ISO/OSI Layers: Physical • Raw bit-stream communication • circuit switching • reserves a fixed communication at start • releases path at end • best for long, continuous stream • packet switching • demands access when ready to send packet of info • packet may contain 10 - 1000 bytes • may need several packets • best for bursty, short communication CS-551, Lecture 1
Figure 1.5 TCP/IP Relationship to ISO/OSI Reference Model.(Galli, p. 12) CS-551, Lecture 1