POSIX is Dead! Long Live... errr... What Exactly? presented at HotStorage 2017

by Erez Zadok, Geoff Kuenning, Dean Hildebrand, Keith A. Smith,

Summary : 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.