POSIX is Dead! Long Live... errr... What Exactly?


Erez Zadok, Stony Brook University; Dean Hildebrand, IBM Research - Almaden; Geoff Kuenning, Harvey Mudd College; Keith A. Smith, NetApp


The POSIX system call interface is nearly 30 years old. It was designed for serialized data access to local storage, using single computers with single CPUs: today’s computers are much faster, more complex, and require access to remote data. Security was not a major concern in POSIX’s design, leading to numerous TOCTTOU attacks over the years and forcing programmers to work around these limitations. Serious bugs are still being discovered, bugs that could have been averted with a more secure POSIX API design. POSIX’s main programming model expects users to issue one synchronous call at a time and wait for its results before issuing the next. Today’s programmers expect to issue many asynchronous requests at a time to improve overall throughput. POSIX’s synchronous one-at-a-time API is particularly bad for accessing remote and cloud objects, where high latencies dominate.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

@inproceedings {203350,
author = {Erez Zadok and Dean Hildebrand and Geoff Kuenning and Keith A. Smith},
title = {{POSIX} is Dead! Long Live... errr... What Exactly?},
booktitle = {9th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 17)},
year = {2017},
address = {Santa Clara, CA},
url = {https://www.usenix.org/conference/hotstorage17/program/presentation/zadok},
publisher = {USENIX Association},
month = jul