POSIX

редактировать
Не путать с Unix, Unix-подобным или Linux.

Интерфейс переносимой операционной системы (IEEE 1003)
Положение дел Опубликовано
Год начался 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 предназначен для использования разработчиками приложений и систем.

СОДЕРЖАНИЕ

  • 1 Имя
  • 2 Обзор
  • 3 версии
    • 3.1 Детали до 1997 г.
    • 3.2 Версии после 1997 г.
      • 3.2.1 POSIX.1-2001 (с двумя TC)
      • 3.2.2 POSIX.1-2008 (с двумя TC)
      • 3.2.3 POSIX.1-2017
  • 4 Споры
    • 4.1 512- и 1024-байтовые блоки
  • 5 операционных систем, ориентированных на POSIX
    • 5.1 POSIX-сертифицированный
    • 5.2 В основном совместим с POSIX
      • 5.2.1 POSIX для Microsoft Windows
      • 5.2.2 POSIX для OS / 2
      • 5.2.3 POSIX для DOS
      • 5.2.4 Соответствие через уровень совместимости
  • 6 См. Также
  • 7 ссылки
  • 8 Внешние ссылки

Имя

Первоначально название «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.1, издание 2013 г.: базовые определения POSIX, системные интерфейсы, команды и служебные программы (включая POSIX.1, расширения для POSIX.1, службы реального времени, интерфейс потоков, расширения в реальном времени, интерфейс безопасности, доступ к сетевым файлам) и межпроцессная связь между процессами в сети, расширения пользовательской переносимости, исправления и расширения, служебные программы защиты и управления и служебные программы пакетной системы. Это POSIX 1003.1-2008 с техническим исправлением 1.)
  • Тестирование на соответствие POSIX: Набор тестов для POSIX сопровождает стандарт: VSX-PCTS или VSX POSIX Conformance Test Suite.

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

Версии

Запчасти до 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.

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

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

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

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

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

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

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

POSIX.1-2017

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

Споры

512- и 1024-байтовые блоки

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

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

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

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

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

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

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

POSIX для Microsoft Windows

  • Cygwin предоставляет в основном POSIX-совместимую среду разработки и выполнения для Microsoft Windows.
  • MinGW, ответвление Cygwin, предоставляет менее POSIX-совместимую среду разработки и поддерживает совместимые приложения, запрограммированные на C, через Msvcrt, старую библиотеку времени выполнения Visual C.
  • Подсистема 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) и упал в 2013 году (2012 R2, 8.1). Он обеспечивает полное соответствие POSIX для некоторых продуктов Microsoft Windows.
  • Подсистема Windows для Linux, также известная как WSL, представляет собой уровень совместимости для запуска двоичных исполняемых файлов Linux изначально в Windows 10 с использованием образа Linux, такого как Ubuntu, Debian или OpenSUSE, среди прочих, выступая в качестве обновления и замены служб Windows для UNIX. Он был выпущен в бета-версии в апреле 2016 года. Первым доступным дистрибутивом была Ubuntu.
  • UWIN от ATamp;T Research реализует уровень POSIX поверх API Win32.
  • MKS Toolkit, первоначально созданный для MS-DOS, представляет собой программный пакет, созданный и поддерживаемый MKS Inc., который предоставляет Unix-подобную среду для написания сценариев, подключения и переноса программного обеспечения Unix и Linux как на 32-, так и на 64-разрядные системы Microsoft Windows. Часть этого была включена в первый выпуск Windows Services for UNIX (SFU) в 1998 году.
  • Библиотека времени выполнения Windows C и API сокетов Windows реализуют часто используемые функции API POSIX для доступа к файлам, времени, среде и сокетам, хотя поддержка остается в значительной степени неполной и не полностью совместима с реализациями, совместимыми с POSIX.

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 через какую-то функцию совместимости (обычно библиотеки перевода или слой поверх ядра). Без этих функций они обычно не соответствуют требованиям.

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

использованная литература

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

Последняя правка сделана 2023-03-20 02:52:05
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте