POSIX
POSIX® (англ. Portable Operating System Interface for Unix — Переносимый интерфейс операционных систем Unix) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой. Стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может быть использован и для не-Unix систем. Серия стандартов POSIX была разработана комитетом 1003 IEEE. Международная организация по стандартизации (ISO) совместно c Международной электротехнической комиссией (IEC) приняли данный стандарт (POSIX) под названием ISO/IEC 9945.
Название «POSIX» было предложено Ричардом Столлманом[1]. Введение в POSIX.1 гласит: «Ожидается произношение „поз-икс“ как „позитив“, а не „по-сикс“. Произношение опубликовано в целях обнародования стандартного способа ссылки на стандартный интерфейс операционной системы». «POSIX» является зарегистрированным товарным знаком IEEE[1].
Содержание |
[править] Задачи
- содействовать облегчению переноса кода прикладных программ на иные платформы;
- способствовать определению и унификации интерфейсов заранее при проектировании, а не в процессе их реализации;
- сохранять по возможности и учитывать все главные, созданные ранее и используемые прикладные программы;
- определять необходимый минимум интерфейсов прикладных программ, для ускорения создания, одобрения и утверждения документов;
- развивать стандарты в направлении обеспечения коммуникационных сетей, распределенной обработки данных и защиты информации;
- рекомендовать ограничение использования бинарного (объектного) кода для приложений в простых системах.
[править] Состав
Стандарт состоит из четырёх основных разделов:
- Основные определения (Base definitions) — список основных определений и соглашений, используемых в спецификациях, и список заголовочных файлов языка Си, которые должны быть предоставлены соответствующей стандарту системой.
- Оболочка и утилиты (Shell and utilities) — описание утилит и командной оболочки sh, стандарты регулярных выражений.
- Системные интерфейсы (System interfaces) — список системных вызовов языка Си.
- Обоснование (Rationale) — объяснение принципов, используемых в стандарте.
[править] Версии
- POSIX.1, Корневые службы (включает стандарт ANSI C) (IEEE Std 1003.1-1988)
- Создание и управление процессами
- Сигналы[6]
- Исключения плавающей точки
- Нарушение сегментации
- Запрещенные директивы
- Ошибки шины
- Таймеры
- Операции над файлами (директориями)
- Каналы
- Библиотека C (Стандартный С)
- Интерфейс и контроль ввода/вывода
- Триггеры процессов
- POSIX.1b, Расширения реального времени (IEEE Std 1003.1b-1993)
- Планировка приоритетов
- Сигналы реального времени
- Таймеры и синхронизация
- Семафоры
- Передача сообщений
- Разделяемая память
- Асинхронный и синхронный ввод/вывод
- Интерфейс блокировки памяти
- POSIX.1c, Расширения потоков (IEEE Std 1003.1c-1995)
- Создание, контроль и завершение выполнения потоков
- Планировщик потоков
- Синхронизация потоков
- Обработка сигналов
[править] POSIX-совместимые ОС
В зависимости от степени совместимости со стандартами, ОС могут быть полностью или частично совместимы с POSIX. Сертифицированные продукты могут быть найдены на сайте IEEE.[2] Бесплатный доступ к версии стандарта IEEE Std 1003.1-2004 находится на сайте The Open Group.[3]
[править] Полностью POSIX-совместимые
Полностью соответствующие одной из версий стандарта POSIX:
- A/UX
- BSD/OS
- HP-UX
- IBM AIX
- INTEGRITY
- IRIX
- LynxOS
- Mac OS X
- Minix
- MPE/iX
- OpenSolaris
- OpenVMS
- QNX
- RTEMS
- Solaris
- UnixWare
- velOSity
- VxWorks
[править] По большей части POSIX-совместимые
Официально не сертифицированные как POSIX-совместимые, но соответствующие по большей части:
- BeOS
- FreeBSD
- Linux (большинство дистрибутивов — см. LSB)
- NetBSD
- Nucleus RTOS
- OpenBSD
- Sanos
- SkyOS
- Syllable
- VSTa
- Symbian OS (при помощи PIPS)
- DragonFlyBSD
[править] POSIX для Windows
- Cygwin — обеспечивает частичное соответствие POSIX для некоторых продуктов Microsoft Windows.
- UnxUtils — набор утилит из POSIX-окружения.
- Microsoft POSIX subsystem, необязательная подсистема Windows.
- Microsoft Windows Services for UNIX — обеспечивает полное соответствие POSIX для некоторых продуктов Microsoft Windows. Операционные системы на базе Windows NT до Windows 2000 имели POSIX-уровень, встроенный в ОС, и UNIX Services for Windows предоставляло UNIX-подобное окружение. Для Windows XP, Windows Services for UNIX должны быть установлены для POSIX-совместимости. UNIX-подсистема встроена в Enterprise и Ultimate редакции Windows Vista и не может быть добавлена в другие редакции.
- UWIN от AT&T Research обеспечивает POSIX поверх Win32 API.
[править] См. также
[править] Примечания
- ↑ 1 2 POSIX® 1003.1 Frequently Asked Questions (FAQ Version 1.12) (англ.) (2 February 2006). Архивировано из первоисточника 22 августа 2011. Проверено 5 марта 2008.
- ↑ POSIX. Standards. IEEE. Архивировано из первоисточника 22 августа 2011.
- ↑ The Open Group. Архивировано из первоисточника 3 февраля 2012.
[править] Литература
- System application program interface (API) [C Language]: ISO/IEC 9945-1, ANSI/IEEE Std 1003.1. — New York: IEEE, 1996. — ISBN 1-55937-573-6
- Информационная технология — интерфейс мобильной операционной системы (POSIX). Часть 1: Интерфейс прикладных программ (API) [Язык программирования С]: в 2 т. — М.: НИИСИ РАН, 1999. — ISBN 5-93838-001-4
- Т. 1: Введение и нормативная часть. — 422 с. — ISBN 5-93838-002-2
- Т. 2: Информативная часть (Приложения). — 374 с. — ISBN 5-93838-003-0
[править] Ссылки
- The Open Group
- IEEE Std 1003.1™-2008
- Введение в POSIX’ивизм
- The Portable Application Standards Committee
- Текст Единой спецификации «Юникс» (очередной версии ISO/IEC 9945 в разработке).
| Стандарты The Open Group | |
|---|---|
| ARM · CDE · CLI · CMPI · DCE · DRDA · LDAP · Motif · SUS (POSIX) · X11 |

