FSU COP 5611 (Spring 2022)
Advanced Operating Systems

Andy Wang (awang@cs.fsu.edu)


[Dec 3] Welcome to COP 5611!

Course Material

Lecture 1 (1/6/2022)
Course Syllabus (DOC)
Course Information (PPT)
Course Introduction (PPT)
The UNIX Time-Sharing System by Ritchie and Thompson

Lecture 2 (1/11/2022)
Advanced File Systems (PPT)
A Fast File System for UNIX
UNIX Disk Access Patterns (optional)
A File is Not a File (optional)

Lecture 3 (1/13/2022)
An Implementation of a Log-Structured File System for UNIX
A Case for Redundant Arrays of Inexpensive Disks (RAID) (optional)
Elephant: The File System that Never Forgets (optional)
File System Design for an NFS File Server Appliance (optional)
A Logic of File Systems (optional)

Lecture 4 (1/18/2022)
File System Extensibility (PPT)
File system Development with Stackable Layers
Vnodes: An Architecture for Multiple File System Types in Sun UNIX (optional)
TableFS: Enhancing Metadata Efficiency in the Local File System (optional)
Skylight: A Window on Shingled Disk Operation (optional)
BetrFS: A Right-Optimized Write-Optimized File System (optional)

Lecture 5 (1/20/2022)
F2FS: A New File System for Flash Storage (PPTX)
Nova: A Log-structured File System for Hybrid Volatile/Non-volatile Main Memories (Slides)
Aerie: Flexible File-System Interfaces to Storage-Class Memory (Slides)
Strata: A Cross Media File System (Slides)

Lecture 6 (1/25/2022)
Caching for File Systems (PPT)
Possible course projects
The Effects of Memory-Rich Environments on File System Microbenchmarks (optional)
My cache or yours? Making storage more exclusive (optional)

Lecture 7 (1/27/2022)
Threads, Events, and Scheduling (PPT)
Lottery Scheduling: Flexible Proportional-Share Resource Management
Why Events Are a Bad Idea (for High-Concurrency Servers) (optional)
Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism(optional)

Interprocess Communications (PPT)
Implementing Remote Procedure Calls
Introduction to RPC API (optional)

Lecture 8 (2/1/2022)
Interprocess Communications (continued) (PowerPoint XP)
Opal: A Single Address Space System for 64-bit Architectures
The Expected Lifetime of "Single-Address-Space" Operating Systems (optional)
Anonymous RPC: Low-Latency Protection in a 64-Bit Address Space (optional)

Lecture 9 (2/3/2022)
Exam 1 (covers lectures 1-8; posted on Canvas)

Lecture 10 (2/8/2022)
Project proposal presentations

Lecture 11 (2/10/2022)
Operating System Organization (PowerPoint XP)
On Micro-Kernel Construction by Jochen Liedtke
Why Aren't Operating Systems Getting Faster as Fast as Hardware? by John Ousterhout
Plan 9 from Bell Labs (optional)
Making Paths Explicit in the Scout Operating System (optional)
Amoeba (optional)

Lecture 12 (2/15/2022)
Operating System Organization Continued (PowerPoint XP)
An Overview of the Spring System

Lecture 13 (2/17/2022)
Distributed Operating Systems (PowerPoint XP)
Chapter 1, Distributed Operating Systems by Tanenbuam and Steen (optional)

Lecture 14 (2/22/2022)
Distributed Operating Systems (Part II) (PowerPoint XP)
World Wide Web Cache Consistency
Paxos Made Simple by Lamport (optional)
Copysets: Reducing the Frequency of Data Loss in Cloud Storage (optional)

Lecture 15 (2/24/2022)
Distributed Operating Systems (Part III) (PowerPoint XP)
The Dangers of Replication and a Solution (optional)
Pastry: Scalable, Decentralized Object Location and Routing for Large-Scale Peer-to-Peer Systems (optional)
The Hash History Approach for Reconiling Mutual Inconsistency (optional)
Design and Evaluation of a Continuous Consistency Model for Replicated Services (optional)

Lecture 16 (3/1/2022)
IPC in Distributed Operating Systems (PowerPoint XP)
Time, Clocks, and the Ordering of Events in a Distributed System by Leslie Lamport
Lightweight Causal and Atomic Group Multicast
Mirage: A Kernel Implementation of Distributed Shared Memory on a Network of Personal Computers (optional)

Lecture 17 (3/3/2022)
Distributed File Systems (PowerPoint XP)
An Overview of the Andrew File System (optional)

Lecture 18 (3/8/2022)
Distributed File Systems II (PowerPoint XP)
Serverless Network File Systems

Lecture 19 (3/10/2022)
Exam 2 (covers lectures 11-16; posted on Canvas

Lecture 20 (3/15/2022)
Spring break;

Lecture 21 (3/17/2022)
Spring break;

Lecture 22 (3/22/2022)
The Google File System (PowerPoint XP)
OceanStore: An Architecture for Global-Scale Persistent Storage (PowerPoint XP)

Lecture 23 (3/24/2022)
Facebook's Photo Storage (PDF)
SPOCA (Stateless, Proportional, Optimally-consistent Addressing Algorithm) (PDF)

Lecture 24 (3/29/2022)
Fast Crash Recovery in RamCloud (PowerPoint)
CORFU: A Shared Log Design for Flash Clusters (PowerPoint)

Lecture 25 (3/31/2022)
Operating System Security (PowerPoint XP)
Crisis and Aftermath
When Cryptography Meets Storage (optional)
Cashtags: Protecting the Input and Display of Sensitive D ata (optional)

Lecture 26 (4/5/2022)
Operating System Security (Part II) (PowerPoint XP)
The Evolution of the Kerberos Authentication Service
Internet Privacy Enhanced Mail

Lecture 27 (4/7/2022)
Automated Worm Fingerprinting (PowerPoint XP)

Lecture 28 (4/12/2022)
Cashtags: Protecting the Input and Display of Senstive Data (PPTX)
Bitcoin: A Peer-to-Peer Electronic Cash System (PPTX)

Lecture 29 (4/14/2022)
Reliability (PowerPoint XP)
Enhancing Availability and Security Through Failure Oblivious Computing (PowerPoint)
Rx: Treating Bugs as Allergies--A Safe Method to Survive Software Failures (optiona l)

Lecture 30 (4/19/2022)
Project Presentations

Lecture 31 (4/21/2029)
Project Presentations

Useful Resources

Recommended Reading
HotRing: A Hotspot-aware In-Memory Key-value Store
Consistency-aware Durability
PCStream: Automatic Stream Allocation Using Program Contexts
Write-Optimized Dynamic Hashing for Persistent Memory
Reaping the Performance of Fast NVM Storage with uDepot
Optimizing Systems for Byte-Addressable NVM by Reducing Bit Flipping
Bitcoin: A Peer-to-Peer Electronic Cash System
The Landscape of Parallel Computing Research: A View from Berkeley
Above the Clouds: A Berkeley View of Cloud Computing
End-to-End Arguments in System Design
The Chubby Lock Service for Loosely-Coupled Distributed Systems
BigTable: A Distributed Storage System for Structured Data
MapReduce: Simplified Data Processing on Large Clusters
Spark: Cluster Computing with Working Sets
Operating System Support for Database Management
Secure Programming for Linux and UNIX HOWTO
The Tanenbaum-Torvalds Debate
The Cathedral and the Bazaar
An Evaluation of the Ninth SOSP Submission
Some Reflections on Innovation and Invention

Andrew Tanenbaum and Maarten van Steen, Distributed Systems Principles and Paradigms
Mukesh Singhal and Niranjan Shivaratri, Advanced Concepts in Operating Systems
Tanenbaum, Modern Operating Systems (background)
Silberschatz, Galvin, Gagne, Operating System Concepts (background)
Gary Nutt, Operating Systems: A Modern Perspective (background)
Gary Nutt, Kernel Projects for Linux (background)
Kernighan, Ritchie, The C Programming Language (background)
Maxwell, Linux Core Kernel Commentary (background)
Corbet, Rubini, and Kroah-Hartman, Linux Device Drivers
Lions, John, Lions' Commentary on UNIX: With Source Code

On-line Resources

Last modified on: December 3, 2021