A concurrent specification of POSIX file systems

File Description SizeFormat 
Ntzik2018Concurrent.pdfFile embargoed until 01 January 10000715.92 kBAdobe PDF    Request a copy
Ntzik2018Concurrent-techical-report.pdfFile embargoed until 01 January 10000631.75 kBAdobe PDF    Request a copy
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: 19-Jul-2018
Date of Acceptance: 11-Apr-2018
URI: http://hdl.handle.net/10044/1/60704
Journal / Book Title: 32nd European Conference on Object-Oriented Programming (ECOOP 2018)
Copyright Statement: This paper is embargoed until publication. Once published will be available fully open access.
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: Accepted
Start Date: 2018-07-19
Finish Date: 2018-07-21
Conference Place: Amsterdam, The Netherlands
Embargo Date: publication subject to indefinite embargo
Appears in Collections:Faculty of Engineering
Computing



Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Creative Commonsx