Get the latest tech news
A few facts about POSIX
A journey to portable software
Once both requirements are met, programs are compiled into instructions for a target CPU and linked with system functions provided by the libc and OS-specific libraries to access the underlying hardware. At the C source code-level, constansts may be checked either at build time (in #if preprocessing directives) or at runtime, by calling one of the sysconf(), pathconf(), fpathconf(), or confstr(3) functions. For example, real-time embedded systems are typically resource-constrained, do not have shells, user interfaces, and OS kernels are often designed to run as a single process (with multiple threads).
Or read this on Hacker News