National Institute of Technology Rourkela

राष्ट्रीय प्रौद्योगिकी संस्थान राउरकेला

ଜାତୀୟ ପ୍ରଯୁକ୍ତି ପ୍ରତିଷ୍ଠାନ ରାଉରକେଲା

An Institute of National Importance

Syllabus

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