Past exams
Available here
Reading list
[Printable version]
Textbooks
Either book is acceptable.
- A. Silberschatz, P. B. Galvin, and G. Gagne.
Operating System Concepts.
Wiley Publishing, 3 most recent editions (currently 7-9)
- Chapters 1-12 (Introduction through Mass Storage)
- R. Arpaci-Dusseau and A. Arpaci-Dusseap. Operating Systems: Three Easy Pieces. Arpaci-Dusseau Books, Version 0.8 (May 2014) or later.
- Processes and Scheduling (Chapters 4-9)
- Virtual Memory (Chapters 13-22)
- Concurrency and Synchronization (Chapters 26-32)
- File Systems and Storage (Chapters 36-44)
- Optional: Distributed Systems (Chapters 47-49, includes NFS and AFS)
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.
- Rob Pike, Dave Presotto, Sean Dorward, Bob Flandera, Ken Thompson, Howard Trickey, Phil Winterbottom. Plan 9 from Bell Labs. Computing Systems, 8(3):221-2254, 1995.
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.
-
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.
-
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.
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.
-
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.
-
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
-
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.
-
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.
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.
Copyrights
ACM
Last modified: 2014 September
|