OS Qual Detailed Notes

Note, warning, etc:

  1. Some notes are just modification or extension of Remzi's or Brian's notes

  2. Marv's notes are abridged version of his great lecture note of CS537

Memory Management

My paraphrasing of Marv's Note - notes of memory management is also linked from this

P. J. Denning, The Working Set Model of Program Behavior, Communications of the ACM, May 1968, pages 323-333

R. Carr and J. Hennessy, WSCLOCK - A Simple and Effective Algorithm for Virtual Memory Management, Proceedings of the Eighth ACM Symposium on Operating System Principles, December 1981, pages 87-95

A. Bensoussan, C. T. Clingen, and R. C. Daley, The Multics Virtual Memory: Concepts and Design, Communications of the ACM, May 1972, pages 308-318

R. S. Fabry, Capability-Based Addressing, Communications of the ACM, July 1974, pages 403-412

O. Babaoglu and W. Joy, Converting a Swap-Based System to do Paging in an Architecture Lacking Page-Reference Bits, Proceedings of the Eighth ACM Symposium on Operating System Principles, December 1981, pages 78-86

Synchronization and communication

Unix Process, thread, and synchronization (Scheduler Activation) - Marv's Note of process synchronization also included
T. E. Anderson, B. N. Bershad, E. D. Lazowska, and H. M. Levy, Scheduler Activations: Effective Kernel Suport for the User-Level Management of Parallelism, ACM Transactions on Computer Systems, February 1992, pages 53-79
B. N. Bershad, T. E. Anderson, E. D. Lazowska, and H. M. Levy, Lightweight Remote Procedure Call, ACM Transactions on Computer Systems, February 1990, pages 37-55
B. W. Lampson and D. D. Redell, Experiences with Process and Monitors in Mesa, Communications of the ACM, February 1980, pages 105-117
C. A. R. Hoare, Communicating Sequential Processes, Communications of the ACM, August 1978, pages 666-677

Protecting and security

Marv's Note
F. T. Gramp and R. H. Morris, UNIX Operating System Security, AT&T Bell Laboratories Technical Journal, October 1984, pages 1649-1672
A. K. Jones and W. A. Wulf, Towards the Design of Secure Systems, Software - Practice and Experience, 1975, pages 321-336.
G. J. Popek and C. S. Kline, Encryption and Secure Computer Networks, ACM Computing Surveys, December 1979, pages 331-356. Only sections 1-3
J. G. Steiner, C. Neuman, and J. I. Schiller, Kerberos: A Authentication Service for Open Network Systems, USENIX 1988, February 1998, pages 191-202
B. Lampson, M. Abadi, M. Burrows, and E. Wobber, Authentication in Distributed Systems: Theory and Practice, Proceedings of the Thirteenth ACM Symposium on Operating Systems Principles, October 13-16, 1991, pages 165-182

File systems

Unix File System
M. K. McKusick, W. N. Joy, S. J. Leffler, and R. S. Fabry, A Fast File System for UNIX, ACM Transactions on Computer Systems, August 1984, pages 181-197
I recommend you to read Remzi's note
M. Rosenblum and J. K. Ousterhout, The Design and Implementation of a Log-Structured File System, Proccedings of the Thirteenth ACM Symposium on Operating System Principles, October 13-16, 1991, pages 1-15
I recommend you to read Remzi's note after reading my note
Distributed File System, notes about NFS and AFS and more
J. H. Howard, M. L. Kazar, S. G. Menees, D.A. Nichols, M. Satyanarayanan, R. N. Sidebotham, and M. J. West, Scale and Performance in a Distributed File System, ACM Transactions on Computer Systems, February 1988, pages 51-81
V. Srinivasan and J. C. Mogul, Spritely NFS: Experiements with cache-consistency protocols, Proceedings of the Twelfth ACM Symposium on Operating Systems Principles, December 3-6, 1989, pages 45-57
B. Walker, G. Propek, R. English, C. Kline, and G. Thiel, The LOCUS Distributed Operating System, Proceedings of the Ninth ACM Symposium on Operating Systems Principles, October 10-13, 1983, pages. 49-70
J. J. Kistler and M. Satyanarayanan, Disconnected Operation in the Coda File System, Proceedings of the Twelfth ACM Symposium on Operating Systems Principles, December 3-6, 1989, pages 213-225
J. G. Mitchell and J. Dion, A Comparison of Two Network-Based File Servers, Communications of the ACM, April 1981, pages 233-245

Distributed systems

A. D. Birrell, R. Levin, R. M. Needham, and M. D. Schroeder, Grapevine: An Exercise in Distributed Computing, Communications of the ACM, April 1982, pages 260-274
A. D Birrell and B. J Nelson, Implementing Remote Procedure Calls, ACM Transactions on Computer Systems, February 1984, pages 39-59
D. R Cheriton and W. Zwaenepoel, The Distributed V Kernel and its Performance for Diskless Workstations, Proceedings of the Ninth ACM Symposium on Operating Systems Principles, October 10-13, 1983, pages 128-139
L. Lamport, Time, Clocks, and the Ordering of Events in a Distributed System, Communications of the ACM, July 1978, pages 558-564
K. M. Chandy and L. Lamport, Distributed Snapshots: Determining Global States of Distributed Systems, ACM Transactions on Computer Systems, February 1985, pages 63-75
K. Birman, A. Schiper, and P. Stephenson, Lightweight Causal and Atomic Group Multicast, ACM Transactions on Computer Systems, August 1991, pages 272-314
K. Li and P. Hudak, Memory Coherence in Shared Virtual Memory Systems, ACM Transactions on Computer Systems, November 1989, pages 321-359

Kernels

D. D. Redell, Y. K. Dalal, T. R. Horsley, H. C. Lauer, W. C. Lynch, P. R. McJones, H. G. Murray, and S. C. Purcell, Pilot: An Operating System for a Personal Computer, Communications of the ACM, February 1980, pages 81-92

H. Massalin and C. Pu, Threads and Input/Output in the Synthesis Kernel, Proceedings of the Twelfth ACM Symposim on Operating System Principles, December 3-6, 1989, pages 191-201

M. Young, A. Tevanian, R. Rashid, D. Golub, J. Eppinger, J. Chew, W. Bolosky, D. Black, and R. Baron, The Duality of Memory and Communication in the Implementation of a Multiprocessor Operating System, Proceedings of the Eleventh ACM Symposium on Operating System Principles, November 8-11, 1987, pages 63-76

B. N Bershad, S. Savage, P. Pardyak, E. G. Sirer, M. E. Fiuczynski, D. Becker, C. Chambers, and S. Eggers, Extensibility, Safety and Performance in the SPIN Operating System, Proceedings of the Fifteenth ACM Symposium on Operating System Principles, December 3-6, 1996

Reliability and Recovery

L. Lamport, R. Shostak, and M. Pease, The Byzantine Generals Problem, ACM Transactions on Programming Languages and Systems, July 1982, pages 382-401

J. H. Saltzer, D. P. Reed, and D. D. Clark, End-To-End Arguments in System Design, ACM Transactions on Computer Systems, November 1984, pages 277-288

D. A. Patterson, G. Gibson, and R. H. Katz, A Case for Redundant Arrays of Inexpensive Disks (RAID), Proceedings of the ACM SIGMOD International Conference on Management of Data, 1988, pages 109-116