6
IRUS TotalDownloads
Altmetric
A concurrent specification of POSIX file systems
File | Description | Size | Format | |
---|---|---|---|---|
Ntzik2018Concurrent.pdf | Submitted version | 715.92 kB | Adobe PDF | View/Open |
Ntzik2018Concurrent-techical-report.pdf | Supporting information | 631.75 kB | Adobe PDF | View/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 |