4 ms·
There have been many alternatives. Nearly every embedded OS has a different (and better) API. POSIX won because it was first. Simple inertia keeps it there.
by jnwatson 4y ago
There have been many alternatives. Nearly every embedded OS has a different (and better) API.
POSIX won because it was first. Simple inertia keeps it there.
Linux has made some strides to buck the shackles though. The io_uring stuff being some of the better innovations.
- loeg 4y agoYeah, io_uring is an interesting step in the right direction. There's also stuff like SPDK, which doesn't really satisfy the original submitter's desire for "less plumbing," but is certainly better at some workloads than traditional POSIX IO. And of course, Windows NT got this right (or at least, a lot closer to right) back in the 90s.
- nineteen999 4y ago> POSIX won because it was first. Simple inertia keeps it there. UNIX only started wide distribution in 1975. The first POSIX standards were not proposed until 1988. To pretend otherwise is to attempt to rewrite history. There were complaints about UNIX API's long before everyone standardised on POSIX. Not before, not during, not after, have the elephant riders really gotten down and gotten to work. And where they have, as others have pointed out, it's things like io_uring which have emanated from the Linux community itself. Embedded API's may be better in many respects, but that does not mean that any particular vendor's implementation should be the new basis for a standard - especially if they cannot or will not support the existing deployments out there. Software developers love a clean slate, solution providers and integrators need to be able to deploy something to their customers and be able to guarantee interoperability etc. It's a pipe dream neutered by the practical reality of the real world. Nobody is arguing that they are completely wrong - it's just that it's long been giving off a "young man shouts at cloud" kind of smell for a long time, and it's not really that useful other than to give other people who have been hurt by POSIX a place to vent before they go off for another scrum, kanban, retrospective, or long lunch and forget about it until the next article.
- dwheeler 4y ago> POSIX won because it was first. Simple inertia keeps it there. Not true. OS/360 was released years before the first Unix (OS/360 in 1966; Unix development started in 1969). Multics' development also preceded Unix (indeed, the developers of Unix started by working on Multics). It's easy to whine, but Unix' interfaces also work for a wide variety of situations. If you think you have a better idea, implement it & try to convince others to use it. That's how things get better.