ENEE 759I: Operating Systems
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.
ENEE459S(488S) or equivalent.
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.
- A. Tanenbaum, Modern Operating Systems, Prentice-Hall, 1992.
- A. Silberschatz, J.L. Peterson, and P.B. Galvin, Operating
Systems Concepts, 3rd edition, Addison-Wesley, 1991.
- L. Bio and A. Shaw, The Logical Design of Operating
Systems, 2nd edition, Prentice-Hall, 1988.
- Process management, interprocess communication, formal
verification of interprocess communication, scheduling in single and
multi-processor systems; deadlock prevention, avoidance, detection and
- Memory management, fragmentation, virtual memory management; I/O
management, disk scheduling;
- Naming and directory systems; File systems, access methods,
caching, file-cache management, continuous media file systems,
log-structured file systems, file recovery;
- Communication in distributed systems, protocols, remote
- Synchronization in distributed systems, mutual exclusion, clock
synchronization, atomic transactions, election algorithms, deadlock
- Distributed file systems, directory servers, file caching,
replication, semantics of file sharing.
- Group communication in distributed systems; determination of
process and site membership in distributed system.
- Processor allocation in distributed systems, system models.
- Fault tolerant protocols, atomic broadcast.
- Distributed systems security, cryptographic protocols, formal
analysis of secure protocols.