ENEE 759I: Operating Systems


(Formerly 648I.)

Course Goals:

This course presents basic topics of both centralized and distributed operating systems. In particular, it reviews concepts of centralized operating systems including process management, memory management, I/O management, naming and directory systems, file systems, protection and security in operation systems. In the distributed systems area, this course presents topics of communication protocols, models of interprocess synchronization and communication primitives; remote procedure call protocols; electronic mail and store-and-forward communication; deadlock handling in distributed systems; transaction management in distributed file systems; recovery and fault-tolerance; protection and communication security.

Course Prerequisites:

ENEE459S(488S) or equivalent.

Topics Prerequisites:

Basic understanding of computer architecture and operating systems topics including I/O architecture, process, memory management, memory addressing and virtual memory architectures. The student is expected to have some basic knowledge of the operating systems functions and to have used at least one operating system.

References:

  1. A. Tanenbaum, Modern Operating Systems, Prentice-Hall, 1992.
  2. A. Silberschatz, J.L. Peterson, and P.B. Galvin, Operating Systems Concepts, 3rd edition, Addison-Wesley, 1991.
  3. L. Bio and A. Shaw, The Logical Design of Operating Systems, 2nd edition, Prentice-Hall, 1988.

Core Topics:

  1. Process management, interprocess communication, formal verification of interprocess communication, scheduling in single and multi-processor systems; deadlock prevention, avoidance, detection and recovery;
  2. Memory management, fragmentation, virtual memory management; I/O management, disk scheduling;
  3. Naming and directory systems; File systems, access methods, caching, file-cache management, continuous media file systems, log-structured file systems, file recovery;
  4. Communication in distributed systems, protocols, remote procedure calls;
  5. Synchronization in distributed systems, mutual exclusion, clock synchronization, atomic transactions, election algorithms, deadlock handling;
  6. Distributed file systems, directory servers, file caching, replication, semantics of file sharing.

Optional Topics:

  1. Group communication in distributed systems; determination of process and site membership in distributed system.
  2. Processor allocation in distributed systems, system models.
  3. Fault tolerant protocols, atomic broadcast.
  4. Distributed systems security, cryptographic protocols, formal analysis of secure protocols.

Last Updated:

Spring 1993.