Add content in 108-posix-basics (#1333)
* Add content in 108-posix-basics * Update content/roadmaps/101-backend/content/102-os-general-knowledge/108-posix-basics.md Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>pull/1657/head
parent
0480067544
commit
c254552d6b
1 changed files with 14 additions and 1 deletions
@ -1 +1,14 @@ |
||||
# Posix basics |
||||
# 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 `<unistd.h>` 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. |
||||
|
||||
<ResourceGroupTitle>Free Content</ResourceGroupTitle> |
||||
<BadgeLink colorScheme='blue' badgeText='Read' href='https://unix.stackexchange.com/a/220877'>Summary of some POSIX implementations</BadgeLink> |
||||
<BadgeLink colorScheme='blue' badgeText='Read' href='https://www.baeldung.com/linux/posix'>A guide to POSIX</BadgeLink> |
||||
<BadgeLink colorScheme='blue' badgeText='Documentation' href='https://pubs.opengroup.org/onlinepubs/9699919799/'>POSIX standard by IEEE</BadgeLink> |
||||
|
Loading…
Reference in new issue