Открыть сервис

POSIX

POSIX (Portable Operating System Interface, произносится «по́зикс») — это семейство стандартов, разработанных институтом IEEE (Institute of Electrical and Electronics Engineers) и регламентирующих интерфейсы взаимодействия между операционной системой (ОС) и прикладным программным обеспечением. Основная цель POSIX — обеспечение переносимости исходного кода программ между различными Unix-подобными операционными системами, а также между системами, не являющимися производными Unix, но поддерживающими данный стандарт. Стандарт описывает программный интерфейс (API), командную оболочку, утилиты, а также системные вызовы и библиотеки C.

История

Предпосылки создания

В 1980-х годах рынок Unix-систем был фрагментирован. Разные производители (AT&T, Sun Microsystems, IBM, Hewlett-Packard, Digital Equipment Corporation) выпускали собственные версии Unix (System V, BSD, AIX, HP-UX, Ultrix), которые, несмотря на общую концепцию, имели несовместимые интерфейсы. Перенос программы с одной системы на другую требовал значительных изменений в исходном коде. В ответ на это в 1985 году комитет IEEE начал работу над стандартизацией Unix-подобного API, получившей название IEEE 1003. Название POSIX было предложено Ричардом Столлманом как аббревиатура от «Portable Operating System Interface», с добавлением буквы «X» для обозначения Unix-подобного происхождения.

Развитие стандарта

Состав и структура стандарта

POSIX состоит из нескольких основных частей, которые вместе определяют полный интерфейс операционной системы.

Системные интерфейсы (POSIX.1)

Данный раздел описывает:

Командная оболочка и утилиты (POSIX.2)

Этот раздел регламентирует:

Каталоги и файловая система

POSIX определяет иерархическую файловую систему с корнем «/». Стандарт описывает:

Потоки и синхронизация (POSIX Threads)

POSIX Threads (pthreads) — это стандарт для многопоточного программирования. Он включает:

Безопасность и права доступа

POSIX определяет модель безопасности на основе пользователей (UID), групп (GID) и прав доступа (чтение, запись, исполнение для владельца, группы и остальных). Дополнительно поддерживаются:

Сертификация и соответствие

Операционная система может быть сертифицирована как соответствующая стандарту POSIX. Сертификацию проводит организация IEEE, а также The Open Group в рамках программы Single UNIX Specification. Полная сертификация требует прохождения набора тестов (POSIX Conformance Test Suite). Наиболее известные сертифицированные системы:

Многие другие системы, включая Linux, FreeBSD, OpenBSD, NetBSD, а также Windows (через подсистемы WSL или Cygwin), не проходят полную сертификацию, но стремятся к максимальной совместимости с POSIX. Linux, в частности, не является официально сертифицированной POSIX-системой, однако её разработчики сознательно следуют стандарту, и большинство POSIX-совместимых программ работают на Linux без изменений.

Применение

POSIX играет ключевую роль в следующих областях:

Критика и ограничения

Несмотря на широкое распространение, POSIX подвергается критике по нескольким направлениям:

Влияние на другие стандарты

POSIX оказал значительное влияние на развитие других стандартов и технологий:

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →