Перейти в оглавлению раздела

Часть V

5.1. Назначение и состав системы стандартов POSIX


    Методология и система стандартов POSIX OSE (POSIX - Portable Operating System Interface for Computer Environments, OSE - Open System Environment) разработаны организацией IEEE (Institute of Electrical and Electronics Engineers), а именно, комитетом стандартов переносимых приложений (Portable Standards Committee) компьютерного сообщества IEEE (IEEE Computer Society).

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

    При разработке стандартов POSIX в качестве исходной функциональности была взята функциональность операционной системы System V Release 4 Unix (S5V4-функциональность). В дальнейшем спецификации POSIX развивались независимо от операционной системы Unix.

    Разработка спецификаций POSIX выполнялась на системной основе, более чем двадцатью рабочими группами. Первый стандарт IEEE на базовые интерфейсы ОС под индексом IEEE Std. 1003.1, также известный как POSIX 1, был принят в 1988 г.

    В 1990 г. пересмотренный вариант этих спецификаций принимается организацией ISO в качестве международного стандарта (ISO 9945-1:1990. Basic OS interfaces) [3]. В последствие был разработан еще ряд стандартов на интерфейсы ОС (в первую очередь стандартов IEEE), включая: POSIX 2 (Shell and utilities), POSIX 3 (Test methods), POSIX 4 (Real-time extensions), … POSIX 6 (Security extensions), POSIX 7 (System administration), … POSIX 21 (Distributed real-time).

    К середине 90-х годов сложилась достаточно обширная система стандартов POSIX. Принятая индексация для стандартов этой системы, основывалась на использовании для обозначения документов, индексов проектов, в рамках которых эти документы разрабатывались. Так стандарт POSIX 1 получил индекс 1003.1 (унаследовав его от номера соответствующего проекта P1003.1), а большинство остальных стандартов стали рассматриваться как его дополнение, поэтому индекс 1003.1 стал префиксом в обозначении ряда стандартов на интерфейсы ОС. Например, спецификации POSIX 4 получили индекс 1003.1.b, POSIX 4a - 1003.1.c, POSIX 6 - 1003.1.e. Стандарты интерфейсов, связанных с оболочкой ОС, получили префикс 1003.2, а методы тестирования - 2003.

    В приведенной ниже таблице 5.1, указаны основные стандарты POSIX OSE вместе с индексами соответствующих им проектов (индексы стандартов получаются из индексов проектов посредством удаления первой буквы).

ProjectStandard/Profile
P1003.0Guide to the POSIX OSE (руководство по окружениям открытых систем POSIX)
P1003.1,.1aSystem Interfaces (системные интерфейсы)
P1003.1b,.1d Realtime (реальное время)
P1003.1c Threads (механизм нитей)
P1003.1e Security API (API безопасности)
P1003.1f Transparent File Access (прозрачный доступ к файлам)
P1003.1g Protocol-Independent Network Specification (протоколо-независимые сетевые спецификации)
P1003.2, .2b Shell and Utilities (оболочка и утилиты)
P1003.2c Security Utilities (утилиты безопасности)
P1003.2d Batch Queuing Extensions (расширения для пакетной обработки)
P1003.5 Ada Bindings (связывание для языка Ада)
1003.5b Ada Realtime Binding (связывание для языка Ада, реальное время)
P1003.9 Fortran Bindings (связывание для языка Фортран)
P1003.10 Supercomputing Profile (профиль для суперкомпьютерных окружений)
P1003.13 Realtime Profile (профили реального времени)
P1003.14 Multiprocessing (мультипроцессирование)
P1003.16 C-Language Bindings (языковое связывание для языка С)
P1003.18 POSIX Platform Profile (профиль POSIX-платформы)
P1003.21 Realtime Distributed Systems Communications (связь распределенных систем реального времени)
P1003.22 Guide to POSIX OSE Security Framework (руководство по основам безопасности окружений открытых систем POSIX)
P1201.1 Uniform API for Graphical User Interfaces (унифицированный API для графического пользовательского интерфейса)
P1201.2 User Interface Drivability (управляемость пользовательским интерфейсом)
P1224 OSI API - Abstract Data Manipulation (API для стандартов OSI, манипулирование абстрактными данными)
P1224.1 OSI API - X400 Electronic Mail/Messaging (OSI API для системы сообщений X400)
P1224.2 OSI API - X500 Directory Services (OSI API для сервисов справочника X500)
P1238.0 OSI API Common Support Functions (OSI API для функций общей поддержки)
P1238.1 OSI API FTAM Test Methods - C Binding (OSI API для методов тестирования протокола FTAM в форме С-связывания)
P1327 OSI API - Abstract Data Manipulation - C Binding (OSI API - Abstract Data Manipulation - С-связывание)
P1327.1 OSI API - X400 - C Binding
P1327.2 OSI API - X500 - C Binding
P1387 System Administration (системное администрирование)
P2003 Requirements and Guidelines for Test Methods Specifications and Test Method Implementations for Measuring Conformance to POSIX Standards (Требования и руководство по спецификации и реализации методов тестирования для измерения соответствия стандартам POSIX)
P2003.n Test Methods (методы тестирования).

    Таким образом, в результате интенсивных усилий специалистов по стандартизации в достаточно сжатые сроки была создана развитая система стандартов прикладных программных интерфейсов ОС, получившая название POSIX OSE, которая предназначена для реализации целей открытости - переносимости и интероперабельности приложений. В ней применяются все основные методы системы стандартов ИТ, рассмотренные в начале книги. В частности, она включает в себя: эталонную модель окружений открытых систем POSIX - OSE RM (Open System Environment Reference Model), обширный набор базовых стандартов и профилей API, методику профилирования разрабатываемых систем, методологию тестирования конформности программных интерфейсов стандартам и профилям, таксономию профилей, абстрактные методы тестирования по существу для каждой спецификации API.

    Наиболее полным описанием методологии и системы стандартов POSIX является документ IEEE P1003.0 "Руководство по окружению открытых систем POSIX" ("Guide to the POSIX Open System Environment") или POSIX 0 [2]. Далее по тексту этот документ будет именоваться Руководством POSIX или просто Руководством. Такое название полностью оправдано, так как данный документ предназначался широкому кругу лиц, включая потребителей систем (consumers), системных интеграторов (systems integrators), разработчиков приложений (application developers), провайдеров систем (systems providers), агенств-поставщиков технологий (procurement agencies).

    Руководство POSIX не разрабатывалось как базовый стандарт. В частности оно не содержит требований конформности, поэтому бессмысленно говорить о конформности ему реализаций ИТ.

    Определяя назначение данного документа, можно отметить его функциональную перегруженность. Руководство содержит: определение важнейших понятий концепции открытых систем и стандартов POSIX, описание эталонной модели OSE RM POSIX, классификацию интерфейсов и сервисов систем, классификацию стандартов POSIX, описание рекомендаций по составлению профилей, описание стандартизованных профилей. В то же время, Руководство POSIX рассматривается как каталог стандартизованных спецификаций (базовых стандартов и стандартизованных профилей), дополненный методикой систематического описания программных интерфейсов при построении систем обработки информации.

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

    В конце 90-х годов организация IEEE прекратила сопровождение Руководства POSIX, объявив его вычеркнутым (withdrawn) из списка стандартизованных спецификаций этой организации, хотя в стандартах POSIX поколения 200Х годов на Руководство POSIX остались ссылки как на актуальный методологический документ. Для стандартов POSIX 200Х роль основного методологического документа переходит к документу ISO 10000, который, как мы уже знаем, многое вобрал из обсуждаемого нами Руководства POSIX, в целом сыгравшего важную роль в разработке и практическом применении концепции открытых систем.

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

    В более полной трактовке целью разработки системы стандартов POSIX OSE являлось обеспечение следующих возможностей (называемых также свойствами открытости) для разрабатываемых информационных систем:

  • Переносимости приложений на уровни исходных текстов (Application Portability at the Source Code Level), т.е. предоставления возможности переноса программ и данных, представленных на исходных текстах языков программирования, с одной платформы на другую.
  • Системной интероперабельности (System Interoperability), т.е. поддержки взаимосвязанности между системами.
  • Переносимости пользователей (User Portability), т.е. обеспечения возможности для пользователей работать на различных платформах без переобучения.
  • Адаптируемости к новым стандартам (Accommodation of Standards), связанным с достижением целей открытости систем.
  • Адаптируемости к новым информационным технологиям (Accommodation of new System Technology) на основе универсальности классификационной структуры сервисов и независимости модели от механизмов реализации.
  • Масштабируемости прикладных платформ (Application Platform Scalability), отражающей возможность переноса и повторного использования прикладного программного обеспечения применительно к разным типам и конфигурациям прикладных платформ.
  • Масштабируемости распределенных систем (Distributed System Scalability), отражающей возможность функционирования прикладного программного обеспечения независимо от развития топологии и ресурсов распределенных систем.
  • Прозрачности реализаций (Implementation Transparency), т.е. скрытия от пользователей за интерфейсами систем особенностей их реализации.
  • Системности и точности спецификаций функциональных требований пользователей (User Functional Requirements), что обеспечивает полноту и ясность определения потребностей пользователей, в том числе, в определении состава применяемых стандартов.

    Как видим, перечисленные выше цели по существу полностью совпадают с целями, определенными для OSE-профилей в документе 10000-3, изучавшемся нами ранее.

    Следование этим методическим рекомендациям позволяет решить следующие главные задачи:

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

    Как уже отмечалось, основные концептуальные, методологические и архитектурные решения системы стандартов POSIX определяются эталонной моделью OSE RM, представленной в Руководстве POSIX. Поэтому изучение стандартов POSIX начнем с изучения этой эталонной модели.

  Оглавление Следующая глава