Toggle navigation
CS 6410
: Operating Systems
- Fall 2024
Home
Schedule
Projects
Office Hours
Staff
Resources
Fall 2024
Resources
Course Management
Assignments will be collected via CMS:
6410 CMS
List of example "seminal papers"
Epidemic algorithms for replicated database maintenance
Paxos made simple
Bitcoin: A Peer-to-Peer Electronic Cash System
End-to-end arguments in system design
The Design and Implementation of a Log-Structured File System
On the duality of operating system structures
Exokernel: an operating system architecture for application-level resource management
Xen and the Art of Virtualization
Running Commodity Operating Systems on Scalable Multiprocessors
The Google file system
Spanner: Google's Globally Distributed Database
MapReduce: Simplified Data Processing on Large Clusters
Time, Clocks, and the Ordering of Events in a Distributed System
Distributed snapshots: determining global states of distributed systems
Implementing fault-tolerant services using the state machine approach: A tutorial
Chain replication for high throughput and availability
Impossibility of Distributed Consensus with One Faulty Process
Chord: A scalable peer-to-peer lookup service for internet applications
Dynamo: Amazon's Highly Available Key-Value Store
Congestion Avoidance and Control
seL4: formal verification of an OS kernel
An Analysis of Linux Scalability to Many Cores
The Multikernel: A new OS architecture for scalable multicore systems
Capriccio: Scalable Threads for Internet Services
The benefits and costs of writing a POSIX kernel in a high-level language
Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center
Apache Spark: A Unified Engine for Big Data Processing
Pregel: A System for Large-Scale Graph Processing
TensorFlow: A System for Large-Scale Machine Learning
Serverless Computation with OpenLambda
Occupy the Cloud: Distributed Computing for the 99%
Arrakis: The Operating System is the Control Plane
OpenFlow: Enabling Innovation in Campus Networks
TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones
Internet Time Synchronization: The Network Time Protocol
Textbooks
The course is mostly based on published papers.
Suggested Additional readings:
On Operating Systems Implementation:
The Design and Implementation of the 4.4 BSD Operating System.
, McCusick et. al., Addison Wesley, 1996.
Understanding the Linux Kernel
, Daniel P. Bovet, Marco Cesati, O'Reilly, 2000.
On concurrent programming:
An introduction to programming with threads
, Andrew Birrell, Research Report 35, Digital Equipment Corporation Systems Research Center, 1989.
The Little Book of Semaphores
, Allen B. Downey.
On networking:
We recommend
Computer Networking: A Top-Down Approach
, Kurose and Ross.