The application-exposed ABI for those tasks mandates that you execute a few assembly instructions to make a syscall (and perhaps also do some work that the libc normally wraps around the actual syscall for you). ABIs deal with machine instructions, that's why the "binary" is in there.
The OS-provided API for the tasks are libc and Security.framework. Do you have any suggestions for a better API?
The compiler provides a mapping from the stable, (relatively) portable, well-defined API -> the unstable, non-portable, ill-defined ABI of the host system.
I don't think we have the same definition of "obsolete" (C is definitely not "no longer produced or used"). There is absolutely no requirement to use C and you could implement it directly in Assembly if you chose, or in many other languages (most of which pre-date C).
That "promise" is pretty laughable. They stick a gazillion qualifiers on it (so long as they're not insolvent, and everything just keeps working without needing any changes, and they'll only try their best) - and then they say that none of it is a guarantee anyway.
But, there's a lesson here. Nothing is a replacement for backups and you'll care more about your own stuff than anyone else will.
Who specifies how you talk to the OS, and how native applications talk to each other? The OS does. And it does, in fact, differ across different OSes (with different calling conventions). The only reason C comes into this picture is because it runs on all the platforms these other languages do (and many more), so you can write an adapter between the language and C, and not have to worry about supporting 10 million different calling conventions, because some C compiler author has done that for you.
So the article is half right; this isn't a programming language. But C sure is.
(And that's not to mention the fact that to some extent the ABI and calling convention is determined more by the CPU architecture than the OS, much less the language!)
The OS-provided API for the tasks are libc and Security.framework. Do you have any suggestions for a better API?