Department of Computer Science 


CS 414/415: Spring 2007

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
  •