What is POSIX? I have read the Wikipedia article and I read it every time I encounter the term. The fact is that I never really understood what it is.
Can anyone please explain it to me by explaining "the need for POSIX" too?
What is POSIX? I have read the Wikipedia article and I read it every time I encounter the term. The fact is that I never really understood what it is.
Can anyone please explain it to me by explaining "the need for POSIX" too?
POSIX stands for Portable Operating System Interface, and is an IEEE standard designed to facilitate application portability. POSIX is an attempt by a consortium of vendors to create a single standard version of UNIX.
POSIX stands for Portable Operating System Interface.
POSIX is a set of standards codified by the IEEE and issued by ANSI and ISO. The goal of POSIX is to ease the task of cross-platform software development by establishing a set of guidelines for operating system vendors to follow. Ideally, a developer should have to write a program only once to run on all POSIX-compliant systems. Most modern commercial Unix implementations and many free ones are POSIX compliant. There are actually several different POSIX releases, but the most important are POSIX.1 and POSIX.2, which define system calls and command-line interface, respectively.
The POSIX specifications describe an operating system that is similar to, but not necessarily the same as, Unix. Though POSIX is heavily based on the BSD and System V releases, non-Unix systems such as Microsoft's Windows NT and IBM's OpenEdition MVS are POSIX compliant.
A specification (blueprint) about how to make an OS compatible with late UNIX OS (may God bless him!). This is why macOS and GNU/Linux have very similar terminal command lines, GUI's, libraries, etc. Because they both were designed according to POSIX blueprint.
POSIX does not tell engineers and programmers how to code but what to code.
Some facts about POSIX that are not so bright.
POSIX is also the system call interface or API, and it is nearly 30 years old.
It was designed for serialized data access to local storage, using single computers with single CPUs.
Security was not a major concern in POSIX by design, leading to numerous race condition attacks over the years and forcing programmers to work around these limitations.
Serious bugs are still being discovered, bugs that could have been averted with a more secure POSIX API design.
POSIX expects users to issue one synchronous call at a time and wait for its results before issuing the next. Today's programmers expect to issue many asynchronous requests at a time to improve overall throughput.
This synchronous API is particularly bad for accessing remote and cloud objects, where high latency matters.