6
IRUS Total
Downloads
  Altmetric

A concurrent specification of POSIX file systems

File Description SizeFormat 
Ntzik2018Concurrent.pdfSubmitted version715.92 kBAdobe PDFView/Open
Ntzik2018Concurrent-techical-report.pdfSupporting information631.75 kBAdobe PDFView/Open
Title: A concurrent specification of POSIX file systems
Authors: Ntzik, G
Da Rocha Pinto, P
Sutherland, JHJ
Gardner, PA
Item Type: Conference Paper
Abstract: POSIX is a standard for operating systems, with a substantial part devoted to specifying file-system operations. File-system operations exhibit complex concurrent behaviour, comprising multiple actions affecting different parts of the state: typically, multiple atomic reads followed by an atomic update. However, the standard’s description of concurrent behaviour is nsatisfactory: it is fragmented; contains ambiguities; and is generally under-specified. We provide a formal concurrent specification of POSIX file systems and demonstrate scalable reasoning for clients. Our specification is based on a concurrent specification language, which uses a modern concurrent separation logic for reasoning about abstract atomic operations, and an associated refinement calculus. Our reasoning about clients highlights an important difference between reasoning about modules built over a heap, where the interference on the shared state is restricted to the operations of the module, and modules built over a file system, where the interference cannot be restricted as the file system is a public namespace. We introduce specifications conditional on context invariants used to restrict the interference, and apply our reasoning to the example of lock files.
Issue Date: 21-Jul-2018
Date of Acceptance: 11-Apr-2018
URI: http://hdl.handle.net/10044/1/60704
Publisher: ECOOP
Start Page: 1
End Page: 28
Journal / Book Title: 32nd European Conference on Object-Oriented Programming (ECOOP 2018)
Volume: 109
Issue: 3
Copyright Statement: © Gian Ntzik, Pedro da Rocha Pinto, Julian Sutherland, and Philippa Gardner; licensed under Creative Commons License (http://creativecommons.org/licenses/by/3.0/) CC-BY 32nd European Conference on Object-Oriented Programming (ECOOP 2018)
Sponsor/Funder: Engineering & Physical Science Research Council (E
Engineering & Physical Science Research Council (E
Funder's Grant Number: EP/K008528/1 - RG65358
EP/K008528/1
Conference Name: 32nd European Conference on Object-Oriented Programming (ECOOP 2018)
Publication Status: Published
Start Date: 2018-07-19
Finish Date: 2018-07-21
Conference Place: Amsterdam, The Netherlands
Online Publication Date: 2018-07-21
Appears in Collections:Computing
Faculty of Engineering