Jump to content

ПОСИКС

Интерфейс портативной операционной системы (IEEE 1003)
Аббревиатура ПОСИКС
Статус Опубликовано
Год начался 1988 год ; 36 лет назад ( 1988 )
Последняя версия Стандарт IEEE 1003.1-2017
2017 ; 7 лет назад ( 2017 )
Организация Austin Group ( Компьютерное общество IEEE , Открытая группа , ISO/IEC JTC 1/SC 22 /WG 15)
Сопутствующие стандарты ИСО / МЭК 9945
Домен Интерфейсы прикладного программирования
Веб-сайт позикс .opengroup .org

Интерфейс переносимой операционной системы ( POSIX ; IPA : / ˈ p ɒ z . ɪ к с / [1] ) — семейство стандартов, определенных IEEE Computer Society для обеспечения совместимости между операционными системами . [1] (API) как на системном, так и на пользовательском уровне POSIX определяет интерфейсы прикладного программирования , а также оболочки командной строки и интерфейсы утилит для совместимости (переносимости) программного обеспечения с вариантами 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.1, издание 2013 г.: базовые определения POSIX, системные интерфейсы, команды и утилиты (включая POSIX.1, расширения для POSIX.1, службы реального времени, интерфейс потоков, расширения реального времени, интерфейс безопасности, доступ к сетевым файлам). и сетевая связь между процессами, расширения переносимости пользователей, исправления и расширения, утилиты защиты и управления, а также утилиты пакетной обработки. Это POSIX 1003.1-2008 с техническим исправлением 1.)
  • Тестирование на соответствие POSIX. Набор тестов для POSIX сопровождает стандарт: VSX-PCTS или VSX POSIX Conformance Test Suite . [8]

Разработка стандарта 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]

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

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

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]

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

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

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]

POSIX.1-2024 [ править ]

IEEE Std 1003.1-2024 — Стандарт IEEE для информационных технологий — интерфейс портативной операционной системы (POSIX(R)) Базовые спецификации, выпуск 8 по состоянию на 22 мая 2024 г. находится в процессе публикации. [14]

Споры [ править ]

Блоки размером 512 и 1024 байта [ править ]

по умолчанию составлял 512 байт POSIX требует, чтобы размер блока для утилит 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 [ править ]

  • Cygwin предоставляет в значительной степени POSIX-совместимую среду разработки и выполнения для Microsoft Windows .
  • MinGW , ответвление Cygwin, предоставляет менее POSIX-совместимую среду разработки и поддерживает совместимые приложения, программируемые на C, через Msvcrt Visual C от Microsoft , старую библиотеку времени выполнения .
  • libunistd — библиотека разработки, в значительной степени совместимая с POSIX, изначально созданная для сборки на языке C/ C++ исходного кода CinePaint на базе Linux в том же виде, что и в Microsoft Visual Studio . Облегченная реализация с POSIX-совместимыми заголовочными файлами, которые отображают API-интерфейсы POSIX для вызова их аналогов Windows API. [42]
  • Подсистема Microsoft POSIX , дополнительная подсистема Windows, включенная в операционные системы на базе Windows NT до Windows 2000. Она поддерживала POSIX.1 в том виде, в котором он существовал в версии 1990 года, без потоков и сокетов .
  • Interix , первоначально OpenNT от Softway Systems, Inc., представляет собой обновление и замену подсистемы Microsoft POSIX , приобретенной Microsoft в 1999 году. Первоначально она продавалась как отдельный дополнительный продукт, а затем была включена в качестве компонента в Службы Windows для UNIX (SFU) и, наконец, включили их в качестве компонента в Windows Server 2003 R2 и более поздние выпуски ОС Windows под названием «Подсистема для приложений на базе UNIX» (SUA); позже объявлен устаревшим в 2012 г. (Windows 8) [43] и исключен в 2013 году (2012 R2, 8.1). Он обеспечивает полное соответствие POSIX для некоторых продуктов Microsoft Windows . [ нужна ссылка ]
  • Подсистема Windows для Linux , также известная как WSL, представляет собой уровень совместимости для запуска двоичных исполняемых файлов Linux в Windows 10 и 11 с использованием образа Linux, такого как Ubuntu, Debian или OpenSUSE, среди других, выступая в качестве обновления и замены служб Windows для ЮНИКС. Бета-версия была выпущена в апреле 2016 года. Первым доступным дистрибутивом была Ubuntu.
  • UWIN от AT&T Research реализует уровень POSIX поверх API-интерфейсов Win32.
  • MKS Toolkit , первоначально созданный для MS-DOS, представляет собой пакет программного обеспечения, созданный и поддерживаемый компанией MKS Inc., который обеспечивает Unix-подобную среду для создания сценариев, подключения и переноса программного обеспечения Unix и Linux как на 32-, так и на 64-битные системы Microsoft Windows . Его подмножество было включено в первый выпуск служб Windows для UNIX (SFU) в 1998 году. [44] [45]
  • Библиотека времени выполнения Windows C и Windows Sockets API реализуют часто используемые функции POSIX API для доступа к файлам, времени, среде и сокетам. [46] хотя поддержка остается в значительной степени неполной и не полностью совместимой с POSIX-совместимыми реализациями. [47] [48] [ обсуждать ]

POSIX для OS/2 [ править ]

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

  • emx+gcc – в значительной степени соответствует POSIX

POSIX для DOS [ править ]

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

  • emx+gcc – в значительной степени соответствует POSIX
  • DJGPP – частично соответствует POSIX
  • Многозадачное ядро ​​DR-DOS через EMM386 /MULTI — доступно расширение API интерфейса POSIX потоков.

Совместимость через уровень совместимости [ править ]

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

См. также [ править ]

Ссылки [ править ]

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

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 76619b4e59e27bd1e276b2aaff8bd670__1716538740
URL1:https://arc.ask3.ru/arc/aa/76/70/76619b4e59e27bd1e276b2aaff8bd670.html
Заголовок, (Title) документа по адресу, URL1:
POSIX - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)