stringtranslate.com

POSIX

Интерфейс переносимой операционной системы ( POSIX ; IPA : /ˈpɒz.ɪks/[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] Ричард Столлман предложил название POSIX в IEEE [5] [6] вместо прежнего IEEE-IX . [7] Комитет посчитал его более легко произносимым и запоминающимся и принял его. [ необходима ссылка ]

Обзор

Unix был выбран в качестве основы для стандартного системного интерфейса отчасти потому, что он был «независим от производителя». Однако существовало несколько основных версий Unix, поэтому возникла необходимость в разработке системы с общим знаменателем. Спецификации POSIX для Unix-подобных операционных систем изначально состояли из одного документа для основного программного интерфейса , но в конечном итоге выросли до 19 отдельных документов (POSIX.1, POSIX.2 и т. д.). [8] Стандартизированная пользовательская командная строка и интерфейс сценариев были основаны на оболочке UNIX System V. [9] Многие программы, службы и утилиты пользовательского уровня (включая awk , echo , ed ) также были стандартизированы, наряду с требуемыми службами программного уровня (включая базовый ввод-вывод : file , terminal и network ). 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. Спецификации известны под названием Single UNIX Specification , прежде чем они стали стандартом POSIX после формального одобрения ISO.

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

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

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

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

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

Базовые спецификации, выпуск 7 (или IEEE Std 1003.1-2008 , издание 2016 г.). [15]

Настоящий стандарт состоит из:

POSIX.1-2017

IEEE Std 1003.1-2017 (пересмотр IEEE Std 1003.1-2008) - IEEE Standard for Information Technology—Portable Operating System Interface (POSIX(R)) Base Specifications, Issue 7 доступен либо в The Open Group, либо в IEEE. Он технически идентичен POSIX.1-2008 с примененными Technical Corrigenda 1 и 2. Его содержимое доступно в Интернете. [16]

POSIX.1-2024

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

Споры

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

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

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

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

Сертифицировано POSIX

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

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

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

В основном соответствует POSIX

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

POSIX для Microsoft Windows

POSIX для OS/2

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

POSIX для DOS

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

Соответствует уровню совместимости

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

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

Ссылки

  1. ^ abcd "POSIX.1 FAQ". The Open Group. 13 июня 2020 г. Получено 20 февраля 2023 г.
  2. ^ "IEEE 1003.1-2024". Ассоциация стандартов IEEE .
  3. ^ "Введение". The Open Group Base Specifications Issue 7, издание 2018 года . Получено 22 июля 2021 года .
  4. ^ "JimIsaak - POSIX Impact". sites.google.com . Получено 15 сентября 2022 г. .
  5. ^ "Справочник по стандарту IEEE 1003.1". Сноски.
  6. ^ "Происхождение названия POSIX". stallman.org . Получено 26 сентября 2024 г. .
  7. ^ Стоутон, Николас. «Обновление стандартов». ;логин: .
  8. ^ PASC Status (включая POSIX) (Отчет). IEEE Computer Society . 4 декабря 2003 г. Получено 26 сентября 2024 г.
  9. ^ "Shell Command Language - The Open Group Base Specifications Issue 7, 2013 Edition" . Получено 28 апреля 2020 г. .
  10. ^ "Тестовые наборы VSX-PCTS2003". The Open Group.
  11. ^ "librt(3LIB)". docs.oracle.com . man pages section 3: Library Interfaces and Headers. Oracle Corporation. 4 августа 1998 г. . Получено 18 февраля 2016 г. . librt, libposix4- Библиотека расширений реального времени POSIX.1b [...] librt — предпочтительное имя для этой библиотеки. Имя libposix4 сохранено для обратной совместимости и его следует избегать. Функции в этой библиотеке предоставляют большинство интерфейсов, указанных в POSIX.1b Realtime Extension.
  12. ^ «Единая спецификация UNIX версии 3 — Обзор». unix.org .
  13. ^ "IEEE Std 1003.1" (ред. 2004 г.). Unix.org . Получено 26 июля 2009 г.
  14. ^ "Base Specifications, Issue 6" (ред. 2004 г.). The Open Group . Получено 20 июля 2024 г..
  15. ^ ab "The Austin Common Standards Revision Group". The Open Group . Получено 20 июля 2024 г.
  16. ^ "Base Specifications, Issue 7, 2018 Edition" (ред. 2018 г.). The Open Group . Получено 20 июля 2024 г.
  17. ^ «Базовые спецификации, выпуск 8» (ред. 2024 г.). The Open Group..
  18. ^ Столлман, Ричард (28 августа 1991 г.). «Демократия торжествует в дисковых устройствах». Группа новостей : gnu.announce. Usenet:  [email protected] – через Google Groups.
  19. ^ "Стандарты кодирования GNU". GNU.
  20. ^ "POSIX сертифицирован IEEE и The Open Group - Руководство по программе". Раздел 2, Как получить сертификацию . Получено 26 сентября 2024 г.
  21. ^ ab "POSIX Certified by IEEE and The Open Group - Program Guide". Раздел 4, Продления и обновления сертифицированных продуктов . Получено 26 сентября 2024 г.
  22. ^ "Сертифицированные продукты компании". The Open Group. nd . Получено 22 января 2022 г.
  23. ^ ab "IBM". The Open Group . Получено 23 января 2022 г.
  24. ^ "Hewlett-Packard". The Open Group . Получено 26 января 2014 г.
  25. ^ ab "POSIX Certification Register". The Open Group . Получено 22 августа 2024 г.
  26. ^ "The Open Brand - Register of Certified Products". Register of Open Branded Products . The Open Group . Получено 20 мая 2015 г.
  27. ^ "Apple Inc". Регистр открытых фирменных продуктов . The Open Group . Получено 20 мая 2015 г.
  28. ^ "SCO OpenServer Release 5". The Open Group. 3 мая 1995 г. Получено 24 декабря 2021 г.
  29. ^ "UnixWare ® 7.1.3 и более поздние версии". The Open Group. 16 мая 2003 г. Получено 24 декабря 2021 г.
  30. ^ "Huawei Technology Co., Ltd". The Open Group . Получено 26 мая 2017 г.
  31. ^ "Inspur Co., Ltd". The Open Group . Получено 26 мая 2017 г.
  32. ^ "Silicon Graphics, Inc". The Open Group . Получено 26 января 2014 г.
  33. ^ "The Open Brand - Register of Certified Products". Open Group . 23 июля 2003 г. Архивировано из оригинала 2 августа 2003 г. Получено 23 января 2022 г.
  34. ^ "QNX Achieves New POSIX Certification" (пресс-релиз). QNX. 8 апреля 2008 г. Получено 16 января 2016 г.
  35. ^ "Oracle Corporation". The Open Group. Архивировано из оригинала 12 июля 2017 года . Получено 26 января 2014 года .
  36. ^ "Hewlett-Packard". The Open Group. Архивировано из оригинала 9 июля 2014 года . Получено 26 января 2014 года .
  37. ^ "Huawei LiteOS / LiteOS". Gitee . Huawei . Получено 23 мая 2024 г. .
  38. ^ Швайкхардт, Йенс. «Соответствие утилит FreeBSD POSIX 2001». FreeBSD.
  39. Марк Хэлпер (7 ноября 1994 г.). «Продажи HP 3000 застали рынок врасплох». Computerworld . Том 28, № 4. IDG Enterprise.
  40. ^ Солтер, Николас А.; Елинек, Джерри; Майнер, Дэвид (21 марта 2011 г.). OpenSolaris Библия. Джон Уайли и сыновья. ISBN 9781118080313.
  41. ^ Лэми, Билл; Таубингер, Рафаэль (15 июня 2023 г.). «RTOS со стандартным API POSIX pthreads: дополнение к встроенному Linux». Embedded.com . Получено 13 сентября 2023 г. .
  42. ^ "OpenVOS POSIX.1: Руководство по соответствию". Status Technologies . Получено 26 ноября 2021 г. .
  43. ^ ULTRIX POSIX Conformance Document (PDF) . Цифровой. Июнь 1990 г. Получено 13 декабря 2021 г.
  44. ^ "Поддержка POSIX". Документация Zephyr . Получено 7 марта 2023 г.
  45. ^ Rowe, Robin (8 сентября 2022 г.). "libunistd". Github . Получено 18 февраля 2023 г. . Если вы хотите создать единый код C++ для работы в Windows, Linux и MacOS, вам нужно это для Windows
  46. ^ "Функции, удаленные или устаревшие в Windows Server 2012". Microsoft Docs . 31 августа 2016 г.
  47. ^ "Windows NT Services for UNIX Add-On Pack". Microsoft . Архивировано из оригинала 8 мая 1999 г.
  48. ^ "MKS решает проблемы взаимодействия на уровне предприятия" (пресс-релиз). Архивировано из оригинала 28 апреля 1999 г.
  49. ^ "Устаревшие функции CRT". Microsoft Docs . 15 октября 2009 г. Получено 23 июля 2022 г.
  50. ^ «Перенос приложений сокетов на Winsock». Microsoft Docs . 7 января 2021 г. Получено 23 июля 2022 г.
  51. ^ "Статьи Winsock Programmer's FAQ: Совместимость сокетов BSD". Уоррен Янг. 31 августа 2015 г. Получено 8 октября 2015 г.
  52. ^ "Aminet - dev/C/Vbcc_PosixLib.lha".
  53. ^ "Программирование IBM PASE для i" (PDF) . ibm.com . IBM. 2013 . Получено 25 ноября 2021 г. .
  54. ^ "Список продуктов, прошедших проверку на соответствие FIPS 151-2". Perennial Test Lab . Получено 14 августа 2022 г.
  55. ^ "APE — ANSI/POSIX Environment". Документы Plan 9. Bell Labs. Архивировано из оригинала 1 июня 2017 г.
  56. ^ Техническое резюме продуктов реального времени, пятое издание (PDF) . Digital Equipment Corporation . Декабрь 1992 г. Получено 8 декабря 2021 г.
  57. ^ "Глава 29 - Совместимость с POSIX". MS Windows NT Workstation Resource Kit . Microsoft. Архивировано из оригинала 15 января 2008 г.

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