Department of Computer Science
CS 414/415: Spring 2005
Systems Programming and Operating Systems
Course Details
Home
Overview
Course Staff/Help
Academic Integrity
How to Lose in CS 414
Schedule
Lecture Notes
CS415 Sections
Assignments
Homework
Projects
Exams
Resources
C for Java programmers
CVS in CSUGLab
Suggested Readings
On writing concurrent programs:
An introduction to programming with threads
.
Andrew Birrel
Research Report 35, Digital Equipment Corporation Systems Research Center, 1989.
On networking:
End-to-End Arguments in System Design
.
Jerome H. Saltzer, David P. Reed, and David D. Clark.
Second International Conference on Distributed Computing Systems, pages 509-512.
ACM Transactions in Computer Systems 2, 4, November 1984, pages 277-288.
Ethernet: Distributed Packet Switching for Local Computer Networks
Robert M. Metcalfe and David R. Boggs
Communications of the ACM, 7, Volume 9, July 1976
Development of the Domain Name System
Paul V. Mockapetris, and Kevin J. Dunlap
ACM SIGCOMM 1988, Pages 123-133
On the Effectiveness of DNS-based Server Selection
Anees Shaikh, Renu Tewari, Mukesh Agrawal
IEEE INFOCOM 2001
On Memory Allocation
A Memory Allocator
Doug Lea
A short documentation on the implementation his malloc routines, April 2000
On P2P File Systems
Storage Management and Caching in PAST, A Large-scale, Persistent Peer-to-peer Storage Utility
Antony Rowstron and Peter Druschel
18th Symposium on Operating Systems Principles, October 2001
Wide-Area Cooperative Storage with CFS
Frank Dabek, M. Frans Kaashoek, David Karger, Robert Morris and Ion Stoica
18th Symposium on Operating Systems Principles, October 2001
On Distributed Systems
Impossibility of distributed consensus with one faulty process
Michael J. Fischer, Nancy A. Lynch, and Michael S. Paterson
Journal of the ACM, 32(2):374-382, April 1985
The Byzantine Generals Problem
Leslie Lamport, Robert Shostak and Marshall Pease
ACM Transactions on Programming Languages and Systems 4(3):382-401, July 1982