POSIX

Поделись знанием:
Перейти к: навигация, поиск
ISO/IEC/IEEE 9945[1]
Информационные технологии. Интерфейс переносимой операционной системы (POSIX).

Базовые технические требования, Выпуск 7

Комитет (разработчик) ISO/IEC JTC 1/SC 22
Сайт комитета [www.iso.org/iso/iso_technical_committee?commid=45202 iso.org/iso/iso_technical_committee?commid=45202]
Агентство The Austin Common Standards Revision Group
Сайт агентства [www.opengroup.org/austin/ opengroup.org/austin]
Дата утверждения 15.09.2009
Последняя поправка ISO/IEC/IEEE 9945:2009/Cor 1:2013
Стадия 90.60 (17.12.2014)
МКС (ICS) 35.060
Текущая редакция ISO/IEC 9945:2009
Отмененный стандарт ISO/IEC 9945-1:2003

ISO/IEC 9945-2:2003
ISO/IEC 9945-3:2003
ISO/IEC 9945-4:2003

POSIX (англ. portable operating system interface — переносимый интерфейс операционных систем) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой (системный API), библиотеку языка C и набор приложений и их интерфейсов. Стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может быть использован и для не-Unix систем.

Серия стандартов POSIX была разработана комитетом 1003 IEEE. Международная организация по стандартизации (ISO) совместно c Международной электротехнической комиссией (IEC) приняли стандарт POSIX под названием ISO/IEC 9945.[2] Версии стандарта POSIX являются основой соответствующих версий стандарта Single UNIX Specification. Стандарт POSIX определяет интерфейс операционной системы, а соответствие стандарту Single UNIX Specification определяет реализацию интерфейса и позволяет операционным системам использовать торговую марку UNIX.[3]

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





Задачи

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

Состав

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

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

Версии

Версии POSIX до 2001 года

До 2001 года было создано много стандартов POSIX, часть из которых использовались для формирования стандартов Single UNIX Specification. Множество операционных систем частично или полностью реализовывали поддержку этих стандартов, в связи с чем в руководствах к системным вызовам и к программам часто встречаются ссылки на данные стандарты. На данный момент эти стандарты являются устаревшими и представляют лишь историческую ценность.

POSIX.1. Системное API для языка Си

Стандарт: IEEE Std 1003.1-1988, затем IEEE Std 1003.1-1990;  ISO/IEC 9945-1:1990.

Стандарт был выпущен в 1988 году, занимал 317 страниц, включал в себя стандарт ANSI C и являлся первым стандартом POSIX. До присвоения названия POSIX Ричардом Столлманом стандарт был известен как IEEE-IX. В 1990 вышло обновление стандарта с небольшими изменениями под названием IEEE Std 1003.1-1990, занимавшее 356 страниц. Заголовок обновлённого стандарта гласил: "Part 1: System Application Program Interface (API) [C Language]". Таким образом, было явно указано, что стандарт представляет из себя системное API для языка Си.[5]

Стандарт описывал следующие темы:

  • создание и управление процессами[5];
  • сигналы;
  • исключения плавающей точки;
  • нарушение сегментации;
  • запрещённые директивы;
  • ошибки шины;
  • таймеры;
  • операции над файлами (каталогами)[5];
  • каналы;
  • библиотека C (стандарт С);
  • интерфейс и контроль ввода-вывода;
  • триггеры процессов;
  • файлы с информацией о пользователях и о группах[5];
  • форматы архивов tar и cpio[5].

POSIX.2. Командная оболочка и утилиты

Стандарт: IEEE Std 1003.2-1992; ISO/IEC 9945-2:1993[6].

Стандарт вышел в 1992 году в двух томах общим размером около 1300 страниц. Заголовок гласил: "Part 2: Shell And Utilities", что переводится как "Часть 2: Командный интерпретатор и утилиты".[5]

Стандарт описывал следующие разделы:

  • командный интерпретатор (на основе System V Bourne shell)[5];
  • около сотни утилит командной строки (включая basename, awk, vi, yacc и многие другие)[5].

POSIX.1b. Расширения реального времени

Также известен как POSIX.4.[6]

Стандарт: IEEE Std 1003.1b-1993, IEEE Std 1003.1i-1995 (технические исправления к 1003.1b).

Изначально известный как IEEE P1003.4, стандарт являлся обновлением стандарта IEEE Std 1003.1-1990. Обновление из 590 страниц включало в себя расширения реального времени, разработанные рабочим комитетом P1003.4.[5] В 1995 году стандарт был дополнен техническими исправлениями (IEEE Std 1003.1i-1995).

Стандарт описывал следующие разделы:

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

POSIX.1c. Потоки

Стандарт: IEEE Std 1003.1c-1995.

Стандарт описывал следующие разделы:

  • создание, контроль и завершение выполнения потоков;
  • планировщик потоков;
  • синхронизация потоков;
  • обработка сигналов.

POSIX.1-1996

Стандарты: IEEE Std 1003.1, 1996 Edition (или IEEE 1996); ISO/IEC 9945-1:1996 .

Стандарт занимал 743 страницы, объединял ранее разработанные версии POSIX и включал в себя следующие стандарты[5][7]:

  • IEEE Std 1003.1-1990 (базовый API);
  • IEEE Std 1003.1b-1993 (расширения реального времени);
  • IEEE Std 1003.1c-1995 (потоки);
  • IEEE Std 1003.1i-1995 (технические исправления к стандарту 1003.1b).

Стандарт описывал следующие разделы[5]:

  • Часть 1. Системное API (Язык Си).
  • Часть 2. Командный интерпретатор и утилиты.
  • Часть 3. Системное администрирование (в разработке).

При этом около четверти страниц стандарта занимала историческая справка и пояснения причин, по которым в него были включены те или иные функции.[5]

POSIX.1d. Дополнительные расширения реального времени

Стандарт: IEEE Std 1003.1c-1999.

Описывал дополнительные расширения реального времени.[6] Например, системный вызов sem_timedwait() появился именно в этом стандарте.[8]

POSIX.1g. Протоколо-независимые интерфейсы

Первоначальное название: POSIX 1003.12.[8]

Стандарт: IEEE Std 1003.1g.

Стандарт был выпущен в 2000 году и описывал API взаимодействия процессов друг с другом и включал описания двух основных API[9]:

  • Simple Network Interface (SNI);
  • X/Open Transport Interface (XTI) и API сокетов на основе сокетов 4.4BSD.

POSIX.1j. Продвинутые расширения реального времени

Стандарт: IEEE Std 1003.1j-2000.

Описывает продвинутые расширения реального времени.[6]

Версии POSIX после 2001 года

В марте 1997 года рабочий комитет Austin Group разработал стандарт Single UNIX Specification version 2, который по своей сути был продолжением развития стандарта POSIX.1-1996.[10][5][11]

В 1999 году было принято решение, согласно которому консорциум The Open Group и Институт инженеров по электротехнике и электронике (IEEE) приняли решение об объединении усилий в совместной разработке стандартов POSIX и Single UNIX Specification. Новый стандарт POSIX должен был заменить существующие на тот момент стандарты POSIX (POSIX.1 и POSIX.2 и др.), став основой для Single UNIX Specification version 3. Также было решено обнародовать будущий стандарт, разработку которого планировалось закончить к 2001 году.[12]

В 2001 году все предыдущие стандарты POSIX были объединены в один общий стандарт, который предполагалось использовать как основу для будущих стандартов Single UNIX Specification.[8]

POSIX.1-2001

Стандарт: IEEE Std 1003.1-2001;  ISO/IEC 9945:2002.[8]

В 2001 году основные опциональные стандарты POSIX, разработанные ранее, были объединены в единый стандарт POSIX.1-2001. С тех пор принято именовать стандарты POSIX, добавляя к ним в конец год издания.[13] POSIX.1-2001 является основой стандарта Single UNIX Specification version 3.[14]

Стандарт ориентирован на стандарт языка C99 и может включать в себя функции и заголовочные файлы из стандарта C99.[15]

Стандарт включает в себя:

  • основные понятия и определения;
  • системные интерфейсы и заголовочные файлы;
  • описание командного интерпретатора на уровне исходного кода и утилит командной строки.

POSIX.1-2004

Стандарт: IEEE Std 1003.1-2004.

Стандарт является незначительным обновлением стандарта POSIX.1-2001. Включает в себя два технических исправления[16]. Описание стандарта доступно в интернете[17].

POSIX.1-2008

Стандарты: IEEE Std 1003.1-2008, техническое исправление IEEE Std 1003.1-2008/Cor 1-2013; ISO/IEC 9945:2009.

Стандарт разработан в 2008 и является текущим. В 2013 году к стандарту было разработано технические исправление №1 под названием IEEE Std 1003.1-2008/Cor 1-2013. Общедоступную бесплатную копию стандарта можно найти в интернете[18]. POSIX.1-2008 лежит в основе стандарта Single UNIX Specification version 4.[19]

Стандарт описывает:

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

Профили POSIX 1003.13

Стандарт POSIX 1003.1 подходит не для всех операционных систем. Встраиваемые операционные системы не всегда реализуют поддержку тех или иных функций. Стандарт POSIX 1003.13 описывает подмножество стандарта POSIX 1003.1 для встраиваемых систем, которое разделено на 4 профиля. Профили были разработаны, чтобы обеспечить переносимость программ на уровне исходных кодов для операционных систем с ограниченными возможностями. Они представляют собой подмножество стандарта POSIX 1003.13, то есть описывают только часть возможностей, включенных в оригинальный стандарт (POSIX 1003.1). Таким образом, профили не конфликтуют с оригинальным стандартом.[20]

На 2016 год разработаны следующие профили:

  • POSIX PSE54 (многопользовательская многопроцессная операционная система с поддержкой потоков и файловой системы);
  • POSIX PSE53 (многопроцессная операционная система с поддержкой потоков и файловой системы);
  • POSIX PSE52 (однопроцессная операционная система с поддержкой потоков и файловой системы);
  • POSIX PSE51 (однопроцессная операционная система с поддержкой потоков, без файловой системы).

Сравнительная характеристика профилей

Поддерживаемые возможности[20] PSE51 PSE52 PSE53 PSE54
1003.1-90. Процессы - - + +
1003.1-90. Конвейеры - - + +
1003.1-90. Файлы и каталоги - + - +
1003.1-90. Пользователи и группы - - - +
1003.1b-93. Защита памяти - - + +
1003.1b-93. Часы и таймеры высокого разрешения + + + +
1003.1b-93. Сигналы реального времени + + + +
1003.1b-93. Семафоры + + + +
1003.1b-93. Разделяемая память + + + +
1003.1b-93. Межпроцессовый обмен данными + + + +
1003.1c-95. Потоки + + + +
1003.1c-95. Потокобезопасные функции + + + +
1003.1c-95. Атрибуты потоков, адрес стека + + + +
1003.1c-95. Атрибуты потоков, размер стека + + + +
1003.1c-95. Разделение процесса между потоками - - + +
1003.1c-95. Приоритеты потоков + + + +
1003.1c-95. Наследование приоритетов потоками + + + +
1003.1c-95. Защита приоритетов потоков + + + +

Поддержка операционными системами

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

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

C 1996 года стандарт SUS включает в себя стандарт POSIX, поэтому сертифицированные на стандарт UNIX операционные системы можно считать одновременно сертифицированными и на стандарт POSIX.

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

Заявлена полная совместимость с одной из версий стандарта POSIX.

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

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

POSIX для Windows

  • Cygwin — обеспечивает частичное соответствие POSIX для некоторых продуктов Microsoft Windows.
  • Подсистема для UNIX-приложений (SUA) — необязательная подсистема Windows, обеспечивающая готовое окружение для компиляции и исполнения POSIX-совместимых приложений.[52] Соответствие стандарту POSIX.2 на уровне командной строки обеспечивается с помощью командной оболочки ksh.[53]
  • «Microsoft Windows Services for UNIX» — обеспечивает полное соответствие POSIX для некоторых продуктов Microsoft Windows. Операционные системы на базе Windows NT до Windows 2000 имели POSIX-уровень, встроенный в ОС, и «UNIX Services for Windows» предоставляло UNIX-подобное окружение. Для получения POSIX-совместимости в Windows XP нужно скачать и установить бесплатный пакет «Windows Services for UNIX». UNIX-подсистема встроена в Enterprise и Ultimate редакции Windows Vista и не может быть добавлена в другие редакции.
  • UWIN — набор библиотек и утилит, обеспечивающих POSIX-совместимое окружение поверх Win32 API.[54]
  • UnxUtils — набор портированных под библиотеку Microsoft C Run-time (msvcrt.dll) утилит GNU.[55]

См. также

Напишите отзыв о статье "POSIX"

Примечания

  1. [www.iso.org/iso/ru/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=50516 ISO/IEC/IEEE 9945:2009 - Информационные технологии. Интерфейс переносимой операционной системы (POSIX). Базовые технические требования, Выпуск 7]. www.iso.org. Проверено 12 февраля 2016.
  2. [www.unix.org/version3/iso_std.html ISO/IEC 9945]. www.unix.org. Проверено 7 января 2016.
  3. [www.unix.org/what_is_unix/single_unix_specification.html The UNIX System -- The Single UNIX Specification]. www.unix.org. Проверено 7 января 2016.
  4. 1 2 [www.opengroup.org/austin/papers/posix_faq.html POSIX® 1003.1 Frequently Asked Questions (FAQ Version 1.12)] (англ.) (2 February 2006). Проверено 5 марта 2008. [www.webcitation.org/617j6soIY Архивировано из первоисточника 22 августа 2011].
  5. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 W. Richard Stevens, Bill Fenner, Andrew M. Rudoff. [books.google.com/books?id=ptSC4LpwGA0C UNIX Network Programming]. — Addison-Wesley Professional, 2004-01-01. — С. 25—28. — 1032 с. — ISBN 9780131411555.
  6. 1 2 3 4 [man7.org/linux/man-pages/man7/standards.7.html standards(7) - Linux manual page]. man7.org. Проверено 6 февраля 2016.
  7. [www.opengroup.org/austin/papers/posix_faq.html POSIX.1 FAQ]. www.opengroup.org. Проверено 5 февраля 2016.
  8. 1 2 3 4 Michael Kerrisk. [books.google.com/books?id=2SAQAQAAQBAJ The Linux Programming Interface]. — No Starch Press, 2010-01-01. — С. 13, 16—17, 1096. — 1556 с. — ISBN 9781593272203.
  9. AUUG Inc. [books.google.com/books?id=KDXri214ryEC AUUGN]. — AUUG, Inc., 1995-08-01. — 66 с.
  10. [www.unix.org/version2/pr.html Enhanced Single UNIX Press Release]. www.unix.org. Проверено 4 января 2016.
  11. [www.unix.org/version2/whatsnew/ The UNIX System Technical Whitepapers]. www.unix.org. Проверено 6 февраля 2016.
  12. [www.opengroup.org/austin/austinpr.txt The Open Group and IEEE to develop joint revision to POSIX and UNIX standards] Collaborative Effort to Yield Version 3 of the Single UNIX Specification. opengroup.org (17 июля 1999 года).
  13. Robert Love. [books.google.com/books?id=K1vXEb1SgawC Linux System Programming: Talking Directly to the Kernel and C Library]. — "O'Reilly Media, Inc.", 2013-05-14. — С. 7—8. — 457 с. — ISBN 9781449341541.
  14. [www.unix.org/version3/pr.html The Single UNIX Specification Version 3]. www.unix.org. Проверено 4 января 2016.
  15. [pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap01.html Introduction]. pubs.opengroup.org. Проверено 7 февраля 2016.
  16. [www.unix.org/version3/ieee_std.html IEEE Std 1003.1, 2004 Edition]. www.unix.org. Проверено 4 января 2016.
  17. [pubs.opengroup.org/onlinepubs/009695399/ The Open Group Base Specifications Issue 6]. pubs.opengroup.org. Проверено 4 января 2016.
  18. [pubs.opengroup.org/onlinepubs/9699919799/ The Open Group Base Specifications Issue 7, 2013 Edition]. pubs.opengroup.org. Проверено 4 января 2016.
  19. [www.unix.org/version4/ieee_std.html IEEE Std 1003.1, 2013 Edition]. www.unix.org. Проверено 11 февраля 2016.
  20. 1 2 3 Peter van der Veen. [www.qnx-russia.ru/presentations/eng/Posix%20in%20embedded.pps Using POSIX to Maximize Code Portability in Embedded Systems]. qnx-russia.ru. QNX Software Systems.
  21. [standards.ieee.org/regauth/posix/ POSIX]. Standards. IEEE. [www.webcitation.org/617j7Pb9I Архивировано из первоисточника 22 августа 2011].
  22. [pubs.opengroup.org/onlinepubs/009695399/toc.htm The Open Group]. [www.webcitation.org/65AXsxTP0 Архивировано из первоисточника 3 февраля 2012].
  23. [www.opengroup.org/openbrand/register/brand3612.htm Register of Open Branded Products]. www.opengroup.org. Проверено 5 января 2016.
  24. [www.opengroup.org/openbrand/register/brand3506.htm Register of Open Branded Products]. www.opengroup.org. Проверено 5 января 2016.
  25. [www.opengroup.org/openbrand/register/brand3463.htm Register of Open Branded Products]. www.opengroup.org. Проверено 5 января 2016.
  26. [www.opengroup.org/openbrand/register/brand3543.htm Register of Open Branded Products]. www.opengroup.org. Проверено 5 января 2016.
  27. [www.qnx.com/developers/docs/660/index.jsp?topic=%252Fcom.qnx.doc.neutrino.sys_arch%252Ftopic%252Fintro_embeddable.html Help - QNX SDP 6.6 Documentation]. www.qnx.com. Проверено 7 февраля 2016.
  28. [www.qnx.com/products/neutrino-rtos/neutrino-rtos.html#POSIX QNX Neutrino RTOS]. www.qnx.com. Проверено 7 февраля 2016.
  29. [www.opengroup.org/openbrand/register/sgi.htm Register of Open Branded Products]. www.opengroup.org. Проверено 8 января 2016.
  30. [get.posixcertified.ieee.org/product_54985.html POSIX Certification - Product details]. get.posixcertified.ieee.org. Проверено 5 января 2016.
  31. [www.opengroup.org/openbrand/register/brand3596.htm Register of Open Branded Products]. www.opengroup.org. Проверено 5 января 2016.
  32. [www.lynx.com/industry-solutions/industry-standards/posix/ POSIX - Lynx Software Technology] (en-US). Lynx Software Technology. Проверено 5 января 2016.
  33. [www.opengroup.org/openbrand/register/brand2713.htm Register of Open Branded Products]. www.opengroup.org. Проверено 8 января 2016.
  34. [www.opengroup.org/csq/repository/norationale=1&noreferences=1&RID=dec%252FXU1%252F8.html Hewlett-Packard Company Conformance Statement]. www.opengroup.org.
  35. QuickSpecs. [h30266.www3.hpe.com/PDFs/Tru64%20UNIX%20Operating%20System%20Version%20V5.1A.pdf Tru64 UNIX Operating System V5.1A]. Tru64 UNIX.
  36. InfoWorld Media Group Inc. [books.google.com/books?id=ElEEAAAAMBAJ InfoWorld]. — InfoWorld Media Group, Inc., 1992-08-10. — 98 с.
  37. [people.freebsd.org/~schweikh/posix-utilities.html FreeBSD POSIX 2001 Utility Compliance]. people.freebsd.org. Проверено 8 января 2016.
  38. [wiki.minix3.org/doku.php?id=releases:3.2.0:developersguide:posixandminix&s%5B%5D=posix releases:3.2.0:developersguide:posixandminix [Wiki]]. wiki.minix3.org. Проверено 12 января 2016.
  39. I. D. G. Enterprise. [books.google.ru/books?id=-6GcSQAVaHgC&pg=PA24&lpg=PA24&dq=MPE/iX+posix&source=bl&ots=SJCGfuomCX&sig=yTFr_qKBKIrG8epXX4xhkPHImsI&hl=ru&sa=X&ved=0ahUKEwiIz4CIkprKAhUEBSwKHew0Cus4ChDoAQhIMAc#v=onepage&q=MPE%252FiX%2520posix&f=false Computerworld]. — IDG Enterprise, 1994-11-07. — 154 с.
  40. Nicholas A. Solter, Jerry Jelinek, David Miner. [books.google.com/books?id=y8qaxiZNvqAC OpenSolaris Bible]. — John Wiley & Sons, 2011-03-21. — 740 с. — ISBN 9781118080313.
  41. Digital Equipment Corporation Maynard, Massachusetts. [h20564.www2.hpe.com/hpsc/doc/public/display?docId=emr_na-c04623273&DocLang=en&docLocale=en_US&jumpid=reg_r11944_usen_c-001_title_r0014 OpenVMS Programming Environment Manual]. OpenVMS (март 1994).
  42. [www.windriver.com/markets/aerospace-defense/standards.html STANDARDS LEADERSHIP]. www.windriver.com. Проверено 18 января 2016.
  43. Martin C. Brown. [books.google.com/books?id=4cqUYTtvkn8C BeOS: Porting UNIX Applications]. — Morgan Kaufmann, 1998-01-01. — 500 с. — ISBN 9781558605329.
  44. [www.netbsd.org/about/standards.html NetBSD Standards Conformance]. www.netbsd.org. Проверено 21 января 2016.
  45. [www.mentor.com/embedded-software/nucleus/kernel Nucleus RTOS Kernel]. www.mentor.com. Проверено 25 января 2016.
  46. [www.openbsd.org/goals.html OpenBSD Project Goals]. www.openbsd.org. Проверено 24 января 2016.
  47. Michael Ringgaard. [www.jbox.dk/sanos/ Sanos]. www.jbox.dk. Проверено 21 января 2016.
  48. [www.skyos.org/?q=node/408 Frequently Asked Questions | SkyOS]. www.skyos.org. Проверено 21 января 2016.
  49. Syllable Project. [web.syllable.org/Desktop/Welcome.html Welcome to Syllable]. web.syllable.org. Проверено 21 января 2016.
  50. [www.dragonflybsd.org/posix_checklists/ Posix Checklists]. DragonFly BSD. dragonflybsd.org (5 января 2014).
  51. On-Line Applications Research Corporation (OAR). [docs.rtems.org/doc-current/share/rtems/pdf/posix_users.pdf RTEMS POSIX API User’s Guide]. RTERMS. On-Line Applications Research Corporation (17 July 2015).
  52. [technet.microsoft.com/ru-ru/library/cc772343.aspx Подсистема приложений UNIX]. technet.microsoft.com. Проверено 25 января 2016.
  53. [technet.microsoft.com/ru-ru/library/cc754351.aspx Подсистема для приложений UNIX и совместимость с POSIX]. technet.microsoft.com. Проверено 25 января 2016.
  54. [github.com/att/uwin att/uwin]. GitHub. Проверено 26 января 2016.
  55. [unxutils.sourceforge.net Native Win32 ports of some GNU utilities]. unxutils.sourceforge.net. Проверено 25 января 2016.

Литература

  • Donald Lewine. [books.google.com/books?id=rHyMRyDEG3gC POSIX Programmers Guide]. — "O'Reilly Media, Inc.", 1991-04-01. — 646 с. — ISBN 9780937175736.
  • 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
  • [www.niisi.ru/posix.htm Информационная технология — интерфейс мобильной операционной системы (POSIX)]. Часть 1: Интерфейс прикладных программ (API) [Язык программирования С]: в 2 т. — М.: НИИСИ РАН, 1999. — ISBN 5-93838-001-4
    • Т. 1: Введение и нормативная часть. — 422 с. — ISBN 5-93838-002-2
    • Т. 2: Информативная часть (Приложения). — 374 с. — ISBN 5-93838-003-0

Ссылки

  • [www.opengroup.org/ The Open Group]
  • [www.opengroup.org/onlinepubs/9699919799/ IEEE Std 1003.1™-2008]
  • [www.linuxcenter.ru/lib/books/posixbook/ Введение в POSIX’ивизм]
  • [www.pasc.org/ The Portable Application Standards Committee]
  • [www.opengroup.org/onlinepubs/007904975/ Текст Единой спецификации «Юникс» (очередной версии ISO/IEC 9945 в разработке).]

Отрывок, характеризующий POSIX

– А праздник английского посланника? Нынче середа. Мне надо показаться там, – сказал князь. – Дочь заедет за мной и повезет меня.
– Я думала, что нынешний праздник отменен. Je vous avoue que toutes ces fetes et tous ces feux d'artifice commencent a devenir insipides. [Признаюсь, все эти праздники и фейерверки становятся несносны.]
– Ежели бы знали, что вы этого хотите, праздник бы отменили, – сказал князь, по привычке, как заведенные часы, говоря вещи, которым он и не хотел, чтобы верили.
– Ne me tourmentez pas. Eh bien, qu'a t on decide par rapport a la depeche de Novosiizoff? Vous savez tout. [Не мучьте меня. Ну, что же решили по случаю депеши Новосильцова? Вы все знаете.]
– Как вам сказать? – сказал князь холодным, скучающим тоном. – Qu'a t on decide? On a decide que Buonaparte a brule ses vaisseaux, et je crois que nous sommes en train de bruler les notres. [Что решили? Решили, что Бонапарте сжег свои корабли; и мы тоже, кажется, готовы сжечь наши.] – Князь Василий говорил всегда лениво, как актер говорит роль старой пиесы. Анна Павловна Шерер, напротив, несмотря на свои сорок лет, была преисполнена оживления и порывов.
Быть энтузиасткой сделалось ее общественным положением, и иногда, когда ей даже того не хотелось, она, чтобы не обмануть ожиданий людей, знавших ее, делалась энтузиасткой. Сдержанная улыбка, игравшая постоянно на лице Анны Павловны, хотя и не шла к ее отжившим чертам, выражала, как у избалованных детей, постоянное сознание своего милого недостатка, от которого она не хочет, не может и не находит нужным исправляться.
В середине разговора про политические действия Анна Павловна разгорячилась.
– Ах, не говорите мне про Австрию! Я ничего не понимаю, может быть, но Австрия никогда не хотела и не хочет войны. Она предает нас. Россия одна должна быть спасительницей Европы. Наш благодетель знает свое высокое призвание и будет верен ему. Вот одно, во что я верю. Нашему доброму и чудному государю предстоит величайшая роль в мире, и он так добродетелен и хорош, что Бог не оставит его, и он исполнит свое призвание задавить гидру революции, которая теперь еще ужаснее в лице этого убийцы и злодея. Мы одни должны искупить кровь праведника… На кого нам надеяться, я вас спрашиваю?… Англия с своим коммерческим духом не поймет и не может понять всю высоту души императора Александра. Она отказалась очистить Мальту. Она хочет видеть, ищет заднюю мысль наших действий. Что они сказали Новосильцову?… Ничего. Они не поняли, они не могут понять самоотвержения нашего императора, который ничего не хочет для себя и всё хочет для блага мира. И что они обещали? Ничего. И что обещали, и того не будет! Пруссия уж объявила, что Бонапарте непобедим и что вся Европа ничего не может против него… И я не верю ни в одном слове ни Гарденбергу, ни Гаугвицу. Cette fameuse neutralite prussienne, ce n'est qu'un piege. [Этот пресловутый нейтралитет Пруссии – только западня.] Я верю в одного Бога и в высокую судьбу нашего милого императора. Он спасет Европу!… – Она вдруг остановилась с улыбкою насмешки над своею горячностью.
– Я думаю, – сказал князь улыбаясь, – что ежели бы вас послали вместо нашего милого Винценгероде, вы бы взяли приступом согласие прусского короля. Вы так красноречивы. Вы дадите мне чаю?
– Сейчас. A propos, – прибавила она, опять успокоиваясь, – нынче у меня два очень интересные человека, le vicomte de MorteMariet, il est allie aux Montmorency par les Rohans, [Кстати, – виконт Мортемар,] он в родстве с Монморанси чрез Роганов,] одна из лучших фамилий Франции. Это один из хороших эмигрантов, из настоящих. И потом l'abbe Morio: [аббат Морио:] вы знаете этот глубокий ум? Он был принят государем. Вы знаете?
– А! Я очень рад буду, – сказал князь. – Скажите, – прибавил он, как будто только что вспомнив что то и особенно небрежно, тогда как то, о чем он спрашивал, было главною целью его посещения, – правда, что l'imperatrice mere [императрица мать] желает назначения барона Функе первым секретарем в Вену? C'est un pauvre sire, ce baron, a ce qu'il parait. [Этот барон, кажется, ничтожная личность.] – Князь Василий желал определить сына на это место, которое через императрицу Марию Феодоровну старались доставить барону.
Анна Павловна почти закрыла глаза в знак того, что ни она, ни кто другой не могут судить про то, что угодно или нравится императрице.
– Monsieur le baron de Funke a ete recommande a l'imperatrice mere par sa soeur, [Барон Функе рекомендован императрице матери ее сестрою,] – только сказала она грустным, сухим тоном. В то время, как Анна Павловна назвала императрицу, лицо ее вдруг представило глубокое и искреннее выражение преданности и уважения, соединенное с грустью, что с ней бывало каждый раз, когда она в разговоре упоминала о своей высокой покровительнице. Она сказала, что ее величество изволила оказать барону Функе beaucoup d'estime, [много уважения,] и опять взгляд ее подернулся грустью.
Князь равнодушно замолк. Анна Павловна, с свойственною ей придворною и женскою ловкостью и быстротою такта, захотела и щелконуть князя за то, что он дерзнул так отозваться о лице, рекомендованном императрице, и в то же время утешить его.
– Mais a propos de votre famille,[Кстати о вашей семье,] – сказала она, – знаете ли, что ваша дочь с тех пор, как выезжает, fait les delices de tout le monde. On la trouve belle, comme le jour. [составляет восторг всего общества. Ее находят прекрасною, как день.]
Князь наклонился в знак уважения и признательности.
– Я часто думаю, – продолжала Анна Павловна после минутного молчания, подвигаясь к князю и ласково улыбаясь ему, как будто выказывая этим, что политические и светские разговоры кончены и теперь начинается задушевный, – я часто думаю, как иногда несправедливо распределяется счастие жизни. За что вам судьба дала таких двух славных детей (исключая Анатоля, вашего меньшого, я его не люблю, – вставила она безапелляционно, приподняв брови) – таких прелестных детей? А вы, право, менее всех цените их и потому их не стоите.
И она улыбнулась своею восторженною улыбкой.
– Que voulez vous? Lafater aurait dit que je n'ai pas la bosse de la paterienite, [Чего вы хотите? Лафатер сказал бы, что у меня нет шишки родительской любви,] – сказал князь.
– Перестаньте шутить. Я хотела серьезно поговорить с вами. Знаете, я недовольна вашим меньшим сыном. Между нами будь сказано (лицо ее приняло грустное выражение), о нем говорили у ее величества и жалеют вас…
Князь не отвечал, но она молча, значительно глядя на него, ждала ответа. Князь Василий поморщился.
– Что вы хотите, чтоб я делал! – сказал он наконец. – Вы знаете, я сделал для их воспитания все, что может отец, и оба вышли des imbeciles. [дураки.] Ипполит, по крайней мере, покойный дурак, а Анатоль – беспокойный. Вот одно различие, – сказал он, улыбаясь более неестественно и одушевленно, чем обыкновенно, и при этом особенно резко выказывая в сложившихся около его рта морщинах что то неожиданно грубое и неприятное.
– И зачем родятся дети у таких людей, как вы? Ежели бы вы не были отец, я бы ни в чем не могла упрекнуть вас, – сказала Анна Павловна, задумчиво поднимая глаза.
– Je suis votre [Я ваш] верный раб, et a vous seule je puis l'avouer. Мои дети – ce sont les entraves de mon existence. [вам одним могу признаться. Мои дети – обуза моего существования.] – Он помолчал, выражая жестом свою покорность жестокой судьбе.
Анна Павловна задумалась.
– Вы никогда не думали о том, чтобы женить вашего блудного сына Анатоля? Говорят, – сказала она, – что старые девицы ont la manie des Marieiages. [имеют манию женить.] Я еще не чувствую за собою этой слабости, но у меня есть одна petite personne [маленькая особа], которая очень несчастлива с отцом, une parente a nous, une princesse [наша родственница, княжна] Болконская. – Князь Василий не отвечал, хотя с свойственною светским людям быстротой соображения и памяти показал движением головы, что он принял к соображению эти сведения.
– Нет, вы знаете ли, что этот Анатоль мне стоит 40.000 в год, – сказал он, видимо, не в силах удерживать печальный ход своих мыслей. Он помолчал.
– Что будет через пять лет, если это пойдет так? Voila l'avantage d'etre pere. [Вот выгода быть отцом.] Она богата, ваша княжна?
– Отец очень богат и скуп. Он живет в деревне. Знаете, этот известный князь Болконский, отставленный еще при покойном императоре и прозванный прусским королем. Он очень умный человек, но со странностями и тяжелый. La pauvre petite est malheureuse, comme les pierres. [Бедняжка несчастлива, как камни.] У нее брат, вот что недавно женился на Lise Мейнен, адъютант Кутузова. Он будет нынче у меня.
– Ecoutez, chere Annette, [Послушайте, милая Аннет,] – сказал князь, взяв вдруг свою собеседницу за руку и пригибая ее почему то книзу. – Arrangez moi cette affaire et je suis votre [Устройте мне это дело, и я навсегда ваш] вернейший раб a tout jamais pan , comme mon староста m'ecrit des [как пишет мне мой староста] донесенья: покой ер п!. Она хорошей фамилии и богата. Всё, что мне нужно.
И он с теми свободными и фамильярными, грациозными движениями, которые его отличали, взял за руку фрейлину, поцеловал ее и, поцеловав, помахал фрейлинскою рукой, развалившись на креслах и глядя в сторону.
– Attendez [Подождите], – сказала Анна Павловна, соображая. – Я нынче же поговорю Lise (la femme du jeune Болконский). [с Лизой (женой молодого Болконского).] И, может быть, это уладится. Ce sera dans votre famille, que je ferai mon apprentissage de vieille fille. [Я в вашем семействе начну обучаться ремеслу старой девки.]


Гостиная Анны Павловны начала понемногу наполняться. Приехала высшая знать Петербурга, люди самые разнородные по возрастам и характерам, но одинаковые по обществу, в каком все жили; приехала дочь князя Василия, красавица Элен, заехавшая за отцом, чтобы с ним вместе ехать на праздник посланника. Она была в шифре и бальном платье. Приехала и известная, как la femme la plus seduisante de Petersbourg [самая обворожительная женщина в Петербурге,], молодая, маленькая княгиня Болконская, прошлую зиму вышедшая замуж и теперь не выезжавшая в большой свет по причине своей беременности, но ездившая еще на небольшие вечера. Приехал князь Ипполит, сын князя Василия, с Мортемаром, которого он представил; приехал и аббат Морио и многие другие.
– Вы не видали еще? или: – вы не знакомы с ma tante [с моей тетушкой]? – говорила Анна Павловна приезжавшим гостям и весьма серьезно подводила их к маленькой старушке в высоких бантах, выплывшей из другой комнаты, как скоро стали приезжать гости, называла их по имени, медленно переводя глаза с гостя на ma tante [тетушку], и потом отходила.
Все гости совершали обряд приветствования никому неизвестной, никому неинтересной и ненужной тетушки. Анна Павловна с грустным, торжественным участием следила за их приветствиями, молчаливо одобряя их. Ma tante каждому говорила в одних и тех же выражениях о его здоровье, о своем здоровье и о здоровье ее величества, которое нынче было, слава Богу, лучше. Все подходившие, из приличия не выказывая поспешности, с чувством облегчения исполненной тяжелой обязанности отходили от старушки, чтобы уж весь вечер ни разу не подойти к ней.
Молодая княгиня Болконская приехала с работой в шитом золотом бархатном мешке. Ее хорошенькая, с чуть черневшимися усиками верхняя губка была коротка по зубам, но тем милее она открывалась и тем еще милее вытягивалась иногда и опускалась на нижнюю. Как это всегда бывает у вполне привлекательных женщин, недостаток ее – короткость губы и полуоткрытый рот – казались ее особенною, собственно ее красотой. Всем было весело смотреть на эту, полную здоровья и живости, хорошенькую будущую мать, так легко переносившую свое положение. Старикам и скучающим, мрачным молодым людям, смотревшим на нее, казалось, что они сами делаются похожи на нее, побыв и поговорив несколько времени с ней. Кто говорил с ней и видел при каждом слове ее светлую улыбочку и блестящие белые зубы, которые виднелись беспрестанно, тот думал, что он особенно нынче любезен. И это думал каждый.
Маленькая княгиня, переваливаясь, маленькими быстрыми шажками обошла стол с рабочею сумочкою на руке и, весело оправляя платье, села на диван, около серебряного самовара, как будто всё, что она ни делала, было part de plaisir [развлечением] для нее и для всех ее окружавших.
– J'ai apporte mon ouvrage [Я захватила работу], – сказала она, развертывая свой ридикюль и обращаясь ко всем вместе.
– Смотрите, Annette, ne me jouez pas un mauvais tour, – обратилась она к хозяйке. – Vous m'avez ecrit, que c'etait une toute petite soiree; voyez, comme je suis attifee. [Не сыграйте со мной дурной шутки; вы мне писали, что у вас совсем маленький вечер. Видите, как я одета дурно.]
И она развела руками, чтобы показать свое, в кружевах, серенькое изящное платье, немного ниже грудей опоясанное широкою лентой.
– Soyez tranquille, Lise, vous serez toujours la plus jolie [Будьте спокойны, вы всё будете лучше всех], – отвечала Анна Павловна.
– Vous savez, mon mari m'abandonne, – продолжала она тем же тоном, обращаясь к генералу, – il va se faire tuer. Dites moi, pourquoi cette vilaine guerre, [Вы знаете, мой муж покидает меня. Идет на смерть. Скажите, зачем эта гадкая война,] – сказала она князю Василию и, не дожидаясь ответа, обратилась к дочери князя Василия, к красивой Элен.
– Quelle delicieuse personne, que cette petite princesse! [Что за прелестная особа эта маленькая княгиня!] – сказал князь Василий тихо Анне Павловне.
Вскоре после маленькой княгини вошел массивный, толстый молодой человек с стриженою головой, в очках, светлых панталонах по тогдашней моде, с высоким жабо и в коричневом фраке. Этот толстый молодой человек был незаконный сын знаменитого Екатерининского вельможи, графа Безухого, умиравшего теперь в Москве. Он нигде не служил еще, только что приехал из за границы, где он воспитывался, и был в первый раз в обществе. Анна Павловна приветствовала его поклоном, относящимся к людям самой низшей иерархии в ее салоне. Но, несмотря на это низшее по своему сорту приветствие, при виде вошедшего Пьера в лице Анны Павловны изобразилось беспокойство и страх, подобный тому, который выражается при виде чего нибудь слишком огромного и несвойственного месту. Хотя, действительно, Пьер был несколько больше других мужчин в комнате, но этот страх мог относиться только к тому умному и вместе робкому, наблюдательному и естественному взгляду, отличавшему его от всех в этой гостиной.
– C'est bien aimable a vous, monsieur Pierre , d'etre venu voir une pauvre malade, [Очень любезно с вашей стороны, Пьер, что вы пришли навестить бедную больную,] – сказала ему Анна Павловна, испуганно переглядываясь с тетушкой, к которой она подводила его. Пьер пробурлил что то непонятное и продолжал отыскивать что то глазами. Он радостно, весело улыбнулся, кланяясь маленькой княгине, как близкой знакомой, и подошел к тетушке. Страх Анны Павловны был не напрасен, потому что Пьер, не дослушав речи тетушки о здоровье ее величества, отошел от нее. Анна Павловна испуганно остановила его словами:
– Вы не знаете аббата Морио? он очень интересный человек… – сказала она.
– Да, я слышал про его план вечного мира, и это очень интересно, но едва ли возможно…
– Вы думаете?… – сказала Анна Павловна, чтобы сказать что нибудь и вновь обратиться к своим занятиям хозяйки дома, но Пьер сделал обратную неучтивость. Прежде он, не дослушав слов собеседницы, ушел; теперь он остановил своим разговором собеседницу, которой нужно было от него уйти. Он, нагнув голову и расставив большие ноги, стал доказывать Анне Павловне, почему он полагал, что план аббата был химера.
– Мы после поговорим, – сказала Анна Павловна, улыбаясь.
И, отделавшись от молодого человека, не умеющего жить, она возвратилась к своим занятиям хозяйки дома и продолжала прислушиваться и приглядываться, готовая подать помощь на тот пункт, где ослабевал разговор. Как хозяин прядильной мастерской, посадив работников по местам, прохаживается по заведению, замечая неподвижность или непривычный, скрипящий, слишком громкий звук веретена, торопливо идет, сдерживает или пускает его в надлежащий ход, так и Анна Павловна, прохаживаясь по своей гостиной, подходила к замолкнувшему или слишком много говорившему кружку и одним словом или перемещением опять заводила равномерную, приличную разговорную машину. Но среди этих забот всё виден был в ней особенный страх за Пьера. Она заботливо поглядывала на него в то время, как он подошел послушать то, что говорилось около Мортемара, и отошел к другому кружку, где говорил аббат. Для Пьера, воспитанного за границей, этот вечер Анны Павловны был первый, который он видел в России. Он знал, что тут собрана вся интеллигенция Петербурга, и у него, как у ребенка в игрушечной лавке, разбегались глаза. Он всё боялся пропустить умные разговоры, которые он может услыхать. Глядя на уверенные и изящные выражения лиц, собранных здесь, он всё ждал чего нибудь особенно умного. Наконец, он подошел к Морио. Разговор показался ему интересен, и он остановился, ожидая случая высказать свои мысли, как это любят молодые люди.


Вечер Анны Павловны был пущен. Веретена с разных сторон равномерно и не умолкая шумели. Кроме ma tante, около которой сидела только одна пожилая дама с исплаканным, худым лицом, несколько чужая в этом блестящем обществе, общество разбилось на три кружка. В одном, более мужском, центром был аббат; в другом, молодом, красавица княжна Элен, дочь князя Василия, и хорошенькая, румяная, слишком полная по своей молодости, маленькая княгиня Болконская. В третьем Мортемар и Анна Павловна.
Виконт был миловидный, с мягкими чертами и приемами, молодой человек, очевидно считавший себя знаменитостью, но, по благовоспитанности, скромно предоставлявший пользоваться собой тому обществу, в котором он находился. Анна Павловна, очевидно, угощала им своих гостей. Как хороший метрд`отель подает как нечто сверхъестественно прекрасное тот кусок говядины, который есть не захочется, если увидать его в грязной кухне, так в нынешний вечер Анна Павловна сервировала своим гостям сначала виконта, потом аббата, как что то сверхъестественно утонченное. В кружке Мортемара заговорили тотчас об убиении герцога Энгиенского. Виконт сказал, что герцог Энгиенский погиб от своего великодушия, и что были особенные причины озлобления Бонапарта.
– Ah! voyons. Contez nous cela, vicomte, [Расскажите нам это, виконт,] – сказала Анна Павловна, с радостью чувствуя, как чем то a la Louis XV [в стиле Людовика XV] отзывалась эта фраза, – contez nous cela, vicomte.
Виконт поклонился в знак покорности и учтиво улыбнулся. Анна Павловна сделала круг около виконта и пригласила всех слушать его рассказ.
– Le vicomte a ete personnellement connu de monseigneur, [Виконт был лично знаком с герцогом,] – шепнула Анна Павловна одному. – Le vicomte est un parfait conteur [Bиконт удивительный мастер рассказывать], – проговорила она другому. – Comme on voit l'homme de la bonne compagnie [Как сейчас виден человек хорошего общества], – сказала она третьему; и виконт был подан обществу в самом изящном и выгодном для него свете, как ростбиф на горячем блюде, посыпанный зеленью.
Виконт хотел уже начать свой рассказ и тонко улыбнулся.
– Переходите сюда, chere Helene, [милая Элен,] – сказала Анна Павловна красавице княжне, которая сидела поодаль, составляя центр другого кружка.
Княжна Элен улыбалась; она поднялась с тою же неизменяющеюся улыбкой вполне красивой женщины, с которою она вошла в гостиную. Слегка шумя своею белою бальною робой, убранною плющем и мохом, и блестя белизною плеч, глянцем волос и брильянтов, она прошла между расступившимися мужчинами и прямо, не глядя ни на кого, но всем улыбаясь и как бы любезно предоставляя каждому право любоваться красотою своего стана, полных плеч, очень открытой, по тогдашней моде, груди и спины, и как будто внося с собою блеск бала, подошла к Анне Павловне. Элен была так хороша, что не только не было в ней заметно и тени кокетства, но, напротив, ей как будто совестно было за свою несомненную и слишком сильно и победительно действующую красоту. Она как будто желала и не могла умалить действие своей красоты. Quelle belle personne! [Какая красавица!] – говорил каждый, кто ее видел.
Как будто пораженный чем то необычайным, виконт пожал плечами и о опустил глаза в то время, как она усаживалась перед ним и освещала и его всё тою же неизменною улыбкой.
– Madame, je crains pour mes moyens devant un pareil auditoire, [Я, право, опасаюсь за свои способности перед такой публикой,] сказал он, наклоняя с улыбкой голову.
Княжна облокотила свою открытую полную руку на столик и не нашла нужным что либо сказать. Она улыбаясь ждала. Во все время рассказа она сидела прямо, посматривая изредка то на свою полную красивую руку, которая от давления на стол изменила свою форму, то на еще более красивую грудь, на которой она поправляла брильянтовое ожерелье; поправляла несколько раз складки своего платья и, когда рассказ производил впечатление, оглядывалась на Анну Павловну и тотчас же принимала то самое выражение, которое было на лице фрейлины, и потом опять успокоивалась в сияющей улыбке. Вслед за Элен перешла и маленькая княгиня от чайного стола.