460 likes | 681 Views
6 . Система стандартов окружений открытых систем POSIX ( POSIX OSE ) и эталонная модель RM OSE. Лаборатория Открытых информационных технологий Проф. В.А. Сухомлин. 1. Методология и система стандартов POSIX OSE.
E N D
6. Система стандартов окружений открытых систем POSIX (POSIX OSE) и эталонная модель RM OSE Лаборатория Открытых информационных технологий Проф. В.А. Сухомлин
1. Методология и система стандартов POSIX OSE Методология и система стандартов POSIX OSE (POSIX - Portable Operating System Interface for Computer Environments, OSE - Open System Environment)-разработка IEEE . Данный подход описан в документе IEEE P1003.0“Guide to the POSIX Open System Environment”(«Руководство по окружению открытых систем POSIX”). Руководство POSIX предназначено для проектирования и использования открытых систем обработки информации.
2. Область применения IEEE P1003.0 ориентирован на потребителей систем (consumers), системных интеграторов (systems integrators), разработчиков приложений (application developers), провайдеров систем (systems providers), агентств-поставщиков технологий (procurement agencies). Область применения POSIX OSE- стандарты спецификаций пользовательских интерфейсов (API), которые в совокупности покрывают все аспекты создания и использования общецелевых систем обработки информации. IEEE P1003.0 – не стандарт, а руководство по применению стандартов и каталог стандартов.
3. Цели подхода POSIX OSE Обеспечение для информационных систем: • Переносимости приложений на уровне исходных текстов (Application Portability at the Source Code Level) • Системной интероперабельности (System Interoperability) • Переносимости пользователей (User Portability) • Адаптируемостикстандартам (Accommodation of Standards) • Адаптируемостикновымтехнологиям (Accommodation of new IT)
3. Цели подхода POSIX OSE (продолжение) • Масштабируемостиплатформ (Application Platform Scalability) • Масштабируемости распределенных систем (Distributed System Scalability) • Прозрачностиреализаций (Implementation Transparency) • Точности спецификаций пользовательских функциональных требований (User Functional Requirements)
4. Ожидаемый эффект Руководство 1003.0 предназначено для поддержки решения следующих задач: - Интеграция информационных систем из компонент различных изготовителей - Эффективность реализаций и разработок, благодаря точности спецификаций и соответствию передовым стандартам - Эффективность переноса прикладного программного обеспечения, благодаря использованию стандартных интерфейсов и прозрачности реализации сервисов систем.
5. Формирование системы стандартов Первый стандарт IEEE на базовые интерфейсы ОС под индексом IEEE Std. 1003.1, известный как POSIX 1, был принят в 1988 г. В 1990 г. IEEE Std. 1003.1 пересматривается и принимается ISO в качестве международного стандарта (ISO 9945-1:1990). Впоследствиебылразработанещерядстандартов IEEE и ISO наинтерфейсыОС, включая: 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.
5. Индексация стандартов POSIX Индексация стандартов 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. Структура и состав системы стандартов POSIX Project Standard/Profile P1003.0 Guide to the POSIX OSE P1003.1,.1a System Interfaces P1003.1b,.1d Realtime P1003.1c Threads P1003.1e Security 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
5. Структура и состав системы стандартов POSIX 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 P1003.21 Realtime Distributed Systems Communications P1003.22 Guide to POSIX OSE Security Framework P1201.1 Uniform API for Graphical User Interfaces
5. Структура и состав системы стандартов POSIX P1201.2 User Interface Drivability P1224 OSI API – Abstract Data Manipulation P1224.1 OSI API – X.400 Electronic Mail P1224.2 OSI API – X.500 Directory Services P1227.0 OSI API Common Support Functions P1238.1 OSI API FTAM Test Methods and C Binding P1224 OSI API Abstract Data Manipulation - C Binding P1224.1 OSI API X.400 - C Binding P1224.2 OSI API X.500 - C Binding P1387.n System Administration P2003.n Test Methods
6. Общий подход В POSIX OSEинформационная система рассматривается как черный ящик, взаимодействие с которым стандартизовано и осуществляется только через ее интерфейсы. Через интерфейсы система (платформа) может предоставлять сервисы пользователям (приложениям) и использовать сервисы сущностей внешнего окружения. Центральным понятием данной модели является понятие окружения открытых систем (Open System Environment – OSE). Под открытой системой подразумевается система ИТ, реализующая OSE.
7. Определения application platform application program interface (API) application software Application Environment Profile (AEP) base standard Communications Interface External Environment Interface (EEI) external environment Human/Computer Interface Information Interchange Interface
7. Определения (продолжение) internationalization interoperability language-binding API language-independent service specification localization open specifications open system Open System Environment (OSE) platform profile portability
7. Определения (продолжение) POSIX Standardized Profile (POSIX SP) profile programming language API specification public specifications reference model scalability specification standardized profile standards validation
8. Принципы построенияPOSIX OSE Стандарты POSIX OSEвключают в себя: эталонную модель окружений открытых систем POSIX - OSE RM (Open System Environment Reference Model), обширный набор базовых стандартов и профилей API, методику профилирования разрабатываемых систем, методологию тестирования конформности программных интерфейсов стандартам и профилям, таксономию профилей, абстрактные методы тестирования по существу для каждой спецификации API. POSIX OSE основывается на эталонной модели RM OSE. В OSE RM определяются два типа интерфейсов (и сервисов): - интерфейсприкладныхпрограмм (Application Program Interface (API)); • интерфейсвнешнегоокружения (External Environment Interface (EEI)).
8.1. Схема построения OSE RM 1) В OSE RM стандарты разбиваются на две категории в соответствии с двумя типами интерфейсов: - стандартыинтерфейсовприкладныхпрограмм (Application Program Interface (API) Standards); - стандартывнешнегоокружения (External Environment Interface (EEI) Standards). Первая - специфицирует взаимодействие прикладного программного обеспечения прикладной платформой. (Предназначены для переносимости приложений). Вторая - определяет взаимодействие системы с ее внешним окружением. (Предназначены для обеспечения интероперабельности систем, переносимости пользователей и данных).
8.1. Главная задача Следование стандартам обеих групп позволяет решить главную задачу для потребителей информационных технологий - обеспечить возможность построения информационных систем из компонентов, поставляемых различными изготовителями, и, как следствие, обеспечить независимость от поставщиков технологий в целом.
8.2. Схема построения OSE RM 2) Указанные выше группы сервисов и стандартов, разбиваются на четыре основных категории: -системные или программные сервисы (System Services) - коммуникационные сервисы (Communication Services) - информационные сервисы (Information Services) - сервисы человеко-машинного взаимодействия (Human/Computer Interaction Services).
8.3. Схема построения OSE RM 3) Для каждой категории сервисов определяется функциональное разбиение на подкатегориисервисов Service Category Subcategories 1. System Services Language Services Core System Services 2. Communication Services Communication Services 3. Information Services Database Services Data Interchange Services Transaction Processing Services 4. H/C Services User Command Interface S. Character-Based User Interf.S. Windows System Services Graphics Services ASDS Services
8.4. Схема построения OSE RM 4) Определяется общее представление RM OSE. 5) Для каждой подкатегории сервисов конкретизируется общая RM OSE с учетом особенностей ее использования. 6) Для каждой подкатегории сервисов на основе соответствующей RM OSEопределяется набор сервисов(функциональность) категории. 7) Для каждого сервиса определяются соответствующие ему ссылки на существующие или разрабатываемые стандарты.
8.4. Схема построения OSE RM 8) В RMPOSIX выделены, так называемые, межкатегориальные сервисы (Cross-Category Services), элементы которых могут входить в любую группу сервисов. К ним относятся: • сервисы интернационализации (Internationalization Services), • сервисы системной безопасности (System Security Services), • сервисы административного управления (Systems Management Services).
9.2API POSIX OSE API – книжная полка, содержащая стандартизованные спецификации APIs. POSIX OSE API – полный набор сервисов, предоставляемых прикладной платформой на API. Сервисы, предоставляемые на API, подразделяются на следующие категории: - System Services API - Communications Services API - Information Services API • Human/Computer Interaction Services API Первая категория обеспечивает доступ к внутренним ресурсам платформы, остальные – к объектам ЕЕ.
9.2API-спецификации Формы API-спецификаций: 1) Programming language API specifications – полностью представленные средствами ЯП. 2) Language-independent service specifications – форма представления не зависит от ЯП. 3) Language-binding API specifications – (2),оттранслированные в форму доступа к сервису, соответствующую конкретному языку программирования. (2) и (3) – наиболее перспективный способ стандартизации API Поэтому базовые спецификации ЯП и спецификации языково-ориентированного связывания являются главными компонентами API.
9.2 Взаимосвязь сервисов EEI-API Взаимосвязь может быть сложной – например, storage-сервис на API может предоставлять приложению прозрачный доступ к удаленному файлохранилищу, используя также сетевой сервис. Доступ в внешним объектам из приложения может осуществляться только через запрос соответствующего сервиса на API. В POSIX OSE взаимосвязь сервисов интерфейсов детально не конкретизируется, чтобы не ограничивать выбор оптимальных решений при реализации платформ.
9.3RM OSE OSE(Distributed Systems) В распределенных окружениях прикладные платформы могут взаимодействовать посредством коммуникационного сервиса на EEI. Если приложению необходимо взаимодействие с приложением на другой платформе, то оно делает запрос коммуникационного сервиса на своем API. Запрос на API платформа транслирует в соответствующие действия на EEI. Платформа может состоять из нескольких компонент, взаимодействующих через внутриплатформенный интерфейс.
10. Категории сервисов System Services: Language Services System Services Communications Services: Network Services Information Services: Database Services Data Interchange Services Transaction Processing Services Human-Computer Interaction Services: User Command Interface Services Character-Based User Interf. Ss. Windowing System Services Graphic Services ASDSS
10.1 Методика описания категорий сервисов Для описания каждой категории сервисов используется следующая схема: 4.__n.1 Overview and Rationale 4.__n.2 Scope 4.__n.3 Reference Model 4.__n.4 Services 4.__n.5 Standards, Specifications, and Gaps 4.__n.6 POSIX OSE Cross-Category Services 4.__n.7 Related Standards 4.__n.8 Open Issues
11.1 Стандарты языков программирования Ada ISO 8652 C ISO/IEC 9899 C++ ISO/IEC 14882 COBOL ISO 1989 FORTRAN ISO 1539
12.1 Process and Thread Management Services - Stop and restart execution of a process or thread(suspend, resume) - Modify processor allocation to a process or thread(priority, time slice) - Modify scheduling of the process or threadbased on timer (or other) events - Protect the process or threadfrom interruption during critical periods - Create a process or threadand make it ready for execution - Destroy a process or threadand recover its resources - Evaluate a reference to a process - Evaluate a connection to a process or thread, where a connection is a logical communication path between any two concurrency entities
12.2 Environment Services - Attributes specific to entity (process/thread): identification, priority, stack size, scheduling attributes, status, memory allocation) - Processor-specific attributes (node identification, electronic nameplate information) - User-specific attributes (user identification and terminal ID, user interaction profile) - Environment variables (command-line arguments, menu selections) - Current time and date
12.3 Node Internal Comm and Sync Services - Create, delete, open, close, read, and write shared memory - Create, delete, read, and write event flags - Create, delete, set, and wait on semaphores - Create/send and receive signals - Create, delete, open, close, send to, get from, and control message queues (IPC) - Create, delete, send, and receive streams
12.4 Core System Services Standards Process and Tread Management ISO/IEC 9945-1 Task Management ISO/IEC 9945-1 Environment Services ISO/IEC 9945-1 Node Internal Comm/Synch ISO/IEC 9945-1 Generalized I/O ISO/IEC 9945-1 File Oriented Services ISO/IEC 9945-1 Event, Error, and Exception ISO/IEC 9945-1 Time Services ISO/IEC 9945-1 Memory Management ISO/IEC 9945-1 Logical Naming ISO/IEC 9945-1 Scheduling Services ISO/IEC 9945-1 Asynchronous I/O IEEE Std 1003.b-1 Asynchronous I/O IEEE Std 1003.b-1 Realtime Signals IEEE Std 1003.b-1
13.1 Application-to-Platform Communication Services Запрашивается приложением, выполняется платформой от имени данного приложения, посредством взаимодействия с удаленным приложением: 1) File transfer 2) Virtual Terminal 3) Electronic mail
13.2 Application-to-Application Communication Services - RPC Services - Simple Network Services - Detailed Network Services - Distributed System Services
13.3 EEI Services. Incoming Connection Services - Virtual terminal - Remote execution of commands - File transfer services - Remote authentication - Remote data access - Remote status information - Mail delivery services - Directory services
14. Таксономии профилей OSEPOSIX PSEab-HIP High Performance Application Environments a b Substructure 1 0 Supercomputing Application Environment 1 1 Multiprocessor Application Environment PSEab-P Realtime Application Environment a b Substructure 5 1 Minimal Realtime System Profile 5 2 Realtime Controller System Profile 5 3 Dedicated Realtime System Profile PSEab-IP Realtime Application Environment a b Substructure 5 4 Multipurpose Realtime System Profile
15. Развитие стандартов POSIX В настоящее времяведется разработка стандартов 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 г. разработан в качестве проекта международного стандарта фундаментальный документ, получивший название EEE Std. 1003.1-200x. Объем этого документа превышает три с половиной тысячи страниц. IEEE Std. 1003.1-200x определяет стандарт основного интерфейса операционной системы и окружения, включая интерфейс командного интерпретатора (‘‘shell’’), а также программы общих утилит.