Delimited continuations in operating systems

  • Authors:
  • Oleg Kiselyov;Chung-chieh Shan

  • Affiliations:
  • FNMOC;Rutgers University

  • Venue:
  • CONTEXT'07 Proceedings of the 6th international and interdisciplinary conference on Modeling and using context
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Delimited continuations are the meanings of delimited evaluation contexts in programming languages. We show they offer a uniform view of many scenarios that arise in systems programming, such as a request for a system service, an event handler for input/output, a snapshot of a process, a file system being read and updated, and a Web page. Explicitly recognizing these uses of delimited continuations helps us design a system of concurrent, isolated transactions where desirable features such as snapshots, undo, copy-on-write, reconciliation, and interposition fall out by default. It also lets us take advantage of efficient implementation techniques from programming-language research. The Zipper File System prototypes these ideas.