Course Details
Subject {L-T-P / C} : CS4430 : Distributed Operating Systems { 3-0-0 / 3}
Subject Nature : Theory
Coordinator : Prof. Bibhudatta Sahoo
Syllabus
Functions of an Operating System, Design Approaches, Review of Network Operating System and Distributed Operating System, Issue in the design of Distributed Operating System, Overview of Computer Networks, Modes of communication, System Process, Interrupt Handling, Handling Systems calls, Protection of resources, Micro-Kernel Operating System, client server architecture
The Critical Section Problem, Other Synchronization Problems, Language Mechanisms for Synchronization, Axiomatic Verification of Parallel Programs, Inter process communication (Linux IPC Mechanism), Remote Procedure calls, RPC exception handling, security issues, RPC in Heterogeneous Environment, Case studies.
Logical clocks, Physical clocks, Vector Clock, clock synchronization algorithms, Mutual Exclusion, Non-Token Based Algorithms – Lamport’s Algorithm, Token-Based Algorithms, Suzuki-Kasami’s Broadcast Algorithm, Election Algorithms, Dead locks in Distributed Systems, Thrashing, Resource Management (Load Balancing approach, Load Sharing approach), Process Management, process Migration, Thread, and Case studies.
Overview of shared memory, Architecture, Algorithm, Protocols, Design Issues, consistency model, Page based Distributed Shared Memory, Shared variable Distributed shared Memory, and Object based Distributed shared Memory, Heterogeneous DSM, Distributed Scheduling, Issues, Components, Algorithms Case studies.
File models, File access, File sharing, file-caching, File Replication, Features of Naming system terminologies and concepts of naming, fault Tolerance, Network File System (case study), 8NFS on Linux Directory Services, Security in Distributed File system, Tools (Cuda, Swift, Globus, Condor, Amazon AWS, OpenStack, Cilk, gdb, threads, MPICH, OpenMP, Hadoop, FUSE), Case studies.
Course Objectives
- Learning The Basic Concepts of Distributed Operating System
- To examine the fundamental principles of distributed systems, and provide students hands-on experience in developing distributed protocols
- Examine methods that have emerged from the field of distributed operating systems in an application perspective
- Learning the concepts of communication, process, naming, synchronization, consistency and replication, and fault tolerance issues in distributed operating systems
Course Outcomes
Understand the hardware and software concepts of distributed operating systems, various design issues like transparency, flexibility etc., and communication and synchronization in distributed operating systems. <br />Understand scheduling in distributed operating systems, fault tolerance, real-time distributed systems, and designing of distributed file systems. <br />Understand the concept of design and implementation in the context of distributed operating systems. <br />demonstrate the Mutual exclusion, Deadlock detection and agreement protocols of Distributed operating system <br />Discuss the various resource management techniques for distributed systems
Essential Reading
- MukeshSinghal and Niranjan G. Shivaratri, Advanced Concepts in Operating Systems –Distributed, Database, and Multiprocessor Operating Systems, Tata McGraw-Hill
- Andrew S. Tanenbaum & Maarten van Steen, Distributed Systems: Principles and Paradigms, Prentice Hall of India
Supplementary Reading
- G. Coulouris, J. Dollimore, and T. Kindberg, Distributed Systems: Concepts & Design, Addison-Wesley
- P. K. Sinha, Distributed Operating Systems: Concepts and Design, IEEE press