Posix

Posix

Название Posix образовано от «Portable Operating System Interface», что означает приблизительно «интерфейс переносимых операционных систем». Это не один стандарт, а целое семейство, разработанное Институтом инженеров по электротехнике и радиоэлектронике (Institute for Electrical and Electronics Engineers — IEEE). Стандарты Posix были также приняты в качестве международных стандартов ISO (International Organization for Standardization, Международная организация по стандартизации) и IEC (International Electrotechnical Commission, Международная электротехническая комиссия), или ISO/IEC. Стандарты Posix прошли несколько стадий разработки.

? Стандарт IEEE 1003.1-1988 (317 страниц) был первым стандартом Posix. Он определял интерфейс взаимодействия языка С с ядром Unix-типа в следующих областях: примитивы для реализации процессов (вызовы fork, exec, сигналы и таймеры), среда процесса (идентификаторы пользователей, группы процессов), файлы и каталоги (все функции ввода-вывода), работа с терминалом, базы данных системы (файлы паролей и групп), форматы архивов tar и cpio.

ПРИМЕЧАНИЕ

Первый стандарт Posix вышел в рабочем варианте под названием IEEEIX в 1986 году. Название Posix было предложено Ричардом Штолманом (Richard Stallman). 

? Затем вышел стандарт IEЕЕ 1003.1-1990 (356 страниц). Он одновременно являлся и международным стандартом ISO/IEC 9945-1:1990. По сравнению с версией 1988 года изменения в версии 1990 года были минимальными. К заголовку было добавлено: «Part 1: System Application Program Interface (API) [C Language]» («Часть 1: Системный интерфейс разработки программ (API) [Язык С])», и это означало, что стандарт описывал программный интерфейс (API) языка С. 

? IEEE 1003.2-1992 вышел в двух томах общим объемом около 1300 страниц, и его заголовок содержал строку «Part 2: Shell and Utilities» (Часть 2: «Интерпретатор и утилиты»). Эта часть определяла интерпретатор (основанный на Bourne shell в Unix System V) и около ста утилит (программ, обычно вызываемых из интерпретатора — от awk и basename до vi и уасс). В настоящей книге мы будем ссылаться на этот стандарт под именем Posix. 2.

? IEEE 1003.1b-1993 (590 страниц) изначально был известен как IEEE P1003.4. Этот стандарт представлял собой дополнение к стандарту 1003.1-1990 и включал расширения реального времени, разработанные рабочей группой Р1003.4: синхронизацию файлов, асинхронный ввод-вывод, семафоры, управление памятью, планирование выполнения (scheduling), часы, таймеры и очереди сообщений.

? IEEE 1003.1, издание 1996 года [8] (743 страницы), включает 1003.1-1990 (базовый интерфейс API), 1003.1b-1993 (расширения реального времени), 1003.1-1995 (Pthreads — программные потоки Posix) и 1003.1i-1995 (технические поправки к 1003.1b). Этот стандарт также называется ISO/IEC 9945-1: 1996. В него были добавлены три главы о потоках и дополнительные разделы, касающиеся синхронизации потоков (взаимные исключения и условные переменные), планирование выполнения потоков, планирование синхронизации. В настоящей книге мы называем этот стандарт Posix.1.

ПРИМЕЧАНИЕ

Более четверти из 743 страниц стандарта представляли собой приложение, озаглавленное «Rationale and Notes» («Обоснование и примечания»). Это обоснование содержит историческую информацию и объяснение причин, по которым некоторые функции были или не были включены в стандарт. Часто обоснование оказывается не менее полезным, чем собственно стандарт.

К сожалению, стандарты IEEE не являются свободно доступными через Интернет. Информация о том, где можно заказать книгу, дана в библиографии под ссылкой [8]. Обратите внимание, что семафоры были определены в стандарте расширений реального времени, отдельно от взаимных исключений и условных переменных (которые были определены в стандарте Pthreads), что объясняет некоторые различия в интерфейсах API этих средств.

Наконец, заметим, что блокировки чтения-записи не являются частью стандартов Posix. Об этом более подробно рассказано в главе 8. 

В будущем планируется выход новой версии IEEE 1003.1, включающей стандарт P1003.1g, сетевые интерфейсы (сокеты и XTI), которые описаны в первом томе этой книги.

В предисловии стандарта Posix.1 1996 года утверждается, что стандарт ISO/IEC 9945 состоит из следующих частей:

1. Системный интерфейс разработки программ (API) (язык С).

2. Интерпретатор и утилиты.

3. Администрирование системы (в разработке).

Части 1 и 2 представляют собой то, что мы называем Posix.1 и Posix.2. 

Работа над стандартами Posix постоянно продолжается, и авторам книг, с ними связанных, приходится заниматься стрельбой по движущейся мишени. О текущем состоянии стандартов можно узнать на сайте http://www.pasc.org/standing/sd11.html.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

(3.23) Отключение подсистем POSIX и OS2.

Из книги Win2K FAQ (v. 6.0) автора Шашков Алексей

(3.23) Отключение подсистем POSIX и OS2. POSIX является стандартом взаимодействия операционных систем, он включен в Windows 2000 по требованию правительства США, а подсистема OS2 нужна для запуска соответствующих приложений. Обычные пользователи вряд ли когда будут задействовать эти


Posix

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

Posix Название Posix образовано от «Portable Operating System Interface», что означает приблизительно «интерфейс переносимых операционных систем». Это не один стандарт, а целое семейство, разработанное Институтом инженеров по электротехнике и радиоэлектронике (Institute for Electrical and Electronics Engineers


ГЛАВА 2 Posix IPC

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

ГЛАВА 2 Posix IPC 2.1. Введение Из имеющихся типов IPC следующие три могут быть отнесены к Posix IPC, то есть к методам взаимодействия процессов, соответствующим стандарту Posix:? очереди сообщений Posix (глава 5);? семафоры Posix (глава 10);? разделяемая память Posix (глава 13).Эти три вида IPC


Взаимные исключения Posix

Из книги QNX/UNIX [Анатомия параллелизма] автора Цилюрик Олег Иванович

Взаимные исключения Posix В листинге А.19 приведены глобальные переменные и функция main пpoгрaммы, измеряющей быстродействие взаимных исключений Posix.Листинг А.19. Глобальные переменные и функция main для взаимных исключений Posix//bench/incr_pxmutex1.с1  #include "unpipc.h"2  #define MAXNTHREADS 1003  int


Именованные семафоры Posix

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Именованные семафоры Posix В листинге А.26 приведен текст функции main, измеряющей быстродействие именованных семафоров Posix, а в листинге А.25 — соответствующая функция incr.Листинг А.25. Увеличение общего счетчика с использованием именованного семафора Posix//bench/incr_pxsem2.c40 void


6.2. Интерфейсы POSIX

Из книги Linux программирование в примерах автора Роббинс Арнольд

6.2. Интерфейсы POSIX 6.2.1. Обязательные типы POSIX POSIX описывает некоторые определения типов в заголовочном файле <sys/types.h>, которые используются для многих аргументов и возвращаемых значений. Эти определения типов важны, потому что стандартные типы языка С могут быть разными


Отличия от POSIX

Из книги Операционная система UNIX автора Робачевский Андрей М.

Отличия от POSIX Если следовать POSIX-стандарту, то некоторые из атрибутов невозможно переопределить до фактического создания этого стандарта (их можно изменить позже в самом коде потока, но иногда это не совсем правильное решение). Все эти возможности относятся к


POSIX

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

POSIX В Linux и UNIX самый простой путь установления переменных окружения - добавить их определения в общесистемный профиль значений по умолчанию.Пользователь root также может:* выдать команды setenv() из командной строки wu командного скрипта;* для временного использования


POSIX

Из книги Разработка ядра Linux автора Лав Роберт

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


Восстановление в POSIX

Из книги автора

Восстановление в POSIX Пользователь, который был текущим на сервере, когда был вызван Менеджер серверов для выполнения копирования - root, firebird или interbase - является владельцем файла копии на уровне файловой системы, что позволяет читать его только этим пользователем.Когда вам


10.6. Сигналы POSIX

Из книги автора

10.6. Сигналы POSIX API POSIX основан на API sigvec() из BSD 4.2 и 4.3. С небольшими изменениями этот API можно было отнести к возможностям API как V7, так и System V Release 3. POSIX сделал эти изменения и переименовал API sigaction(). Поскольку интерфейс sigvec() широко не использовался, мы не будем его описывать.


IEEE и POSIX

Из книги автора

IEEE и POSIX В 1980 году была создана инициативная группа под названием /usr/group с целью стандартизации программного интерфейса UNIX, т. е. формального определения услуг, предоставляемых операционной системой приложениям. Решение этой задачи упростило бы переносимость приложений


История POSIX

Из книги автора

История POSIX Слово «POSIX» представляет собой сокращение от «Portable Operating System Interface» (интерфейс переносимой операционной системы). POSIX — целое семейство стандартов, разрабатываемых организацией IEEE (Institute of Electrical and Electronics Engineers — Институт инженеров по электротехнике и


Семантика сигналов POSIX

Из книги автора

Семантика сигналов POSIX Сведем воедино следующие моменты, относящиеся к обработке сигналов в системе, совместимой с POSIX.? Однажды установленный обработчик сигналов остается установленным (в более ранних системах обработчик сигналов удалялся каждый раз по


API, POSIX и библиотека С

Из книги автора

API, POSIX и библиотека С Обычно прикладные программы не разрабатываются с непосредственным использованием системных вызовов, при этом используются программные интерфейсы приложений (Application Programing Interface, API). Это является важным, так как в таком случае нет необходимости в