POSIX abstractions in Modern Operating Systems

View the Project on GitHub columbia/libtrack


The POSIX standard, developed 25 years ago, comprises a set of operating system (OS) abstractions that aid application portability across UNIX-based OSes. While OSes and applications have evolved tremendously the last 25 years, POSIX, and the basic set of abstractions it provides, has remained largely unchanged. Yet, little has been done to measure how and to what extend traditional POSIX abstractions are being used in modern OSes, and whether new abstractions are taking form dethroning traditional ones. Our goal is to provide a rigorous characterization of any changes across the wide range of system abstractions standardized in POSIX. We are interested in a broad set of questions that are intimately entwined with the future of systems design and application development, such as:
  • Which POSIX abstractions are still being used and are relevant for today's application workloads?
  • Which abstractions are being replaced by new and non-standard abstractions?
  • Are there any specific limitations of traditional abstractions that motivate these transitions?
  • Are the replacement abstractions similar in the various OSes, or are they diverging?
  • Are there any abstractions completely missing from POSIX that modern workloads appear to require? If so, how are the gaps currently being filled?
  • Are any traditional abstractions being used in ways for which they were not intended? If so, what are the performance or security implications of these uses?
  • Audience

    We believe that the answers to these questions are relevant to a wide audience, including: researchers, who can design and optimize their systems by leveraging current, broadly applicable trends in application workloads; application developers, who may take advantage of new and more powerful abstractions available in modern OSes; standard bodies, such as OpenGroup, who may wish to reconsider certain, obsolete aspects of their standard in light of the new trends; and educators, who may wish to refresh their courses with coverage of the new, prominent OS abstractions that are replacing traditional ones.


    Our tools and methodology as well as the application traces and our paper answering the above questions are nicely structured and publicly available here. Some useful resources are:

    Authors and Contributors

    Vaggelis Atlidakis, Jeremy Andus, Dimitris Mitropoulos, Roxana Geambasu, Jason Nieh