stringtranslate.com

ПОСИКС

Интерфейс переносимой операционной системы ( POSIX ; IPA : / ˈ p ɒ z . ɪ k s / [1] ) — семейство стандартов , определенных IEEE Computer Society для обеспечения совместимости между операционными системами . [1] POSIX определяет интерфейсы прикладного программирования (API) как на системном, так и на пользовательском уровне , а также оболочки командной строки и интерфейсы утилит для совместимости (переносимости) программного обеспечения с вариантами Unix и другими операционными системами. [1] [2] POSIX также является товарным знаком IEEE. [1] POSIX предназначен для использования как разработчиками приложений, так и систем. [3]

Имя

Первоначально название «POSIX» относилось к стандарту IEEE Std 1003.1-1988, выпущенному в 1988 году. Семейство стандартов POSIX формально обозначается как IEEE 1003 , а номер стандарта ISO/IEC — ISO / IEC 9945.

Стандарты возникли в результате проекта, начавшегося в 1984 году и основанного на результатах соответствующей деятельности ассоциации /usr/group . [4] Ричард Столлман предложил IEEE название POSIX вместо прежнего IEEE-IX . Комитет счел его более легко произносимым и запоминающимся, и поэтому принял его. [5]

Обзор

Unix был выбран в качестве основы для стандартного системного интерфейса отчасти потому, что он был «нейтрален к производителю». Однако существовало несколько основных версий Unix, поэтому возникла необходимость разработать систему общего знаменателя. Спецификации POSIX для Unix-подобных операционных систем изначально состояли из одного документа для основного программного интерфейса , но со временем выросли до 19 отдельных документов (POSIX.1, POSIX.2 и т. д.). [6] Стандартизированная пользовательская командная строка и интерфейс сценариев были основаны на оболочке UNIX System V. [7] Многие программы, службы и утилиты пользовательского уровня (включая 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/SC 22 /WG 15).

Версии

Запчасти до 1997 г.

До 1997 года POSIX включал несколько стандартов:

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

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

POSIX.1-2001 (с двумя TC)

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

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

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

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

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

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

POSIX.1-2017

IEEE Std 1003.1-2017 (пересмотр стандарта IEEE Std 1003.1-2008) — Стандарт IEEE для информационных технологий — базовые спецификации интерфейса портативной операционной системы (POSIX(R)), выпуск 7 доступен либо в Открытой группе, либо в IEEE и по состоянию на 22 июля 2018 г., действующий стандарт. Технически он идентичен POSIX.1-2008 с применением технических исправлений 1 и 2. Бесплатная онлайн-копия все еще может быть доступна. [13]

Споры

Блоки размером 512 и 1024 байта

POSIX требует, чтобы размер блока по умолчанию составлял 512 байт для утилит df и du , что отражает типичный размер блоков на дисках. Когда Ричард Столлман и команда GNU реализовывали POSIX для операционной системы GNU , они возражали против этого на том основании, что большинство людей думают в терминах блоков по 1024 байта (или 1 КиБ ). Переменная среды POSIX_ME_HARDER была введена, чтобы позволить пользователю принудительно задавать поведение, соответствующее стандартам. [15] Позже имя переменной было изменено на POSIXLY_CORRECT . [16] Эта переменная теперь также используется для ряда других особенностей поведения.

POSIX-ориентированные операционные системы

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

POSIX-сертифицированный

Текущие версии следующих операционных систем сертифицированы на соответствие одному или нескольким стандартам POSIX. Это означает, что они прошли автоматизированные тесты на соответствие [17] , срок их сертификации не истек и операционная система не снята с производства. [18] [19]

Ранее сертифицированный POSIX

Некоторые версии следующих операционных систем были сертифицированы на соответствие одному или нескольким стандартам POSIX. Это означает, что они прошли автоматизированные тесты на соответствие. Срок действия сертификации истек, а выпуск некоторых операционных систем прекращен. [18]

В основном POSIX-совместимый

Следующие элементы не сертифицированы как совместимые с POSIX, но в значительной степени соответствуют им:

POSIX для Microsoft Windows

POSIX для OS/2

В основном POSIX-совместимые среды для OS/2 :

POSIX для DOS

Частично POSIX-совместимые среды для DOS включают:

Совместимость через уровень совместимости

Следующие ниже официально не сертифицированы как совместимые с POSIX, но они в значительной степени соответствуют стандартам, реализуя поддержку POSIX через какую-то функцию совместимости (обычно библиотеки перевода или слой поверх ядра). Без этих функций они обычно не соответствуют требованиям.

Смотрите также

Рекомендации

  1. ^ abcd «Часто задаваемые вопросы по POSIX.1». Открытая группа. 13 июня 2020 г. Проверено 20 февраля 2023 г.
  2. ^ «P1003.1 - Стандарт информационных технологий - Базовые спецификации интерфейса портативной операционной системы (POSIX (TM))», выпуск 8» . Ассоциация стандартов IEEE .
  3. ^ «Введение». Базовые спецификации открытой группы, выпуск 7, издание 2018 г. Проверено 22 июля 2021 г.
  4. ^ "ДжимИсаак - Влияние POSIX" . сайты.google.com . Проверено 15 сентября 2022 г.
  5. ^ «Происхождение названия POSIX». 2011 . Проверено 28 сентября 2013 г.
  6. ^ Статус PASC (включая POSIX) (Отчет). Компьютерное общество IEEE . 4 декабря 2003 г. Проверено 1 марта 2015 г.
  7. ^ «Язык команд оболочки — базовые спецификации открытой группы, выпуск 7, издание 2013 г.» . Проверено 28 апреля 2020 г.
  8. ^ "Тестовые наборы VSX-PCTS2003" . Открытая группа.
  9. ^ "librt(3LIB)" . docs.oracle.com . Раздел 3 страниц руководства: Библиотечные интерфейсы и заголовки. Корпорация Оракл. 4 августа 1998 года . Проверено 18 февраля 2016 г. librt, libposix4- POSIX.1b Библиотека расширений реального времени [...] librt — предпочтительное имя для этой библиотеки. Имя libposix4 сохранено для обратной совместимости, и его следует избегать. Функции в этой библиотеке предоставляют большинство интерфейсов, определенных расширением реального времени POSIX.1b.
  10. ^ «Единая спецификация UNIX, версия 3 — Обзор» . unix.org .
  11. ^ «IEEE Std 1003.1» (изд. 2004 г.). Unix.org . Проверено 26 июля 2009 г.
  12. ^ «IEEE Std 1003.1» (изд. 2004 г.). Открытая группа..
  13. ^ ab «Базовые характеристики, выпуск 7, издание 2016 г.» . Открытая группа . Проверено 18 декабря 2014 г.
  14. ^ "Группа по пересмотру общих стандартов Остина" . Открытая группа . Проверено 1 марта 2016 г.
  15. Столлман, Ричард (28 августа 1991 г.). «Демократия торжествует в дисковых накопителях». Группа новостей : gnu.announce. Usenet:  [email protected] – через группы Google.
  16. ^ «Стандарты кодирования GNU». ГНУ.
  17. ^ «POSIX сертифицирован IEEE и The Open Group — Руководство по программе» . Раздел 2. Как получить сертификацию . Проверено 22 января 2022 г.
  18. ^ ab «POSIX сертифицирован IEEE и The Open Group — Руководство по программе». Раздел 4. Продление и сертифицированные обновления продуктов . Проверено 22 января 2022 г.
  19. ^ «Сертифицированная продукция компании» . Открытая группа. нд . Проверено 22 января 2022 г.
  20. ^ АБ "ИБМ". Открытая группа . Проверено 23 января 2022 г.
  21. ^ "Хьюлетт-Паккард". Открытая группа . Проверено 26 января 2014 г.
  22. ^ ab «Реестр сертификации POSIX». get.posixcertified.ieee.org . Проверено 23 января 2022 г.
  23. ^ «Открытый бренд - Реестр сертифицированной продукции» . Реестр продукции под открытым брендом . Открытая группа . Проверено 20 мая 2015 г.
  24. ^ "Эппл Инк." Реестр продукции под открытым брендом . Открытая группа . Проверено 20 мая 2015 г.
  25. ^ «Выпуск 5 SCO OpenServer» . Открытая группа. 3 мая 1995 года . Проверено 24 декабря 2021 г.
  26. ^ «UnixWare ® 7.1.3 и более поздние версии». Открытая группа. 16 мая 2003 года . Проверено 24 декабря 2021 г.
  27. ^ "Huawei Technology Co., Ltd" . Открытая группа . Проверено 26 мая 2017 г.
  28. ^ "Inspur Co., Ltd" . Открытая группа . Проверено 26 мая 2017 г.
  29. ^ "Силиконовая графика, Inc". Открытая группа . Проверено 26 января 2014 г.
  30. ^ «Открытый бренд - Реестр сертифицированной продукции» . Открытая группа . 23 июля 2003 г. Архивировано из оригинала 2 августа 2003 г. Проверено 23 января 2022 г.
  31. ^ «QNX получила новую сертификацию POSIX» (пресс-релиз). QNX. 8 апреля 2008 года . Проверено 16 января 2016 г. .
  32. ^ "Корпорация Oracle". Открытая группа. Архивировано из оригинала 12 июля 2017 года . Проверено 26 января 2014 г.
  33. ^ "Хьюлетт-Паккард". Открытая группа. Архивировано из оригинала 9 июля 2014 года . Проверено 26 января 2014 г.
  34. ^ Швайхардт, Йенс. «Соответствие служебных программ FreeBSD POSIX 2001». FreeBSD.
  35. ^ Марк Халпер (7 ноября 1994 г.). «Продажи HP 3000 застали рынок врасплох». Компьютерный мир . Том. 28, нет. 4. Предприятие ИДГ.
  36. ^ Солтер, Николас А.; Елинек, Джерри; Майнер, Дэвид (21 марта 2011 г.). OpenSolaris Библия. Джон Уайли и сыновья. ISBN 9781118080313.
  37. ^ Лами, Билл; Таубингер, Рафаэль (15 июня 2023 г.). «RTOS со стандартным POSIX API pthreads: дополнение к встроенному Linux». Встроенный.com . Проверено 13 сентября 2023 г.
  38. ^ «OpenVOS POSIX.1: Руководство по обеспечению соответствия» . Статус Технологии . Проверено 26 ноября 2021 г.
  39. ^ Документ соответствия ULTRIX POSIX (PDF) . Цифровой. Июнь 1990 года . Проверено 13 декабря 2021 г.
  40. ^ «Поддержка POSIX». Документация Зефира . Проверено 7 марта 2023 г.
  41. Роу, Робин (8 сентября 2022 г.). "либунистд". Гитхаб . Проверено 18 февраля 2023 г. Если вы хотите создать единый код C++ для работы в Windows, Linux и MacOS, вам понадобится это для Windows.
  42. ^ «Функции, удаленные или устаревшие в Windows Server 2012» . Документы Майкрософт . 31 августа 2016 г.
  43. ^ «Пакет надстроек служб Windows NT для UNIX» . Майкрософт . Архивировано из оригинала 8 мая 1999 года.
  44. ^ «MKS решает проблемы совместимости предприятий» (пресс-релиз). Архивировано из оригинала 28 апреля 1999 года.
  45. ^ «Устаревшие функции CRT» . Документы Майкрософт . 15 октября 2009 года . Проверено 23 июля 2022 г.
  46. ^ «Перенос приложений сокетов на Winsock» . Документы Майкрософт . 7 января 2021 г. Проверено 23 июля 2022 г.
  47. ^ «Статьи часто задаваемых вопросов для программистов Winsock: Совместимость сокетов BSD» . Уоррен Янг. 31 августа 2015 года . Проверено 8 октября 2015 г.
  48. ^ "Aminet - dev/C/Vbcc_PosixLib.lha".
  49. ^ «Программирование IBM PASE для i» (PDF) . IBM.com . ИБМ. 2013 . Проверено 25 ноября 2021 г.
  50. ^ «Список продуктов, прошедших проверку соответствия FIPS 151-2» . Многолетняя испытательная лаборатория . Проверено 14 августа 2022 г.
  51. ^ «APE — среда ANSI/POSIX». План 9 документов . Лаборатории Белла. Архивировано из оригинала 1 июня 2017 года.
  52. ^ Техническое описание продуктов Realtime, пятое издание (PDF) . Корпорация цифрового оборудования . Декабрь 1992 года . Проверено 8 декабря 2021 г.
  53. ^ «Глава 29 — Совместимость POSIX» . Ресурсный комплект рабочей станции MS Windows NT . Майкрософт. Архивировано из оригинала 15 января 2008 года.

Внешние ссылки