Перейти к содержанию

POSIX

Эта статья была переведена из источника, распространяемого под свободной лицензией, и находится на начальном уровне проработки
Материал из энциклопедии Руниверсалис

POSIX, от англ. "Переносимый интерфейс операционной системы" — это семейство стандартов, определенных Институтом IEEE для поддержания совместимости между операционными системами.[1] POSIX определяет как системный, так и пользовательский уровень интерфейс прикладного программированияа (API), наряду с командной строкой sh и интерфейсами утилит, для совместимости (переносимости) программного обеспечения с вариантами Unix и других операционных систем.[1][2] POSIX также является торговой маркой IEEE.[1] POSIX предназначен для использования как разработчиками приложений, так и систем.[3]

Обзор

Unix был выбран в качестве основы для стандартного системного интерфейса отчасти потому, что он был "нейтрален к производителям". Однако существовало несколько основных версий Unix, поэтому возникла необходимость в разработке системы с общим знаменателем. Спецификации POSIX для Unix-подобных операционных систем первоначально состояли из одного документа для основного интерфейса программирования, но со временем разрослись до 19 отдельных документов (POSIX.1, POSIX.2 и т. д.).[4] Стандартизованный пользовательский командная строка и интерпретатор командной строки были основаны на оболочке UNIX System V.[5] Многие программы, службы и утилиты пользовательского уровня (включая awk, echo, ed) также были стандартизированы, наряду с необходимыми службами программного уровня (включая основные системы ввода/вывода (I/O): file, terminal и network). POSIX также определяет стандартный API библиотеки pthreads (POSIX Threads). POSIX Threads поддерживается большинством современных операционных систем от FreeBSD, Linux и Solaris до macOS и Android. В 2008 году большинство частей POSIX были объединены в единый стандарт (IEEE Std 1003.1-2008', также известный как POSIX.1-2008).

По состоянию на 2014 год, документация POSIX разделена на две части:

  • POSIX.1, издание 2013 года: Базовые определения POSIX, системные интерфейсы, команды и утилиты (которые включают POSIX.1, расширения для POSIX.1, службы реального времени, интерфейс потоков, расширения реального времени, интерфейс безопасности, сетевой доступ к файлам и сетевые связи между процессами, расширения переносимости пользователей, исправления и расширения, утилиты защиты и управления и утилиты пакетной системы. Это POSIX 1003.1-2008 с Техническим исправлением 1).
  • Тестирование на соответствие POSIX: Набор тестов для POSIX сопровождает стандарт: VSX-PCTS или VSX POSIX Conformance Test Suite.[6].

Разработка стандарта POSIX ведется в Austin Group (совместная рабочая группа между IEEE, The Open Group и ISO/IEC JTC 1/SC 22/WG 15).

Версии

Версии до 1997 года

До 1997 года POSIX состоял из нескольких стандартов:

Версии после 1997 года

После 1997 года Austin Group разработала редакции POSIX. Спецификации известны под названием Единые спецификации UNIX (Single UNIX Specification), прежде чем они станут стандартом POSIX, когда будут официально одобрены ISO.

POSIX.1-2001

POSIX.1-2001 (или IEEE Std 1003.1-2001) соответствует Единой спецификации UNIX, версия 3 за вычетом X/Open Curses.[9].

Этот стандарт состоял из:

  • базовых определений, выпуск 6,
  • Системные интерфейсы и заголовки, выпуск 6,
  • Команды и утилиты, выпуск 6.

IEEE Std 1003.1-2004 представлял собой незначительное обновление POSIX.1-2001. Он включал два незначительных обновления или errata (опечатки), называемых Technical Corrigenda (Технические исправления, TCs или ТИ).[10] Его содержание доступно в Интернете.[11].

POSIX.1-2008 (с двумя ТИ)

Базовые спецификации, выпуск 7" (или "IEEE Std 1003.1-2008", издание 2016 года) аналогичны текущей версии 2017 года (по состоянию на 22 июля 2018 года).[12][13]

Примечания

  1. 1,0 1,1 1,2 POSIX.1 FAQ. The Open Group (13 June 2020). Дата обращения: 22 января 2022.
  2. P1003.1 - Standard for Information Technology--Portable Operating System Interface (POSIX(TM)) Base Specifications, Issue 8. IEEE Standards Association.
  3. Introduction. The Open Group Base Specifications Issue 7, 2018 edition. Дата обращения: 22 июля 2021.
  4. PASC Status (including POSIX). IEEE Computer Society (4 December 2003). Дата обращения: 1 марта 2015.
  5. html Shell Command Language - The Open Group Base Specifications Issue 7, 2013 Edition. Дата обращения: 28 апреля 2020.
  6. Test Suites VSX-PCTS2003. The Open Group.
  7. Национальная библиотека им. Н. Э. Баумана. POSIX (Portable Operating System Interface for Unix) (2016).
  8. POSIX.1b. librt(3LIB). docs.oracle.com. Oracle Corporation (4 August 1998). — «librt, libposix4- POSIX.1b Realtime Extensions library [...] librt is the preferred name for this library. The name libposix4 is maintained for backward compatibility and should be avoided. Functions in this library provide most of the interfaces specified by the POSIX.1b Realtime Extension.». Дата обращения: 18 февраля 2016.
  9. The Single UNIX Specification Version 3 - Overview. unix.org.
  10. IEEE Std 1003.1. Unix.org. Дата обращения: 26 июля 2009 г..
  11. IEEE Std 1003.1. The Open Group..
  12. Base Specifications, Issue 7, 2016 Edition. The Open Group. Дата обращения: 18 декабря 2014.
  13. The Austin Common Standards Revision Group. The Open Group. Дата обращения: 1 марта 2016.