POSIX (Portable Operating System Interface) – это набор стандартов, определенных IEEE (Institute of Electrical and Electronics Engineers), который определяет интерфейсы и поведение операционных систем их компонентов для обеспечения совместимости между различными UNIX-подобными операционными системами.
POSIX стандарты включают в себя спецификации для системных вызовов, библиотек, командной строки, файловых систем и других компонентов операционных систем. Они являются общепризнанными и широко используются для разработки и портирования прикладного программного обеспечения на разных UNIX-подобных операционных системах, к примеру FreeBSD и Linux.
Цель POSIX состоит в том, чтобы облегчить разработку и перенос прикладного программного обеспечения между различными UNIX-подобными операционными системами, улучшая совместимость и переносимость кода.
Серия стандартов POSIX была разработана комитетом 1003 IEEE. Международная организация по стандартизации (ISO) совместно c Международной электротехнической комиссией (IEC) приняла стандарт POSIX под названием ISO/IEC 9945. Версии стандарта POSIX являются основой соответствующих версий стандарта Single UNIX Specification. Стандарт POSIX определяет интерфейс операционной системы, а соответствие стандарту Single UNIX Specification определяет реализацию интерфейса и позволяет операционным системам использовать торговую марку UNIX.
Название «POSIX» было предложено Ричардом Столлманом. Введение в POSIX.1 гласит: «Ожидается произношение „позикс“ как в слове „позитив“, а не „посикс“. Произношение опубликовано в целях обнародования стандартного способа ссылки на стандартный интерфейс операционной системы». «POSIX» является зарегистрированным товарным знаком IEEE.
Стандарт состоит из четырёх основных разделов.
- Основные определения (англ. Base definitions) — список основных определений и соглашений, используемых в спецификациях, и список заголовочных файлов языка Си, которые должны быть предоставлены соответствующей стандарту системой.
- Оболочка и утилиты (англ. Shell and utilities) — описание утилит и командной оболочки sh, стандарты на регулярные выражения.
- Системные интерфейсы (англ. System interfaces) — список системных вызовов языка Си.
- Обоснование (англ. Rationale) — объяснение принципов, используемых в стандарте.
В зависимости от степени совместимости со стандартами, ОС могут быть полностью или частично совместимы с POSIX. Сертифицированные продукты могут быть найдены на сайте IEEE. Бесплатный доступ к версии стандарта IEEE Std 1003.1-2017 находится на сайте «The Open Group».
POSIX-сертифицированные
C 1996 года стандарт SUS включает в себя стандарт POSIX, поэтому сертифицированные на стандарт UNIX операционные системы можно считать одновременно сертифицированными и на стандарт POSIX.
- Mac OS X (UNIX 03)
- Solaris (UNIX 03)
- IBM AIX (UNIX 03)
- HP-UX (UNIX 03)
- QNX Neutrino (POSIX PSE52)
- IRIX (UNIX 95)
- Integrity (POSIX 1003.1-2003) и её микроядро µ-velosity
- Inspur K-UX (UNIX 03)
- LynxOS (POSIX 1003.1-1996)
- UnixWare (UNIX 95)
- Tru64 UNIX (UNIX 95)
POSIX-совместимые
Заявлена полная совместимость с одной из версий стандарта POSIX.
- A/UX
- FreeBSD
- BSD/OS
- iOS
- Minix
- MPE/iX
- OpenSolaris
- OpenVMS (POSIX 1003.1-1990, 1003.1b, 1003.4)
- VxWorks (POSIX PSE52)
По большей части POSIX-совместимые
Официально не сертифицированные как POSIX-совместимые, но соответствующие по большей части.
- BeOS
- Linux (большинство дистрибутивов)
- NetBSD
- Nucleus RTOS
- OpenBSD
- Sanos
- SkyOS
- Syllable
- Symbian OS (при помощи PIPS)
- DragonFlyBSD
- RTEMS (POSIX 1003.1b-1993, POSIX 1003.1h/D3)
- QNX Neutrino (POSIX 1003.1-2004)
- NuttX
Частично POSIX-совместимые
- Android