posix

POSIX: Standard pro přenositelnost systémů

POSIX (zkratka pro Portable Operating System Interface, přičemž „X“ bylo přidáno pro „unixový nádech“) definuje rozhraní mezi aplikací a operačním systémem. Pokud je systém „POSIX-compliant“, znamená to, že program napsaný podle těchto pravidel se zkompiluje a spustí na jakémkoli jiném systému splňujícím tento standard.

1. Historický kontext a vznik

V 80. letech existovalo mnoho verzí Unix: Základní kámen moderní informatikyu (System V, BSD, AIX atd.), které se od sebe mírně lišily. Vývojáři museli pro každou platformu kód upravovat, což bylo nákladné.

  • Richard Stallman: Navrhl název POSIX na žádost IEEE.
  • Cíl: Vytvořit společného jmenovatele pro systémová volání, správu procesů a práci se soubory.

2. Co POSIX definuje?

Standard pokrývá širokou škálu oblastí, které považujeme za samozřejmé, ale dříve byly nejednotné:

Systémová volání (System Calls)

Definuje, jak program žádá jádro o služby. Například:

  • open(), read(), write(), close() pro práci se soubory.
  • fork() a exec() pro vytváření a spouštění nových procesů.

Shell a utility

Určuje standardní chování příkazového řádku (Bash (Bourne Again SHell), Sh) a základních nástrojů jako ls, grep, awk nebo sed. To zaručuje, že skripty napsané na jednom systému poběží i na druhém.

Vlákna (Pthreads)

Standard POSIX Threads (Pthreads) definuje API pro vícevláknové programování. Umožňuje programům v C++ nebo C využívat více jader CPU (Central Processing Unit) jednotným způsobem.

Regulární výrazy

Definuje syntaxi pro vyhledávání textu (Basic a Extended Regular Expressions), kterou používá většina unixových nástrojů.

3. Úrovně shody (Compliance)

4. Proč je POSIX důležitý pro vývojáře?

Díky POSIXu může vývojář použít například Clang (C-Language Front-end) k sestavení webového serveru na macOS a následně tentýž kód (bez změn v systémových voláních) nasadit na Linux: Komplexní průvodce světem Open Sourceový server v cloudu.

Oblast Výhoda POSIXu
Souborový systém Cesta se vždy odděluje lomítkem (/).
Chybové stavy Standardní chybové kódy jako EACCES (přístup odepřen).
Signály Standardizované signály jako SIGKILL nebo SIGTERM.

Zajímavost: Ačkoliv se Windows snaží od POSIXu distancovat, jeho síťový stack a některé vnitřní mechanismy historicky vycházely z BSD kódu, aby bylo snazší portovat síťové aplikace.

Související: Unix: Základní kámen moderní informatiky, Linux: Komplexní průvodce světem Open Source, FreeBSD: Profesionální Unixový Standard, Solaris (operační systém), Bash (Bourne Again SHell)

posix.txt · Poslední úprava: autor: admin