Thanh Do's notes on UW Operating Systems Qualifying Exam Reading List
Hopefully, the notes below will help you prepare better for your OS qualify exam. Feel free to use that at YOUR OWN RISK.
Acknowledgement: some of the notes below borrow directly from
Remzi,
Andrea,
Mike's lectures.
Textbooks
A. Silberschatz, P. B. Galvin, and G. Gagne.
Operating System Concepts.
Wiley Publishing, 2 most recent editions (currently 7 and 8), Chapters 1-12 (Introduction through Mass Storage)
Kernels
-
P. B. Hansen.
The nucleus of a multiprogramming system.
Commun. ACM, 13(4):238-241, 1970.
-
D. M. Ritchie and K. Thompson.
The unix time-sharing system.
Commun. ACM, 17(7):365-375, 1974.
-
W. Wulf, E. Cohen, W. Corwin, A. Jones, R. Levin, C. Pierson, and F. Pollack.
Hydra: the kernel of a multiprocessor
operating system.
Commun. ACM, 17(6):337-345, 1974.
-
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.
Commun. ACM, 23(2):81-92, 1980.
-
D. R. Engler, M. F. Kaashoek, and J. O'Toole, Jr.
Exokernel: an operating system
architecture for application-level resource management.
In SOSP '95: Proceedings of the fifteenth ACM symposium on
Operating systems principles, 1995. ACM.
-
E. Bugnion, S. Devine, K. Govil, and M. Rosenblum.
Disco: running commodity operating systems on
scalable multiprocessors.
ACM Trans. Comput. Syst., 15(4):412-447, 1997.
-
D. Cheriton.
The v distributed system.
Commun. ACM, 31(3):314-333, 1988.
Distributed Systems
-
L. Lamport.
Time, clocks, and the ordering of
events in a distributed system.
Commun. ACM, 21(7):558-565, 1978.
-
K. M. Chandy and L. Lamport.
Distributed snapshots: determining global
states of distributed systems.
ACM Trans. Comput. Syst., 3(1):63-75, 1985.
-
A. D. Birrell and B. J. Nelson.
Implementing remote procedure calls.
ACM Trans. Comput. Syst., 2(1):39-59, 1984.
-
M. D. Schroeder, A. D. Birrell, and R. M. Needham.
Experience with grapevine: the growth of
a distributed system.
ACM Trans. Comput. Syst., 2(1):3-23, 1984.
-
M. L. Powell and B. P. Miller.
Process migration in demos/mp.
SIGOPS Oper. Syst. Rev., 17(5):110-119, 1983.
-
T. J. LeBlanc and J. M. Mellor-Crummey.
Debugging parallel programs with
instant replay.
IEEE Trans. Comput., 36(4):471-482, 1987.
-
K. Petersen, M. J. Spreitzer, D. B. Terry, M. M. Theimer, and A. J. Demers.
Flexible update propagation for weakly
consistent replication.
In SOSP '97: Proceedings of the sixteenth ACM symposium on
Operating systems principles, 1997. ACM.
-
L. Lamport, R. Shostak, and M. Pease.
The byzantine generals problem.
ACM Trans. Program. Lang. Syst., 4(3):382-401, 1982.
-
J. Dean and S. Ghemawat.
MapReduce: simplified data processing
on large clusters.
In OSDI'04: Proceedings of the 6th conference on Symposium on
Opearting Systems Design & Implementation, 2004. USENIX Association.
-
G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin,
S. Sivasubramanian, P. Vosshall, and W. Vogels.
Dynamo: amazon's highly available key-value
store.
SIGOPS Oper. Syst. Rev., 41(6):205-220, 2007.
-
I. Stoica, R. Morris, D. Karger, M. F. Kaashoek, and H. Balakrishnan.
Chord: A scalable peer-to-peer lookup service
for internet applications.
In SIGCOMM '01: Proceedings of the 2001 conference on
Applications, technologies, architectures, and protocols for computer
communications, 2001. ACM.
Memory Management
-
R. C. Daley and J. B. Dennis.
Virtual memory, processes, and
sharing in multics.
Commun. ACM, 11(5):306-312, 1968.
-
R. W. Carr and J. L. Hennessy.
Wsclock-a simple and effective algorithm
for virtual memory management.
SIGOPS Oper. Syst. Rev., 15(5):87-95, 1981.
-
R. Rashid, A. Tevanian, M. Young, D. Golub, R. Baron, D. Black, W. Bolosky, and
J. Chew.
Machine-independent virtual memory
management for paged uniprocessor and multiprocessor architectures.
SIGARCH Comput. Archit. News, 15(5):31-39, 1987.
-
J. Navarro, S. Iyer, P. Druschel, and A. Cox.
Practical, transparent operating system
support for superpages.
In OSDI '02: Proceedings of the 5th symposium on Operating
systems design and implementation, 2002. ACM.
-
C. A. Waldspurger.
Memory resource management in vmware
esx server.
SIGOPS Oper. Syst. Rev., 36(SI):181-194, 2002.
Synchronization and Communication
-
B. W. Lampson and D. D. Redell.
Experience with processes and monitors in
mesa.
Commun. ACM, 23(2):105-117, 1980.
-
B. N. Bershad, T. E. Anderson, E. D. Lazowska, and H. M. Levy.
Lightweight remote procedure call.
ACM Trans. Comput. Syst., 8(1):37-55, 1990.
-
S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, and T. Anderson.
Eraser: a dynamic data race detector for
multithreaded programs.
ACM Trans. Comput. Syst., 15(4):391-411, 1997.
-
P. E. McKenney, J. Appavoo, A. Kleen, O. Krieger, R. Russell, D. Sarma, and
M. Soni.
Read-copy update.
In Ottawa Linux Symposium, July 2001.
Scheduling
-
T. E. Anderson, B. N. Bershad, E. D. Lazowska, and H. M. Levy.
Scheduler activations:
effective kernel support for the user-level management of parallelism.
In SOSP '91: Proceedings of the thirteenth ACM symposium on
Operating systems principles, 1991. ACM.
-
K. J. Duda and D. R. Cheriton.
Borrowed-virtual-time (bvt) scheduling:
supporting latency-sensitive threads in a general-purpose scheduler.
SIGOPS Oper. Syst. Rev., 33(5):261-276, 1999.
-
A. Adya, J. Howell, M. Theimer, W. J. Bolosky, and J. R. Douceur.
Cooperative task management without
manual stack management.
In ATEC '02: Proceedings of the General Track of the annual
conference on USENIX Annual Technical Conference, 2002. USENIX Association.
-
C. A. Waldspurger and W. E. Weihl.
Lottery scheduling: flexible
proportional-share resource management.
In OSDI '94: Proceedings of the 1st USENIX conference on
Operating Systems Design and Implementation, 1994. USENIX Association.
File Systems and Storage
-
M. K. McKusick, W. N. Joy, S. J. Leffler, and R. S. Fabry.
A fast file system for unix.
ACM Trans. Comput. Syst., 2(3):181-197, 1984.
-
M. Rosenblum and J. K. Ousterhout.
The design and implementation of a
log-structured file system.
ACM Trans. Comput. Syst., 10(1):26-52, 1992.
-
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 Trans. Comput. Syst., 6(1):51-81, 1988.
-
S. Ghemawat, H. Gobioff, and S.-T. Leung.
The google file system.
SIGOPS Oper. Syst. Rev., 37(5):29-43, 2003.
-
J. Wilkes, R. Golding, C. Staelin, and T. Sullivan.
The hp autoraid hierarchical storage
system.
ACM Trans. Comput. Syst., 14(1):108-136, 1996.
-
R. Sandberg, D. Goldberg, S. Kleiman, D. Walsh, and B. Lyon.
Design and implementation of the sun network
filesystem.
In Proceedings of USENIX Summer Techincal Conference, 1985.
Protection and Security
-
R. M. Needham and M. D. Schroeder.
Using encryption for authentication
in large networks of computers.
Commun. ACM, 21(12):993-999, 1978.
-
J. G. Steiner, C. Neuman, and J. I. Schiller.
Kerberos: An authentication service for
open network systems.
In USENIX 1988, Feb. 1988.
-
P. Karger, M. Zurko, D. Bonin, A. Mason, and C. Kahn.
A vmm security kernel for the
vax architecture.
In Proceedings of the IEEE Computer Society Symposium on
Security and Privacy, may 1990.
-
J. Saltzer and M. Schroeder.
The protection of information in
computer systems.
Proceedings of the IEEE, 63(9):1278- 1308, Sept. 1975.
Fault Tolerance and Reliability
-
J. Gray and D. P. Siewiorek.
High-availability computer systems.
Computer, 24(9):39-48, 1991.
-
M. M. Swift, B. N. Bershad, and H. M. Levy.
Improving the reliability of commodity
operating systems.
In SOSP '03: Proceedings of the nineteenth ACM symposium on
Operating systems principles, 2003. ACM.
-
N. P. Kronenberg, H. M. Levy, and W. D. Strecker.
Vaxcluster: a closely-coupled
distributed system.
ACM Trans. Comput. Syst., 4(2):130-146, 1986.
-
R. Wahbe, S. Lucco, T. E. Anderson, and S. L. Graham.
Efficient software-based fault isolation.
In SOSP '93: Proceedings of the fourteenth ACM symposium on
Operating systems principles, 1993. ACM.
-
D. Engler, D. Y. Chen, S. Hallem, A. Chou, and B. Chelf.
Bugs as deviant behavior: a general approach
to inferring errors in systems code.
SIGOPS Oper. Syst. Rev., 35(5):57-72, 2001.
-
F. Qin, J. Tucek, J. Sundaresan, and Y. Zhou.
Rx: treating bugs as allergies-a safe method
to survive software failures.
In SOSP '05: Proceedings of the twentieth ACM symposium on
Operating systems principles, 2005. ACM.
Experience Reports
-
J. H. Saltzer, D. P. Reed, and D. D. Clark.
End-to-end arguments in system design.
ACM Trans. Comput. Syst., 2(4):277-288, 1984.
-
B. W. Lampson.
Hints for computer system design.
SIGOPS Oper. Syst. Rev., 17(5):33-48, 1983.
-
H. C. Lauer.
Observations on the development of
an operating system.
In SOSP '81: Proceedings of the eighth ACM symposium on Operating systems principles, 1981, ACM.
Last modified: 2011 Jan