Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://old.hcs.cmc.msu.ru/lectures/AnalizeIT/Ch5_4.html
Дата изменения: Thu Jan 15 23:15:51 2004 Дата индексирования: Mon Oct 1 23:21:18 2012 Кодировка: Windows-1251 |
Часть VРазвитие стандартов POSIXВ конце 90-х годов прошлого века началась разработка стандартов POSIX нового поколения, получивших название POSIX 200х. В их разработке объединили свои усилия в рамках деятельности Austin Group (http://www.opengroup.org/austin) организации IEEE, Open Group, JTC1 ISO, а также крупнейшие производители компьютерных систем Hewlett-Packard Company, IBM, Novell, Open Software Foundation, Sun Microsystems и др. К началу 2000 г. выполнена большая работа по пересмотру и реорганизации основных спецификаций POSIX, результатом которой явилась подготовка в качестве проекта международного стандарта фундаментального документа, получившего название EEE Std. 1003.1-200x. Объем этого документа превышает три с половиной тысячи страниц. IEEE Std. 1003.1-200x определяет стандарт основного интерфейса операционной системы и окружения, включая интерфейс командного интерпретатора (''shell''), а также программы общих утилит. Цель документа осталась прежней - поддержка переносимости приложений на уровне исходного текста. IEEE Std. 1003.1-200x описывает внешние характеристики и средства, которые применяются при разработке широкого спектра приложений и систем. При определении функциональности интерфейса, определенного в данном документе, основной акцент делался на функциях и средствах, используемых в коммерческих приложениях. Документ IEEE Std. 1003.1-200x разработан на основе пересмотра и интеграции следующих спецификаций:
Важно отметить, что представленные спецификации согласованы со стандартом языка С 99 (ISO/IEC 9899: 1999, Programming Languages - C). За рамками документа IEEE Std. 1003.1-200x остались такие вопросы, как:
Документ IEEE Std. 1003.1-200x включает три обязательные компоненты, каждая из которых представлена отдельным томом:
Том "Базовые определения" содержит: определение общих для всего документа IEEE Std. 1003.1-200x терминов и понятий (более 450); описание соглашения об утилитах и опциях; определения заголовков на языке С, содержащих описания прототипов функций, символьных констант, макросов, общих типов данных. Также в него входит описание наборов символов, понятий и методики построения систем с учетом их интернационализации и локализации, структуры файлов и терминального интерфейса и т.п. Поэтому с ним следует знакомиться до использования других частей документа. В том "Системные интерфейсы" вошли определения:
Том "Оболочка и утилиты" содержит определения стандартного интерфейса на уровне исходного кода для сервисов, обеспечиваемых средствами командного языка shell, а также описание общих программ-утилит юниксоподобной ОС. Еще одной важной информативной компонентой документа IEEE Std. 1003.1-200x, также представленной отдельным томом, является "Обоснование" (Rationale). Этот том содержит описание семантики важнейших методов и механизмов ОС, обоснование выбранных при разработке интерфейсов решений, примеры использования сервисов интерфейса, особенно для таких приложений как организация совмещенных вычислений и управление вычислительным процессом в условиях ограничений реального времени. Важными свойствами программных интерфейсов, представленных в документе IEEE Std. 1003.1-200x, является модульность их построения и параметризуемость. Эти свойства реализуются посредством аппарата символьных констант, которые используются как для обозначения групп тесно связанных друг с другом функций интерфейса, так и для обозначения опций (или режимов) работы системы. Инициализация такой константы значением, отличным от -1, означает поддержку системой (окружением приложения) соответствующей группы функций или опции для выполнения некоторой операции. В частности, данный аппарат применяется для определения критериев конформности реализаций (систем) исходным спецификациям (в документе IEEE Std. 1003.1-200x определено несколько уровней критериев конформности реализаций данному документу). Одним из таких критериев соответствия реализации спецификациям IEEE Std. 1003.1-200x является так называемая POSIX-конформность (POSIX conformance), которая определяется с помощью рассматриваемого аппарата символьных констант следующим образом: реализация будет называться конформной в соответствии с критерием POSIX-конформности, в случае выполнения следующих условий:
Как указывалось выше, символьные константы могут обозначать группы функций интерфейса или опции. Примерами символьных констант, относящихся к первому случаю являются:
Ниже приводятся соответствующие этим символьным константам группы функций. _POSIX_C_LANG_SUPPORT: General C Library Support
_POSIX_DEVICE_IO: Device Input and Output
_POSIX_FILE_SYSTEM: File System
_POSIX_SIGNALS: Signal
Таким образом, аппарат символьных констант обеспечивает как функциональную модульность POSIX-спецификаций, так и средство для сравнения функциональных свойств реализации с исходными спецификациями. Кроме этого, аппарат символьных констант успешно применяется и при разработке профилей систем, с чем мы и познакомимся в следующем разделе. |