CS550 • Distributed Operating Systems (Advanced Operating Systems) • Instructor: Xian-He Sun – Email: sun@iit.edu, Phone: (312) 567-5260 – Office hours: 2:10pm-3:10pm Tuesday, 3:30pm-4:30pm Thursday at SB229C, or by appointment • TA: Mr. Cui, Zongjie – Email: cuizong@iit.edu – Office hours: TBA • Blackboard: – http://courseinfo.iit.edu • Class Web site – http://www.cs.iit.edu/~sun/cs550.html X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 1 Pre-record Today, 6:25-4:40pm, SB231 X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 2 Hardware Concepts Parallel and Distributed Systems tightly coupled loosely coupled Multicomputers (slow hw network) Multiprocessors (fast hw network) Shared-Memory Multiprocessors UMA NUMA Distributed-Memory Multiprocessors Homogeneous Multicomputers Network of Workstation Workstation Cluster Heterogeneous Multicomputers PC Cluster Distributed Systems X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 3 Software Concepts User applications Virtual machine interface Operating system Physical machine interface Hardware • Operating system: – Interface between users and hardware – Implements a virtual machine that is easier to program than raw hardware • Primary functions: – Services: file system, virtual memory, networking, CPU scheduling, … – Coordination: concurrency, memory protection, security, networking,… X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 4 Uniprocessor Operating Systems Microkernel architecture • Small kernel • user-level servers implement additional functionality X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 5 Multiprocessor Operating Systems • Like a uniprocessor operating system • Manage multiple CPUs transparently to the user • Each processor has its own hardware cache – Maintain consistency of cached data • Shared variable versus message passing X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 6 Multicomputer Operating Systems • More complex than multiprocessor OS – Because communication has to be through explicit message passing 1.14 X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 7 Network Operating System 1-19 X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 8 Network Operating System • Employs a client-server model – Minimal OS kernel – Additional functionality as user processes 1-20 X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 9 Network-Operating Systems • Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by – Remote logging into the appropriate remote machine. – Transferring data from remote machines to local machines, via the File Transfer Protocol (FTP) mechanism. X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 10 Distributed Operating System • Users not aware of multiplicity of machines. • Manages resources in a distributed system – Seamlessly and transparently to the user • Looks to the user like a centralized OS – But operates on multiple independent CPUs • Provides transparency – Location, migration, concurrency, replication,… • Presents users with a virtual uniprocessor X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 11 Middleware-based Systems • General structure of a distributed system as middleware. 1-22 X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 12 What is Middleware ¾ ¾ ¾ Software above the operating system but below the application program Middleware refers to the software that is common to multiple applications and builds on the network transport services to enable ready development of new applications and network services CORBA, DCOM, Java RMI, Grid X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 13 Middleware Layer X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 14 Technical Challenges • The changing environment – Computing world has changed and middleware has to adapt to this ever changing environment • Architecture – New technological advances impose changes in established middleware architecture • Dynamic configuration – Dynamic changes in system configuration will be inherent characteristics of future computing environments. X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 15 X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 16 Any Questions? X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 17 Questions? •What is the difference between operating system and (software) system? •What is the difference between network OS and Distributed OS? •What is the difference between Distributed OS and Distributed (software) system? •What is middleware? •What is the difference between middleware and Distributed (software) system? X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 18 Structure of OSs Five major intellectual achievements • Processes • Memory management • Information protection and security • Scheduling and resource management • System structure X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 19 Process A process is an active entity and is realized by data structure • Process space: each process is assigned a virtual address space – Text region, the code being executed by the process – Data region, holding global variables – Stack region, holding execution context of the program • Threat – User-level threat, system-level threat X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 20 X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 21 Memory Management • Main-memory management • Second-storage management • I/O system • Virtual Memory: allows program to address memory without regard to the amount of main memory physically available X.Sun (IIT) CS550: Distributed OS Lecture 1 Page 22