Indie-spb.ru

Патриарший проект indie-spb.ru

Метки: Posix 2, posix winthread, posix find.

Перейти к: навигация, поиск


POSIX (англ. Portable Operating System Interface for Unix — Переносимый интерфейс операционных систем Unix) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой. Стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может быть использован и для не-Unix систем. Серия стандартов POSIX была разработана комитетом 1003 IEEE. Международная организация по стандартизации (ISO) совместно c Международной электротехнической комиссией (IEC) приняли данный стандарт (POSIX) под названием ISO/IEC 9945.

Название «POSIX» было предложено Ричардом Столлманом[1]. Введение в POSIX.1 гласит: «Ожидается произношение „позикс“ как „позитив“, а не „посикс“. Произношение опубликовано в целях обнародования стандартного способа ссылки на стандартный интерфейс операционной системы». «POSIX» является зарегистрированным товарным знаком IEEE[1].

Задачи

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

Состав

Стандарт состоит из четырёх основных разделов:

  • Основные определения (Base definitions) — список основных определений и соглашений, используемых в спецификациях, и список заголовочных файлов языка Си, которые должны быть предоставлены соответствующей стандарту системой.
  • Оболочка и утилиты (Shell and utilities) — описание утилит и командной оболочки sh, стандарты регулярных выражений.
  • Системные интерфейсы (System interfaces) — список системных вызовов языка Си.
  • Обоснование (Rationale) — объяснение принципов, используемых в стандарте.

Версии

  • POSIX.1, Корневые службы (включает стандарт ANSI C) (IEEE Std 1003.1-1988)
    • Создание и управление процессами
    • Сигналы[6]
    • Исключения плавающей точки
    • Нарушение сегментации
    • Запрещенные директивы
    • Ошибки шины
    • Таймеры
    • Операции над файлами (каталогами)
    • Каналы
    • Библиотека C (Стандартный С)
    • Интерфейс и контроль ввода-вывода
    • Триггеры процессов
  • POSIX.1b, Расширения реального времени (IEEE Std 1003.1b-1993)
    • Планировка приоритетов
    • Сигналы реального времени
    • Таймеры и синхронизация
    • Семафоры
    • Передача сообщений
    • Разделяемая память
    • Асинхронный и синхронный ввод-вывод
    • Интерфейс блокировки памяти
  • POSIX.1c, Расширения потоков (IEEE Std 1003.1c-1995)
    • Создание, контроль и завершение выполнения потоков
    • Планировщик потоков
    • Синхронизация потоков
    • Обработка сигналов

POSIX-совместимые ОС

В зависимости от степени совместимости со стандартами, ОС могут быть полностью или частично совместимы с POSIX. Сертифицированные продукты могут быть найдены на сайте IEEE.[2] Бесплатный доступ к версии стандарта IEEE Std 1003.1-2004 находится на сайте The Open Group.[3]

Полностью POSIX-совместимые

Полностью соответствующие одной из версий стандарта POSIX:

По большей части POSIX-совместимые

Официально не сертифицированные как POSIX-совместимые, но соответствующие по большей части:

POSIX для Windows

  • Cygwin — обеспечивает частичное соответствие POSIX для некоторых продуктов Microsoft Windows.
  • UnxUtils — набор утилит из POSIX-окружения.
  • Microsoft POSIX subsystem, необязательная подсистема Windows.
  • Microsoft Windows Services for UNIX — обеспечивает полное соответствие POSIX для некоторых продуктов Microsoft Windows. Операционные системы на базе Windows NT до Windows 2000 имели POSIX-уровень, встроенный в ОС, и UNIX Services for Windows предоставляло UNIX-подобное окружение. Для Windows XP, Windows Services for UNIX должны быть установлены для POSIX-совместимости. UNIX-подсистема встроена в Enterprise и Ultimate редакции Windows Vista и не может быть добавлена в другие редакции.
  • UWIN от AT&T Research обеспечивает POSIX поверх Win32 API.

См. также

Примечания

  1. ↑ POSIX® 1003.1 Frequently Asked Questions (FAQ Version 1.12) (англ.) (2 February 2006). Проверено 5 марта 2008. Архивировано из первоисточника 22 августа 2011.
  2. POSIX. Standards. IEEE. Архивировано из первоисточника 22 августа 2011.
  3. The Open Group. Архивировано из первоисточника 3 февраля 2012.

Литература

  • System application program interface (API) [C Language]: ISO/IEC 9945-1, ANSI/IEEE Std 1003.1. — New York: IEEE, 1996. — ISBN 1-55937-573-6
  • Информационная технология — интерфейс мобильной операционной системы (POSIX). Часть 1: Интерфейс прикладных программ (API) [Язык программирования С]: в 2 т. — М.: НИИСИ РАН, 1999. — ISBN 5-93838-001-4
    • Т. 1: Введение и нормативная часть. — 422 с. — ISBN 5-93838-002-2
    • Т. 2: Информативная часть (Приложения). — 374 с. — ISBN 5-93838-003-0

Ссылки

  • The Open Group
  • IEEE Std 1003.1™-2008
  • Введение в POSIX’ивизм
  • The Portable Application Standards Committee
  • Текст Единой спецификации «Юникс» (очередной версии ISO/IEC 9945 в разработке).

Tags: Posix 2, posix winthread, posix find.