POSIX (ang. Portable Operating System Interface) - dosłownie przenośny interfejs systemu operacyjnego.

Jego powstanie wiąże siÄ™ z próbÄ… standaryzacji różnych odmian systemu UNIX. Prace nad POSIX-em rozpoczÄ™to okoÅ‚o roku 1985, a kierowaÅ‚o nimi stowarzyszenie IEEE. Dlatego POSIX znany jest również pod nazwÄ… IEEE 1003. Nad dalszym rozwojem standardu sprawuje pieczÄ™ The Open Group we współpracy z IEEE i firmami komputerowymi takimi jak: IBM, Sun Microsystems, Hewlett-Packard, NEC Corporation, Fujitsu, Hitachi. Kolejne edycje standardu wydawane przez The Open Group noszÄ… nazwy Single UNIX Specification, Version x, gdzie x to kolejny numer wersji. Aktualna wersja jest trzeciÄ… a pojawiÅ‚a siÄ™ w roku 2001. Od roku 2003 jest to norma miÄ™dzynarodowa ISO/IEC 9945:2003.

Nazwę "POSIX" zaproponował Richard Stallman.

POSIX standaryzuje:

  • interfejs programistyczny (API)
  • interfejs użytkownika, czyli polecenia systemowe takie jak miÄ™dzy innymi: awk, echo, ed
  • wÅ‚aÅ›ciwoÅ›ci powÅ‚oki systemu.

Zasady te ujęte są w około piętnastu różnych dokumentach.

[edytuj] Koszty

Ponieważ IEEE pobierało bardzo wysokie opłaty za dokumentację POSIX i nie zezwalało na jej publikację w Internecie, powstał standard Single UNIX Specification. Jest on otwarty, uwzględnia uwagi od każdego i jest wolnodostępny w Internecie. Procedury standaryzacyjne i związane z nimi testy PCTS (ang. POSIX Conformance Test Suite - Zestaw Testów Zgodności z POSIX-em) są obecnie kosztowne. Implementacja, która przejdzie testy, może uzyskać certyfikat "zgodności z POSIX-em".

[edytuj] Implementacje POSIX-a

POSIX dotyczy przede wszystkim systemów klasy UNIX. Implementacje POSIX zawarte zostały w systemach takich jak QNX, BeOS i AtheOS / Syllable. GNU/Linux oraz FreeBSD są w znacznym stopniu lub często nawet w pełni zgodne z tym standardem. Niektóre z dystrybucji Linuksa przeszły pomyślnie procedury testowe i uzyskały certyfikat. Dla użytkowników Microsoft Windows dostępne są środowiska Cygwin i Interix, które umożliwiają w tym systemie korzystanie z POSIX-owego interfejsu programistycznego.

[edytuj] Rodzina standardów POSIX

P1003.1

Definiuje interfejs aplikacji tak, aby była ona w pełni przenośna pomiędzy różnymi systemami operacyjnymi.
Interfejs ten bazuje na modelach systemu UNIX.
Zawiera zbiór funkcji które są często implementowane jako wywołania systemowe.

P1003.1a

Zestaw różnych interpretacji, wyjaśnień i rozszerzeń (linki symboliczne).

P1003.1b (poprzednio POSIX.4)

Rozszerzenia dotyczące systemów czasu rzeczywistego.
  • semafory (binarne),
  • proces blokowania pamiÄ™ci,
  • pliki mapowane w pamiÄ™ci i współdzielona pamięć,
  • kolejkowanie priorytetowe,
  • sygnaÅ‚y w czasie rzeczywistym,
  • liczniki czasu (timers),
  • komunikacja miÄ™dzyprocesowa
  • synchroniczne operacje wejÅ›cia/wyjÅ›cia (I/O),
  • asynchroniczne operacje wejÅ›cia/wyjÅ›cia (I/O),

P1003.1c (poprzednio POSIX.4a)

Dodanie funkcji wspierajÄ…cych wÄ…tki (lekkie procesy).

P1003.1d (poprzednio POSIX.4b)

Kolejne rozszerzenia wspierajÄ…ce systemy czasu rzeczywistego.

P1003.1e (poprzednio POSIX 6)

Rozszerzenia dotyczące bezpieczeństwa systemu spełniające kryteria bezpieczeństwa opublikowane przez Departament Obrony USA w 'Trusted Computer System Evaluation Criteria' (TCSEC).

P1003.1f (poprzednio POSIX.8), P1003.1g (poprzednio POSIX.12), P1003.1h, P1003.2, P1003.2b, P1003.2c, P1003.2d (poprzednio POSIX.15), P1003.3, P1003.5, P1387 (poprzednio POSIX.7), P1003.9, P1003.10, P1003.11, P1003.13, P1003.14, P1003.16, P1224.2 (poprzednio POSIX.17), POSIX.18, POSIX.19, POSIX.20, POSIX.21, POSIX.0

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne