Положение дел | Опубликовано |
---|---|
Год начался | 1988 ; 33 года назад ( 1988) |
Последняя версия | IEEE Std 1003.1-2017 2017 ; 4 года назад ( 2017) |
Организация | Austin Group ( IEEE Computer Society, Открытая группа, ISO / IEC JTC 1 ) |
Связанные стандарты | ISO / IEC 9945 |
Домен | Интерфейсы прикладного программирования |
Сокращенное название | POSIX |
Веб-сайт | получить.posixcertified.ieee.org |
Интерфейс переносимой операционной системы ( POSIX) - это семейство стандартов, определенных компьютерным обществом IEEE для обеспечения совместимости между операционными системами. POSIX определяет интерфейсы прикладного программирования (API) как системного, так и пользовательского уровня, а также оболочки командной строки и служебные интерфейсы для совместимости (переносимости) программного обеспечения с вариантами Unix и других операционных систем. POSIX также является товарным знаком IEEE. POSIX предназначен для использования разработчиками приложений и систем.
Первоначально название «POSIX» относилось к стандарту IEEE Std 1003.1-1988, выпущенному в 1988 году. Семейство стандартов POSIX официально обозначено как IEEE 1003, а номер стандарта ISO / IEC - ISO / IEC 9945.
Стандарты появились в результате проекта, который начался примерно в 1985 году. Ричард Столлман предложил IEEE название POSIX (произносится как pahz-icks, а не poh-six) вместо прежнего IEEE-IX. Комитет нашел его более легко произносимым и запоминающимся, и поэтому принял его.
Unix был выбран в качестве основы для стандартного системного интерфейса отчасти потому, что он был «нейтральным к производителю». Однако существовало несколько основных версий Unix, поэтому возникла необходимость в разработке системы общего знаменателя. Спецификации POSIX для Unix-подобных операционных систем изначально состояли из единого документа для основного интерфейса программирования, но со временем выросли до 19 отдельных документов (POSIX.1, POSIX.2 и т. Д.). Стандартизированная пользовательская командная строка и интерфейс сценариев были основаны на оболочке UNIX System V. Многие программы, службы и утилиты пользовательского уровня (включая awk, echo, ed ) также были стандартизированы вместе с необходимыми службами программного уровня (включая базовый ввод-вывод : файл, терминал и сеть ). POSIX также определяет стандартный API библиотеки потоков, который поддерживается большинством современных операционных систем. В 2008 году большинство частей POSIX были объединены в единый стандарт (IEEE Std 1003.1-2008, также известный как POSIX.1-2008).
По состоянию на 2014 год документация POSIX разделена на две части:
Разработка стандарта POSIX происходит в Austin Group (совместная рабочая группа IEEE, The Open Group и ISO / IEC JTC 1 ).
До 1997 года POSIX содержал несколько стандартов:
После 1997 года Austin Group разработала версии POSIX. Спецификации известны под названием Single UNIX Specification, прежде чем они станут стандартом POSIX после официального утверждения ISO.
POSIX.1-2001 (или IEEE Std 1003.1-2001) соответствует единой спецификации UNIX версии 3.
Этот стандарт состоял из:
IEEE Std 1003.1-2004 включал небольшое обновление POSIX.1-2001. В него включены два незначительных обновления или исправления, называемые техническими исправлениями (TC). Его содержимое доступно в сети.
Базовые спецификации, выпуск 7 (или IEEE Std 1003.1-2008, издание 2016 г.) аналогичны текущей версии 2017 г. (по состоянию на 22 июля 2018 г.).
Этот стандарт состоит из:
IEEE Std 1003.1-2017 (редакция IEEE Std 1003.1-2008) - Стандарт IEEE для информационных технологий - интерфейс переносимой операционной системы (POSIX (R)) Базовые спецификации, выпуск 7 доступен либо в Open Group, либо в IEEE и, начиная с 22 июля 2018 г. действующий стандарт. Технически он идентичен POSIX.1-2008 с внесенными Техническими исправлениями 1 и 2. Бесплатная онлайн-копия все еще может быть доступна.
POSIX требует 512-байтовых размеров блоков по умолчанию для утилит df и du, что отражает типичный размер блоков на дисках. Когда Ричард Столлман и команда GNU реализовывали POSIX для операционной системы GNU, они возражали против этого на том основании, что большинство людей думают в терминах блоков размером 1024 байта (или 1 КиБ ). Переменная среды POSIX_ME_HARDER была введена, чтобы позволить пользователю принудительно установить поведение, соответствующее стандартам. Позднее имя переменной было изменено на POSIXLY_CORRECT. Эта переменная теперь также используется для ряда других особенностей поведения.
В зависимости от степени соответствия стандартам операционные системы можно классифицировать как полностью или частично совместимые с POSIX. Сертифицированные продукты можно найти на сайте IEEE.
Некоторые версии следующих операционных систем были сертифицированы на соответствие одному или нескольким различным стандартам POSIX. Это означает, что они прошли автоматизированные тесты на соответствие.
Следующее, хотя официально не сертифицировано как совместимое с POSIX, в значительной степени соответствует:
В основном POSIX-совместимые среды для OS / 2 :
Частично POSIX-совместимые среды для DOS включают:
Следующие ниже официально не сертифицированы как совместимые с POSIX, но они в значительной степени соответствуют стандартам, реализуя поддержку POSIX через какую-то функцию совместимости (обычно библиотеки перевода или слой поверх ядра). Без этих функций они обычно не соответствуют требованиям.