Perfect application portability across all UNIX-based
OSes is clearly beyond the realm of possibility. However,
maintaining at least a subset of harmonized abstractions is
still a viable alternative for preserving some degree of uniformity
within the UNIX-based OS ecosystem. Within the
context of its limitations – such as the exclusive focus on
consumer-oriented workloads – our study shows that POSIX
abstractions are evolving in significant ways in three modern
UNIX-based OSes (Android, OS X, and Ubuntu), and
that changes are not converging to any new unified set of
abstractions. Parts of the POSIX standard appear unnecessary
for consumer-OS developers to implement, others
include a set of obsolete abstractions whose implementations
are sometimes buggy and abused by attackers, and a
set of new abstractions necessary for modern workloads is
completely missing. We believe that a new revision of the
POSIX standard is due, and urge the research community to
investigate what that standard should be. Our study provides
a few examples of abstractions, graphics, IPC, storage, and
networking, as starting points for re-standardization, and we
recommend that any changes be informed by popular frameworks
that are now taking a principal role in modern OSes.