diff --git a/content/roadmaps/101-backend/content/102-os-general-knowledge/108-posix-basics.md b/content/roadmaps/101-backend/content/102-os-general-knowledge/108-posix-basics.md index babfb2c69..75704a420 100644 --- a/content/roadmaps/101-backend/content/102-os-general-knowledge/108-posix-basics.md +++ b/content/roadmaps/101-backend/content/102-os-general-knowledge/108-posix-basics.md @@ -1 +1,14 @@ -# Posix basics \ No newline at end of file +# POSIX Basics + +POSIX (Portable Operating System Interface) is a family of standards for maintaining compatibility between operating systems. It describes utilities, APIs, and services that a compliant OS should provide to software, thus making it easier to port programs from one system to another. + +A practical example: in a Unix-like operating system, there are three *standard streams*, `stdin`, `stdout` and `stderr` - they are I/O connections that you will probably come across when using a terminal, as they manage the flow from the **standard input** (stdin), **standard output** (stdout) and **standard error** (stderr). + +So, in this case, when we want to interact with any of these streams (through a process, for example), the POSIX operating system API makes it easier - for example, in the `` C header where the stdin, stderr, and stdout are defined as `STDIN_FILENO`, `STDERR_FILENO` and `STDOUT_FILENO`. + +POSIX also adds a standard for exit codes, filesystem semantics, and several other command line utility API conventions. + +Free Content +Summary of some POSIX implementations +A guide to POSIX +POSIX standard by IEEE