ГОСТ Р 51954-2002
Группа П85
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Информационная технология
ПРОФИЛЬ ПРИКЛАДНОЙ СРЕДЫ ОРГАНИЗАЦИИ ВЫЧИСЛЕНИЙ
НА суперЭВМ (PSE10-HIP)
Information technology.
Supercomputing application environment profile (PSE10-HIP)
ОКС 35.100.05
ОКСТУ 4002
Дата введения 2004-01-01
Предисловие
1 РАЗРАБОТАН Московским научно-исследовательским центром (МНИЦ) Минсвязи России, Государственным научно-исследовательским институтом информационных технологий и телекоммуникаций (ГНИИ ИТТ "ИНФОРМИКА") Минпромнауки России и Минобразования России, Институтом радиотехники и электроники Российской академии наук (ИРЭ РАН) и Всероссийским научно-исследовательским институтом стандартизации (ВНИИстандарт) Госстандарта России
2 ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 25 октября 2002 г. N 393-ст
3 ВВЕДЕН ВПЕРВЫЕ
Введение
Введение
Настоящий стандарт - один из комплекса стандартов на интерфейсы, оболочку, утилиты и приложения мобильной операционной системы POSIX, реализуемой в открытых системах. Настоящий стандарт определяет набор стандартов и технических требований, обеспечивающих мобильность (переносимость) приложений для суперЭВМ, пользователей и администраторов системы.
Цель разработки настоящего стандарта - определение услуг по реализации приложений суперЭВМ в среде POSIX.
Обязательными элементами настоящего стандарта являются разделы 1, 2, 3, 4, 5, 6 и приложение А, справочными являются приложения Б, В, Г и Д.
Настоящий стандарт разработан с использованием требований соответствующих государственных, межгосударственных и базовых международных и национальных стандартов на основе стандарта Института инженеров электротехники и электроники (ИИЭЭ) ИИЭЭ 1003.10-95 "Стандарт ИИЭЭ по информационным технологиям. POSIX. Профиль прикладной среды организации вычислений на суперЭВМ".
1 Общие положения
1.1 Область применения
Настоящий стандарт определяет:
- профиль прикладной среды организации вычислений на суперЭВМ (вычислительной среды для программных средств суперЭВМ) на основе набора стандартов, относящихся к системе POSIX, в целях обеспечения мобильности приложений (прикладных программных средств) и пользователя в среде суперЭВМ;
- дополнительные требования к среде суперЭВМ, не установленные в стандартах.
В настоящем профиле определены стандарты, варианты их применения (опции) и дополнительные требования, необходимые для приложений на суперЭВМ и пользователей в среде POSIX.
В настоящем профиле основное внимание уделено вопросам переносимости приложений и пользователей в среде суперЭВМ. Приложения для суперЭВМ отличаются от других вычислительных приложений по масштабу вычислительной задачи. Огромный масштаб приложений для суперЭВМ вызывает потребность в услугах, которые часто отсутствуют или не полностью реализуются в малых системах. Целью настоящего стандарта является уточнение среды, в которой предоставляются данные услуги.
Настоящий профиль разработан на основе рекомендаций стандартов серии ГОСТ Р ИСО/ МЭК ТО 10000 (части 1-3) с учетом требований ГОСТ Р 1.5.
Классификация профиля, установленного в настоящем стандарте, - по ГОСТ Р ИСО/МЭК ТО 10000-3.
В настоящем профиле использована модель традиционной среды суперЭВМ: централизованный компьютер и данные являются объектом для доступа от других компьютеров и данных, обслуживающих объекты с разными функциональными возможностями. Так как центральным объектом может быть одна реально обслуживающая система, настоящий стандарт не ограничивает возможности реализации головного объекта в виде набора автоматизированных рабочих мест (рабочих станций) или ЭВМ с массовым параллельным обслуживанием, которые используют как единый головной объект.
Настоящий стандарт предназначен для заказчиков, поставщиков и разработчиков суперЭВМ, а также для разработчиков приложений для них. Определяя список требуемых стандартов и любых соответствующих вариантов их реализации, настоящий стандарт полезен для каждой группы пользователей.
Настоящий стандарт создает основу для создания стандартов среды, которая может быть использована для реализации объектовой системы и разработки приложений. Настоящий стандарт также является руководством для пользователей при приобретении систем и приложений. Определение в настоящем стандарте конкретного набора стандартов и вариантов их реализации обеспечивает максимальный уровень переносимости приложений и согласованности при взаимодействии пользователей. Тем самым пользователь получает возможность приобретать и эффективно применять новые системы и новые приложения, разработанные в соответствии с настоящим стандартом.
Настоящий стандарт не распространяется на системы других типов, такие как системы реального времени, обработки транзакций, обработки ошибок и т.д.
Настоящий стандарт не устанавливает никаких конкретных требований к средам суперЭВМ с массовым параллелизмом или распределенной обработкой. Эти режимы обеспечивают вычислительные мощности приложений для суперЭВМ, стандартизация которых преждевременна. В последующем область применения настоящего стандарта может быть расширена при включении данных приложений.
1.2 Сценарий и модель среды суперЭВМ
Типовая система суперЭВМ является самодостаточной; она охватывает как среду разработки приложений, так и среду их функционирования. Такая система может быть реально скомпонована из набора механизмов мультиобработки, но представляется пользователю как единая система. Такая система может также охватывать сетевые соединения, которые явно видимы пользователю.
1.2.1 Типовые приложения для суперЭВМ
Конкретные требования и характеристики суперЭВМ и приложений для них включают в себя:
- многочисленные данные;
- требования значительных физических ресурсов;
- большое время выполнения (несколько дней или более);
- приостановку и продолжение задания;
- интенсивность числовых вычислений;
- временную длительность обработки;
- дорогостоящие ресурсы.
Примеры приведены в приложении Г.
1.2.2 Модель среды суперЭВМ
Традиционная концепция системы POSIX предполагает, что прикладные и сервисные процессы управляются интерактивным пользователем, который может инициировать сценарий оболочки.
Модель среды суперЭВМ на основе POSIX показана на рисунке 1. Основным новым средством, внесенным в модель, является процесс управления пакетным режимом. Пакетный администратор обеспечивает контроль над ресурсами системы, необходимыми для длительного выполнения суперкомпьютерных приложений.
Рисунок 1 - Модель среды суперЭВМ на основе POSIX
Рисунок 1 - Модель среды суперЭВМ на основе POSIX
Модель среды суперЭВМ иллюстрирует это расширение для ППИ POSIX и системной среды в соответствии с требованиями к прикладной среде суперЭВМ. В данной модели также отражена потребность в сетях и хранилище данных.
В среде суперЭВМ использованы два основных режима:
- пакетный режим.
Так как многие приложения для суперЭВМ требуют значительной процентной загрузки системных ресурсов, пакетная обработка необходима для обеспечения максимальной производительности и управления использованием системных ресурсов;
- интерактивный режим.
Применение данного режима обычно связано с разработкой приложения, предварительной и окончательной обработкой пакетных прогонов и административным управлением системой. Визуализация в реальном масштабе времени при интерактивном взаимодействии с пользователем является важным методом повышения производительности при использовании больших объемов данных.
2 Нормативные ссылки
В настоящем стандарте использованы ссылки на следующие стандарты:
ГОСТ Р 1.5.-92 Государственная система стандартизации Российской Федерации. Общие требования к построению, изложению, оформлению и содержанию стандартов
ГОСТ Р ИСО/МЭК ТО 10000-1-99 Информационная технология. Основы и таксономия международных функциональных стандартов. Часть 1. Общие положения и основы документирования
ГОСТ Р ИСО/МЭК ТО 10000-2-99 Информационная технология. Основы и таксономия международных функциональных стандартов. Часть 2. Принципы и таксономия профилей ВОС
ГОСТ Р ИСО/МЭК ТО 10000-3-99 Информационная технология. Основы и таксономия международных функциональных стандартов. Часть 3. Принципы и таксономия профилей среды открытых систем
В настоящем стандарте также использованы ссылки на международные и национальные стандарты, перечень которых приведен в приложении Д.
3 Определения
В настоящем стандарте использованы следующие термины с соответствующими определениями:
3.1 базовый стандарт (base standard): Стандарт или техническое требование (спецификация), использованное в качестве соответствующей нормативной ссылки в профиле органом, принявшим профиль.
3.2 локальный POSIX (POSIX locale): Конкретный язык, который .определяет переносимый набор символов, как описано в 2.5.1 ИСО/МЭК 9945-2 [1] (POSIX.2).
3.3 метод тестирования (test method): Программные средства, процедуры или другие средства, указанные в стандарте для оценки соответствия настоящему стандарту.
3.4 приложение (application): Программное средство, предназначенное для решения прикладной проблемы (прикладное программное средство).
Примечание - При поддержке одного из вариантов утилит, обеспечивающих переносимость, должны быть учтены требования к приложению для определения действий, интерактивно выполняемых пользователем при взаимодействии с системой через терминал посредством операторов командного языка оболочки.
3.5 прикладная проблема (application problem): Проблема, выдвинутая пользователем и требующая для своего решения обработки соответствующей информации.
3.6 реализация (implementation): Программное средство, предназначенное для функционирования в соответствующей среде (например, суперЭВМ), разработанное по стандартам данной среды и заявленное (аттестованное) на соответствие этим стандартам.
Примечание - Под реализацией следует понимать объект (программное средство), обеспечивающий приложениям и пользователям услуги, описанные в настоящем стандарте. Термин "реализация" следует трактовать как объект, модифицированный изготовителем (разработчиком) для:
- компоновки его в соответствии с настоящим стандартом;
- выбора некоторых факультативных (необязательных) средств, описанных в настоящем стандарте, путем его настройки администраторами или операторами локальной системы.
Другие термины, использованные в настоящем стандарте, определены в стандартах, указанных в разделе 2 и приложении Д.
4 Обозначения и сокращения
4.1 Обозначения
Обозначения, использованные в настоящем стандарте, соответствуют обозначениям, установленным в ИСО/МЭК 9945-2 [1] (POSIX.2).
4.2 Общие сокращения
В настоящем стандарте использованы следующие общие сокращения.
Примечание - Другие сокращения, использованные в настоящем стандарте, указаны в ссылочных базовых стандартах из приложения Д.
4.2.1 ППС (АЕР) | - профиль прикладной среды (application environment profile). | |
4.2.2 ППИ (API) | - прикладной программный интерфейс (application program interface). | |
4.2.3 BOPИД (FDDI) | - волоконно-оптический распределенный интерфейс данных (fibre distributed data interface). | |
4.2.4 ПДУФ (FTAM) | - передача, доступ к файлам и управление ими (file transfer, acces and management). ПДУФ является частью набора протоколов BOC. | |
4.2.5 ЯГС (GKS) | - ядро графической системы (graphical kernel system). | |
4.2.6 ВППИ (HPPI) | - высокопроизводительный параллельный интерфейс (high performance parallel interface). | |
4.2.7 ПИ (IP) | - протокол Интернета (Internet protocol). ПИ является пакетным протоколом для передачи данных от одной системы к другой. | |
4.2.8 ЗCP (ICS) | - заявка о соответствии реализации (implementation confоrmance statement). | |
4.2.9 СМП (MSS) | - система массовой памяти (mass storage system). | |
4.2.10 BOC (OSI) | - взаимосвязь открытых систем (open systems interconnection). BOC является набором протоколов и стандартов для взаимосвязи и передачи между системами. | |
4.2.11 КАТП (РСТS) | - комплект аттестационных тестов для POSIX (POSIX conformance test suite). | |
4.2.12 РЕХ | - расширение ИИГСП для X11 (PHIGS extended X11). | |
4.2.13 ИИГСП (PHIGS) | - иерархическая интерактивная графическая система программиста (programmer's hierarchical interactive graphics system). | |
4.2.14 ТПУ (ТСР) | - транспортный протокол управления (transport control protocol). ТПУ является надежным, последовательным, сквозным, потоковым протоколом с установлением соединения, который выполняется на вершине протокола Интернета. | |
4.2.15 ПДФ (ТFА) | - прозрачный доступ к файлу (transparent file access). | |
4.2.16 ПДП (UDP) | - протокол пользовательских датаграмм (user data protocol). ПДП является ненадежным протоколом, ориентированным на сообщение, который выполняется на вершине протокола Интернета. | |
4.2.17 РПП (UPE) | - расширение переносимости пользователя (user portability extension). | |
4.2.18 ПВТ (VТР) | - протокол виртуального терминала (virtual terminal protocol). ПВТ является частью набора протоколов BOC. | |
4.2.19 X11 | - версия 11, распространяемая MIT X Консорциумом, по развитию и поддержанию X Window System. | |
4.2.20 Х.400 | - протокол передачи электронных сообщений. Х.400 является частью набора протоколов BOC. | |
4.2.21 Х.500 | - услуги справочника. Х.500 является частью набора протоколов BOC. |
4.3 Сокращения для базовых стандартов
В настоящем стандарте использованы следующие сокращения для ссылочных базовых стандартов из приложения Д. Данные сокращения могут охватывать ряд базовых стандартов, образующих единый набор.
4.3.1 Стандарт Ада | - язык программирования Ада (ИСО/МЭК 8652 [2]). | |
4.3.2 Стандарт Си | - язык программирования Си (ИСО/МЭК 9899 [3]). | |
4.3.3 Стандарт ФОРТРАН 77 | - язык программирования ФОРТРАН 77 (АНСИ Х3.9 [4]). | |
4.3.4 Стандарт ФОРТРАН 90 | - язык программирования ФОРТРАН 90 (стандарты серии ИСО/МЭК 1539 [5]-[7]). | |
4.3.5 Стандарт размеченной ленты | - структура и разметка файла на магнитных лентах для обмена информацией (ИСО 1001 [8]). | |
4.3.6 POSIX.1 | - интерфейс мобильной операционной системы (POSIX) (ИСО/МЭК 9945-1 [9]). | |
4.3.7 POSIX.Ia | - интерфейс мобильной операционной системы (POSIX) (ИСО/МЭК 9945-1 [9] в части расширений системного ППИ). | |
4.3.8 POSIX.2 | - интерфейс мобильной операционной системы (POSIX) (ИСО/МЭК 9945-2 [1]). | |
4.3.9 POSIX.4 | - интерфейс мобильной операционной системы (POSIX) (ИСО/МЭК 9945-1 [9] в части расширений в реальном масштабе времени ППИ). | |
4.3.10 POSIX.5 | - интерфейсы языка Ада с POSIX. Привязка к ППИ. (ИСО/МЭК 14519 [10]). | |
4.3.11 POSIX.8 | - интерфейс мобильной операционной системы (POSIX) (ИСО/МЭК 9945-1 [9] в части доступа к прозрачному файлу). | |
4.3.12 POSIX.9 | - интерфейсы языка ФОРТРАН 77 с POSIX. Привязка к ППИ. (ИИЭЭ Стд 1003.9 [11]). | |
4.3.13 POSIX.10 | - настоящий стандарт. | |
4.3.14 POSIX.15 | - интерфейс мобильной операционной системы (POSIX). Пакетные расширения (ИИЭЭ Стд 1003.2d [12]). | |
4.3.15 P1224.2 | - услуги справочника. ВОС/ППИ. X500LIS (ИСО/МЭК 14392 [13]). |
5 Соответствие
5.1 Требования к реализации
Реализация, претендующая на соответствие настоящему стандарту, должна удовлетворять следующим критериям:
- система должна поддерживать все требуемые интерфейсы и ограничения, установленные в разделе 6 настоящего стандарта, включая требования, указанные в нормативных документах, на которые даны ссылки в разделе 6. Данные интерфейсы должны удовлетворять требованиям соответствия из ссылочных стандартов и связанным с ними методам испытаний (при их наличии);
- система может поддерживать необязательные интерфейсы, указанные в разделе 6. Если данный вариант реализован, интерфейсы должны удовлетворять требованиям соответствия из ссылочных стандартов и связанным с ними методам испытаний (при их наличии);
- система может обеспечивать дополнительные функции или средства, помимо указанных в разделе 6.
В системных документах все нестандартные расширения должны быть указаны как нестандартные. Использование нестандартных расширений может изменять поведение функций или средств, указанных в разделе 6. Заявки о соответствии реализации ссылочным стандартам вместе с заявкой о соответствии реализации настоящему стандарту должны определять среду, в которой приложение может работать с поведением, указанным в настоящем стандарте. Ни в коем случае среда не должна требовать изменения приложения, строго соответствующего настоящему стандарту (POSIX.10). См. 5.4.1.
5.2 Заявка о соответствии реализации
Для реализации, заявляемой на соответствие настоящему стандарту (профилю POSIX.10), должна быть подготовлена заявка о соответствии реализации (ЗСР), содержащая информацию, указанную ниже. Данный документ должен иметь такую же структуру, как настоящий стандарт, а информация в нем должна быть представлена в соответственно пронумерованных подразделах. Заявка о соответствии реализации не должна содержать информацию, относящуюся к расширенным средствам или возможностям реализации, выходящим за область применения настоящего стандарта. Заявка о соответствии реализации должна соответствовать полной форме ЗСР, указанной в 5.3.
ЗСР должна содержать информацию о полном наименовании, обозначении и дате утверждения применяемого стандарта. В ЗСР должны быть приведены ссылки на другие ЗСР, относящиеся к ссылочным стандартам.
ЗСР должна описывать поведение реализации для всех определяющих реализацию характеристик, указанных в разделе 6. Это требование должно быть выполнено путем перечисления этих характеристик и приведения конкретных ссылок на системные документы или описания этих характеристик. ЗСР может определить поведение реализации для тех характеристик, которые в разделе 6 установлены зависящими от реализации или указаны как неопределенные.
Фраза "должен быть документально оформлен" в настоящем стандарте означает, что документирование характеристики должно быть выполнено в ЗСР, как описано выше, если нет явного указания на системные документы.
Системные документы также должны содержать информацию, вносимую в ЗСР.
5.3 Форма заявки о соответствии реализации
ЗСР должна включать в себя элементы, указанные в данной форме с фактическими значениями и вариантами, установленными для реализации.
5.3.1 Базовые стандарты
Требуются следующие языки:
- язык Си (ИСО/МЭК 9899 [3]);
- язык ФОРТРАН 77 (АНСИ Х3.9 [4]).
Требуется соответствие следующим стандартам:
- POSIX.1 (ИСО/МЭК 9945-1 [9]);
- POSIX.2 (ИСО/МЭК 9945-2 [1]);
- POSIX.4 (ИСО/МЭК 9945-1 [9] в части расширений в реальном масштабе времени ППИ для асинхронного варианта ввода-вывода);
- POSIX.9 привязки ФОРТРАН 77 ППИ (ИИЭЭ Стд 1003.9 [11]);
- POSIX.15 интерфейс мобильной операционной системы (POSIX). Пакетные расширения (ИИЭЭ Стд 1003.2d [12]).
В настоящем стандарте (POSIX.10) требуется, чтобы был определен каждый из указанных ниже вариантов, а соответствующая ему функциональная возможность должна быть реализована (см. таблицу 1).
Таблица 1
Базовый стандарт | Обозначение варианта |
POSIX.1 | _POSIX_JOB_CONTROL |
POSIX.1 | _POSIX_SAVED_IDS |
POSIX.1 | _POSIX_CHOWN_RESTRICTED |
POSIX.1 | _POSIX_NO_TRUNC |
POSIX.1 | _POSIX_VDISABLE |
POSIX.4 | _POSIX_ASYNCHRONOUS_IO |
POSIX.2 | POSIX2_SW_DEV |
POSIX.2 | POSIX2_С_DEV |
POSIX.2 | POSIX2_С_BIND |
POSIX.2 | POSIX2_FORT_DEV |
POSIX.2 | POSIX2_FORT_RUN |
POSIX.2 | POSIX2_UPE |
POSIX.2 | POSIX2_CHAR_TERM |
POSIX.15 | POSIX2_PBS |
Следующие переменные реализации из POSIX.1 (ИСО/МЭК 9945-1 [9]) имеют минимальные требования, указанные ниже. Фактические значения должны быть установлены в ЗСР (см. таблицу 2).
Таблица 2
Переменная | Минимальное значение (бит) |
{_POSIX_CHILD_MAX} | 25 |
{_POSIX_OPEN_MAX} | 64 |
{_POSIX_NGROUPS_MAX) | 8 |
off_t | 32 |
В ЗСР должно быть приведено краткое описание реализации, включая возможность рестарта с контрольной точки и ограничений ресурсов. См. 6.3.1.2.
5.3.2 Варианты
Настоящий стандарт (POSIX.10) предусматривает ряд вариантов. В ЗСР должен быть определен уровень поддержки для каждого из следующих вариантов:
- язык Ада и привязки языка Ада (POSIX.5) (ИСО/МЭК 8652 [2], ИСО/МЭК 14519 [10]). Наличие этого варианта обозначено конфигурационной переменной {POSIX_SUPER_ADA};
- язык ФОРТРАН 90 (стандарты серии ИСО/МЭК 1539 [5]-[7]). Наличие этого варианта обозначено конфигурационной переменной {POSIX_SUPER_F90};
- услуги справочника POSIX (P1224.2) (ИСО/МЭК 14392 [13]). Наличие этого варианта обозначено конфигурационной переменной {POSIX_SUPER_DIRNAME};
- ленты, размеченные по ИСО (ИСО 1001 [8]). Наличие этого варианта обозначено конфигурационной переменной {POSIX_SUPER_ISО1001}.
5.4 Приложения
5.4.1 Строгое соответствие
Приложением, строго соответствующим настоящему стандарту (POSIX.10), является приложение, которое использует только средства, требуемые аттестуемой реализацией. Такое приложение должно допускать любое поведение, описанное в разделе 6 как неопределенное или зависящее от реализации, а для символических констант - допускать любое значение в диапазоне, разрешенном в разделе 6. Такие приложения разрешается адаптировать к средствам, которые обозначены константами в 6.2.
5.4.2 Соответствие используемым вариантам профиля
Приложение соответствует используемым вариантам профиля, если оно использует только средства, требуемые аттестуемой реализацией, и один или несколько вариантов, предусмотренных настоящим стандартом. Такое приложение должно удовлетворять требованиям, установленным для строго соответствующего приложения, а также должно допускать любое поведение, установленное для используемых вариантов.
5.4.3 Соответствие с расширениями
Приложение является соответствующим с расширениями, если для него требуются средства помимо указанных в настоящем стандарте.
5.4.4 Заявка о соответствии приложения
Для приложения, претендующего на соответствие настоящему стандарту, должна быть подготовлена заявка о соответствии (ЗС) приложения. В ЗС должно быть определено, является ли приложение строго соответствующим, соответствующим используемым вариантам или соответствующим с расширениями.
Если приложению требуются некоторые варианты из настоящего стандарта, требуемые варианты должны быть перечислены в ЗС.
Если приложение является соответствующим с расширениями, в ЗС должны быть перечислены требуемые расширения и описано поведение каждого расширения.
В ЗС для аттестуемого приложения должны быть определены минимальные системные ресурсы, необходимые для функционирования приложения.
6 Требования
6.1 Введение
В настоящем разделе определены стандарты, являющиеся частью описываемого профиля, и область применения состояния любых необязательных (факультативных) требований, содержащихся в этих стандартах.
6.2 Конфигурационные переменные
Конфигурационные переменные должны быть использованы для установления наличия или отсутствия каждого варианта в описываемом профиле. Имена конфигурационных переменных, начинающиеся со строки "POSIX_SUPER_", зарезервированы для использования в данном профиле.
Утилита getconf из POSIX.2 (ИСО/МЭК 9945-2 [1]) должна быть расширена для распознавания каждой конфигурационной переменной с именем, начинающимся с "POSIX_SUPER_". Реализация должна задавать значение каждой конфигурационной переменной для определения вариантов, обеспечиваемых данной реализацией.
Если данный вариант поддерживается реализацией, значение соответствующей конфигурационной переменной должно быть равно 1; иначе конфигурационная переменная должна быть неопределенной. Утилита getconf должна возвращать соответствующее значение, когда одно из имен конфигурационной переменной, указанных в этом разделе, используется как параметр.
Соответствие профилю, описанному в настоящем стандарте, должно быть установлено как:
{POSIX_SUPER_VERSION}=1.
Данным профилем устанавливаются следующие конфигурационные переменные:
Конфигурационные переменные POSIX.10:
{POSIX_SUPER_VERSION};
{POSIX_SUPER_ADA};
{POSIX_SUPER_F90};
{POSIX_SUPER_DIRNAME};
{POSIX_SUPER_ISО1001}.
В некоторых ссылочных базовых стандартах наличие или отсутствие варианта обозначено так же, как в настоящем стандарте. В описываемом профиле использованы нижеперечисленные обозначения вариантов для ссылки на состояния вариантов в некоторых базовых стандартах.
Обозначения вариантов базового стандарта:
{_POSIX_JOB_CONTROL};
{_POSIX_SAVED_IDS};
{_POSIX_CHOWN_RESTRICTED};
{_POSIX_NO_TRUNC};
{_POSIX_VDISABLE};
{_POSIX_ASYNCHRONOUS_IO};
{POSIX2_SW_DEV};
{POSIX2_C_DEV};
{POSIX2_C_BIND};
{POSIX2_FORT_DEV};
{POSIX2_FORT_RUN};
{POSIX2_UPE};
{POSIX2_CHAR_TERM};
{POSIX2_PBS}.
6.3 Интерфейс операционной системы
6.3.1 Обязательные стандарты
6.3.1.1 Системный интерфейс POSIX.1
Система должна соответствовать POSIX.1 (ИСО/МЭК 9945-1 [9]) с вариантами и значениями, установленными в настоящем пункте.
Должны быть определены следующие конфигурационные переменные из POSIX.1 и обеспечена поддержка поведения, связанного с каждой конфигурационной переменной:
{_POSIX_JOB_CONTROL};
{_POSIX_SAVED_IDS};
{_РОSIX_CHOWN_RESTRICTED};
{_POSIX_NO_TRUNC};
{_POSIX_VDISABLE}.
Реализация должна обеспечивать значения, равные или большие следующих минимальных значений для указанных переменных из POSIX.1 (см. таблицу 3). Фактическое значение для каждой переменной должно быть определено в ЗСР.
Таблица 3
Переменная | Минимальное значение (бит) |
{_POSIX_CHILD_MAX} | 25 |
{_POSIX_OPEN_MAX} | 64 |
{_POSIX_NGROUPS_MAX} | 8 |
Объект в языке, привязываемый соответственно к типу данных off_t из POSIX.1, должен содержать по крайней мере 32 бита. Фактическое число битов в off_t должно быть определено в ЗСР.
После входа в систему среда должна содержать переменные HOME и LOGNAME.
6.3.1.2 Расширения системного интерфейса
Реализация должна включать в себя определяемую реализацией возможность рестарта с контрольной точки.
Реализация должна включать в себя определяемую реализацией возможность ограничения ресурсов. Любая аттестуемая реализация должна гарантировать, что setsid() не может быть использован общим пользователем для выхода из пределов ресурсов.
6.3.1.3 Привязки ФОРТРАН 77 (POSIX.9)
Реализация должна соответствовать POSIX.9 (ИИЭЭ Стд 1003.9 [11]). См. также 6.6.2.2, который требует соответствия стандарту языка ФОРТРАН 77 (АНСИ Х3.9 [4]).
POSIX флажок ввода-вывода должен быть автоматически установлен кодом запуска среды ФОРТРАН 77 к значению, которое заставляет выполнять POSIX ввод-вывод.
Среда ФОРТРАН 77 должна содержать переменные HOME и LOGNAME.
Все конфигурационные переменные и обозначения вариантов, установленные в настоящем профиле, должны иметь те же самые значения при доступе к программам на языке ФОРТРАН 77 или Си.
6.3.1.4 Расширения в реальном масштабе времени (POSIX.4)
Реализация должна соответствовать POSIX.4 (ИСО/МЭК 9945-1 [9] в отношении расширений в реальном масштабе времени ППИ):
- асинхронный ввод и вывод.
Должно быть обеспечено поведение, связанное с {_POSIX_ASYNCHRONOUS_IO}.
6.3.2 Варианты интерфейса операционной системы
6.3.2.1 Привязки Ады (Р0SIХ.5)
Данный вариант должен соответствовать POSIX.5 (ИСО/МЭК 14519 [10]). См. также 6.6.3.2, который требует соответствия стандарту на язык Ада (ИСО/МЭК 8652 [2]).
Если предусмотрен языковой процессор, соответствующий ИСО/МЭК 8652 [2], тогда должен быть реализован POSIX.5.
Среда Ады должна содержать переменные HOME и LOGNAME.
Если язык Ада обеспечен, то все конфигурационные переменные и обозначения вариантов, установленные в настоящем профиле, должны иметь те же самые значения при доступе к программам на языках Ада, ФОРТРАН 77 или Си.
В ЗСР должно быть указано, что данный вариант реализован или нет.
Если вариант языка Ада поддерживается, конфигурационная переменная {POSIX_SUPER_ADA} должна иметь значение, равное 1.
6.4 Оболочка и утилиты
6.4.1 Обязательные стандарты
6.4.1.1 Оболочка и утилиты POSIX.2
Система должна соответствовать POSIX.2 (ИСО/МЭК 9945-2 [1]) с учетом вариантов, определенных в настоящем пункте.
Должны быть определены следующие конфигурационные переменные из POSIX.2 и обеспечено поведение, соответствующее каждой конфигурационной переменной:
{POSIX2_SW_DEV} - вариант утилит разработки программных средств (раздел 6 ИСО/МЭК 9945-2 [1]);
{POSIX2_C_DEV} - вариант утилит разработки на языке Си (приложение А к ИСО/МЭК 9945-2 [1]);
{POSIX2_C_BIND} - вариант привязок языка Си (приложение В к ИСО/МЭК 9945-2 [1]);
(POSIX2_FORT_DEV) и {POSIX2_FORT_RUN} - вариант утилит разработки на ФОРТРАНе (приложение С к ИСО/МЭК 9945-2 [1]);
{POSIX2_UPE} - расширение переносимости пользователя;
{POSIX2_CHAR_TERM} - вариант символьного терминала.
6.4.1.2 Организация пакетных очередей по POSIX.15
Реализация должна соответствовать POSIX.15 (ИИЭЭ Стд 1003.2d [12]).
Должно быть обеспечено поведение, связанное с конфигурационной переменной {POSIX2_PBS}.
6.5 Графика
6.5.1 Обязательные стандарты
В данной версии профиля графические расширения не требуются.
6.6 Языки
6.6.1 Обозначение
Наличие необязательного (факультативного) языка программирования должно быть определено конфигурационной переменной. Идентификаторами необязательных языков являются:
{POSIX_SUPER_ADA} и
{POSIX_SUPER_F90}.
6.6.2 Обязательные стандарты
6.6.2.1 Язык Си
Реализация должна соответствовать стандарту на язык Си (ИСО/МЭК 9899 [3]).
6.6.2.2 Язык ФОРТРАН 77
Реализация должна соответствовать стандарту на язык ФОРТРАН 77 (АНСИ Х3.9 [4]). См. также 6.3.1.3, в котором требуется соответствие стандарту по привязкам языка ФОРТРАН 77 к POSIX (ИИЭЭ Стд 1003.9 [11]).
6.6.2.3 Взаимодействие языков
Прикладные программы, написанные на любом из языков, указанных в настоящем профиле, должны обеспечивать обмен данными с использованием текстовых файлов в конкретной POSIX-области в соответствии с POSIX.2 (2.5.1 ИСО/МЭК 9945-2 [1]). Определение текстовых файлов - по POSIX.2 (2.2.2.181 ИСО/МЭК 9945-2 [1]).
Кроме того, языки Си и ФОРТРАН 77 должны обеспечивать двоичный обмен данными в конкретной центральной системе. Не требуется обмен двоичными данными между различными видами главных (хост) машин или между различными реализациями соответствующей среды. В ЗСР для реализации должно быть указано, какие версии компиляторов и вспомогательных библиотек требуются для обмена двоичными данными.
Формат двоичных данных не определен; файл двоичных данных является потоком битов, выгружаемых из памяти. Для записи файла двоичных данных должна быть использована соответствующая привязка к функции write() из POSIX 1 (ИСО/МЭК 9945-1 [9]). Для чтения файла двоичных данных должна быть использована соответствующая привязка к функции read() из POSIX.1 (ИСО/МЭК 9945-1 [9]). Двоичный файл данных, записанный программой на одном языке и затем считанный программой на другом языке, должен создавать исходную последовательность битов в пространстве памяти читателя.
Все другие взаимодействия языков определяются реализацией.
6.6.3 Варианты языков
Реализация следующих языков является необязательной. В случае реализации эти языки должны соответствовать конкретным стандартам.
6.6.3.1 Язык ФОРТРАН 90
Этот вариант должен соответствовать стандарту на язык ФОРТРАН 90 (стандарты серии ИСО/МЭК 1539 [5]-[7]).
Если обеспечивается вариант реализации стандарта на язык ФОРТРАН 90, конфигурационная переменная {POSIX_SUPER_F90} должна принимать значение, равное 1.
В ЗСР должно быть указано о реализации или отсутствии данного варианта.
6.6.3.2 Язык Ада
Этот вариант должен соответствовать стандарту на язык Ада (ИСО/МЭК 8652 [2]). См. также 6.3.2.1.
Если обеспечивается вариант реализации стандарта на язык Ада, то должны быть обеспечены привязки языка Ада, указанные POSIX.5 (ИСО/МЭК 14519 [10]).
Если обеспечивается вариант реализации стандарта на язык Ада, конфигурационная переменная {POSIX_SUPER_ADA} должна принимать значение, равное 1.
В ЗСР должно быть указано о реализации или отсутствии данного варианта.
6.7 Защита
6.7.1 Обязательные стандарты
В настоящей версии профиля расширения защиты не требуются.
6.8 Административное управление системой
6.8.1 Обязательные стандарты
В настоящей версии профиля расширения административного управления не требуются.
6.9 Организация сети
6.9.1 Обозначение
Наличие сетевого варианта должно быть указано соответствующей конфигурационной переменной {POSIX_SUPER_DIRNAME}.
6.9.2 Обязательные стандарты
В настоящей версии профиля сетевые стандарты не требуются. Все сетевые стандарты являются необязательными.
6.9.3 Варианты организации сети
В ЗСР должно быть указано о реализации или отсутствии каждого варианта.
6.9.3.1 Услуги справочника Р1224.2
Этот вариант должен соответствовать Р1224.2 (ИСО/МЭК 14392 [13]).
Наличие этого варианта должно быть указано значением 1 для конфигурационной переменной {POSIX_SUPER_DIRNAME}.
6.10 Хранилище данных
В настоящей версии профиля услуги хранилища данных не требуются.
6.11 Сменные носители
6.11.1 Обозначение
Наличие варианта сменных носителей должно быть указано конфигурационной переменной {POSIX_SUPER_ISО1001}.
6.11.2 Обязательные стандарты
В настоящей версии профиля расширения сменных носителей не требуются.
6.11.3 Варианты сменных носителей
6.11.3.1 Размеченные ленты
Реализация варианта размеченных магнитных лент является необязательной. Если такой вариант реализуется, он должен соответствовать стандарту на размеченную ленту (ИСО 1001 [8]).
Этот стандарт определяет структуры файла и разметку магнитных лент для обмена информацией.
Наличие этого варианта должно быть указано значением 1 для конфигурационной переменной {POSIX_SUPER_ISО1001}.
В ЗСР должно быть указано о реализации или отсутствии данного варианта.
ПРИЛОЖЕНИЕ А (обязательное). Перечень вариантов
ПРИЛОЖЕНИЕ А
(обязательное)
А.1 Варианты, определенные в настоящем профиле
В настоящем разделе перечислены варианты, определенные в настоящем профиле. Для каждого варианта установлена конфигурационная переменная, которая должна принимать определенное значение, если конкретная реализация обеспечивает данный вариант.
Конфигурационная переменная {POSIX_SUPER_VERSION} указывает обозначение версии профиля, которая обеспечивается конкретной реализацией. Для версии профиля, описанной в настоящем стандарте, данная переменная должна принимать значение, равное 1.
Конфигурационные переменные, перечисленные в таблице A.1, определены в настоящем стандарте. Если конкретный вариант обеспечивается реализацией, соответствующая ему конфигурационная переменная должна принимать значение, равное 1. Если конкретный вариант не обеспечивается реализацией, соответствующая ему конфигурационная переменная должна быть неопределенной.
Таблица A.1 - Конфигурационные переменные реализации
Конфигурационная переменная | Описание варианта |
{POSIX_SUPER_ADA} | Язык Ада и его привязки |
{POSIX_SUPER_F90} | Компилятор языка ФОРТРАН 90 |
{POSIX_SUPER_DIRNAME} | Услуги справочника Х.500 |
{POSIX_SUPER_ISО1001} | Размеченные магнитные ленты по ИСО 1001 [8] |
А.2 Варианты базовых стандартов
В настоящем профиле требуется обеспечение тех функциональных возможностей, которые в базовых стандартах являются необязательными. Обозначения вариантов, перечисленные в таблице А.2, должны быть определены в реализации, а соответствующие им функциональные возможности должны быть обеспечены реализацией.
Таблица А.2 - Указатели вариантов базовых стандартов
Базовый стандарт | Обозначение варианта |
POSIX.1 | _POSIX_JOB_CONTROL |
POSIX.1 | _POSIX_SAVED_IDS |
POSIX.1 | _POSIX_CHOWN_RESTRICTED |
POSIX.1 | _POSIX_NO_TRUNC |
POSIX.1 | _POSIX_VDISABLE |
POSIX.4 | _POSIX_ASYNCHRONOUS_IO |
POSIX.2 | POSIX2_SW_DEV |
POSIX.2 | POSIX2_C_DEV |
POSIX.2 | POSIX2_C_BIND |
POSIX.2 | POSIX2_FORT_DEV |
POSIX.2 | POSIX2_FORT_RUN |
POSIX.2 | POSIX2_UPE |
POSIX.2 | POSIX2_CHAR_TERM |
POSIX.15 | POSIX2_PBS |
ПРИЛОЖЕНИЕ Б (справочное). Связи между базовыми стандартами
ПРИЛОЖЕНИЕ Б
(справочное)
Б.1 Базовые стандарты POSIX
Базовые стандарты POSIX взаимоувязаны. В настоящем приложении рассмотрены связи для случаев, не охваченных базовыми стандартами.
Б.2 Матрица связи
Данная матрица помогает определить взаимодействие между стандартами. В таблице Б.1 показаны виды взаимодействий между каждой парой стандартов, на которые даны ссылки в настоящем профиле.
Каждая строка и колонка матрицы отмечена буквами, обозначающими один из стандартов. Буквы имеют следующие смысловые значения:
A - POSIX.1 (интерфейс POSIX по ИСО/МЭК 9945-1 [9]);
В - POSIX.2 (оболочка и утилиты POSIX по ИСО/МЭК 9945-2 [1]);
С - POSIX.4 (расширения реального времени по ИСО/МЭК 9945-1 [9]);
D - POSIX.5 (интерфейсы языка Ада с POSIX по ИСО/МЭК 14519 [10]);
Е - POSIX.9 (интерфейсы языка ФОРТРАН 77 с POSIX по ИИЭЭ Стд 1003.9 [11]);
F- POSIX.15 (пакетные расширения POSIX по ИИЭЭ Стд 1003.2d [12]);
G - Р1224.2 (услуги справочника по ИСО/МЭК 14392 [13]);
Н - стандарт ФОРТРАН 77 (АНСИ Х3.9 [4]);
I - стандарт Си (ИСО/МЭК 9899 [3]);
J - стандарт Ады (ИСО/МЭК 8652 [2]);
К - стандарт ФОРТРАН 90 (стандарты серии ИСО/МЭК 1539 [5]-[7]).
Таблица Б.1 - Взаимосвязи между стандартами
Стандарт | А | В | С | D | E | F | G | Н | I | J | К |
А POSIX.1 | * | * | * | * | * | * | 1 | 1 | 1 | 5 | |
В POSIX.2 | * | * | * | * | * | * | + | + | + | + | |
С POSIX.4 | * | * | * | * | * | * | 1 | 1 | 1 | 5 | |
D POSIX.5 | * | * | * | * | * | * | + | + | * | + | |
Е POSIX.9 | * | * | * | * | * | * | * | + | + | 5 | |
F POSIX.15 | * | * | * | * | * | * | + | + | + | + | |
G Р1224.2 | * | * | * | * | * | * | 1 | 1 | 1 | 5 | |
Н ФОРТРАН 77 | 1 | + | 1 | + | * | + | 1 | 3 | 2 | 4 | |
I Си | 1 | + | 1 | + | + | + | 1 | 3 | 2 | 4 | |
J Ада | 1 | + | 1 | * | + | + | 1 | 2 | 2 | 4 | |
К ФОРТРАН 90 | 5 | + | 5 | + | 5 | + | 5 | 4 | 4 | 4 | |
Примечания |
Б.3 Аннотации к базовым стандартам
А - POSIX.1 (интерфейс POSIX по ИСО/МЭК 9945-1 [9]).
Этот базовый стандарт определяет прикладной интерфейс с примитивами нижележащих операционных систем.
В - POSIX.2 (оболочка и утилиты POSIX по ИСО/МЭК 9945-2 [1]).
Этот базовый стандарт определяет команды оболочки и строки команд утилит, которые используются пользователями и командными файлами.
С - POSIX.4 (расширения реального времени по ИСО/МЭК 9945-1 [9]).
Этот базовый стандарт определяет только возможности асинхронного ввода-вывода, требуемые настоящим стандартом.
D - POSIX.5 (интерфейсы языка Ада с POSIX по ИСО/МЭК 14519 [10]).
Этот базовый стандарт определяет интерфейсы языка Ада с примитивами операционной системы, определенными в POSIX.1.
Е- POSIX.9 (интерфейсы языка ФОРТРАН 77 с POSIX по ИИЭЭ Стд 1003.9 [11]).
Этот базовый стандарт определяет интерфейсы языка ФОРТРАН 77 с примитивами операционной системы, определенными в POSIX.1.
F - POSIX.15 (пакетные расширения POSIX по ИИЭЭ Стд 1003.2d [12]).
Этот базовый стандарт определяет интерфейс командной строки с переносимой системой организации пакетных очередей.
G - Р1224.2 (услуги справочника по ИСО/МЭК 14392 [13]).
Этот базовый стандарт определяет интерфейс с именованной услугой, которая может быть использована для поиска информации, необходимой для доступа к некоторому объекту, локально или через сеть.
Н - стандарт ФОРТРАН 77 (АНСИ Х3.9 [4]).
Этот базовый стандарт определяет синтаксис и семантику языка ФОРТРАН 77.
I - стандарт Си (ИСО/МЭК 9899 [3])
Этот базовый стандарт определяет синтаксис и семантику языка Си.
J - стандарт Ады (ИСО/МЭК 8652 [2]).
Этот базовый стандарт определяет синтаксис и семантику языка Ада.
К - стандарт ФОРТРАН 90 (стандарты серии ИСО/МЭК 1539 [5]-[7]).
Эти базовые стандарты определяют синтаксис и семантику языка ФОРТРАН 90.
ПРИЛОЖЕНИЕ В (справочное). Стандартизация в области прикладной среды суперЭВМ
ПРИЛОЖЕНИЕ В
(справочное)
B.1 Введение
В настоящем приложении рассмотрены виды стандартов, необходимых для развития переносимости (мобильности) в среде суперЭВМ.
В.2 Вопросы переносимости
Профиль, описанный в настоящем стандарте, устанавливает требования к переносимости приложений, пользователей и системных администраторов в среде суперЭВМ. Для дальнейшего развития переносимости во всех этих областях необходима разработка дополнительных стандартов.
В.2.1 Переносимость приложений
На переносимость приложений влияют исходные программы и среда их выполнения.
Переносимость приложений в первую очередь обеспечивается переносимостью исходных программ, определяемой стандартами на языки. Переносимое приложение должно использовать стандартные системные интерфейсы, определенные в соответствующих стандартах на POSIX. Применяя средства, определенные в настоящем профиле, приложение будет использовать общий набор услуг, который расширяет переносимость на различные платформы суперЭВМ.
Переносимое приложение должно быть в состоянии вызывать соответствующую среду, при необходимости изменять ее и настраиваться на существующие условия среды. Переносимое приложение должно иметь средства для:
- запроса соответствующих ресурсов;
- ожидания доступа к требуемым ресурсам;
- выключения неиспользуемых более ресурсов;
- сохранения образа выполняемой задачи (контрольной точки).
Переносимые приложения в среде суперЭВМ должны обрабатывать значения для:
- минимальных и максимальных чисел с плавающей точкой с допустимой погрешностью;
- минимальных и максимальных двойных чисел с плавающей точкой с допустимой погрешностью;
- минимальных и максимальных целых чисел;
- минимальных и максимальных длинных целых чисел;
- минимальных и максимальных коротких целых чисел;
- максимально допустимой программно-адресуемой памяти;
- максимально допустимого объема файла прямого доступа;
- числа используемых доступных центральных процессоров (ЦП).
В.2.2 Переносимость пользователя
Пользователи суперЭВМ применяют широкий спектр системных услуг. Переносимость пользователя предполагает, что различные платформы суперЭВМ будут иметь один и тот же стандартный интерфейс для всех требуемых услуг.
Пользователи должны иметь возможность:
- целенаправленной работы в пакетном и интерактивном режимах;
- сохранения образа выполняемой задачи (контрольной точки);
- рестарта с сохраненной контрольной точки;
- интерактивного выполнения отладки приложения в символических адресах;
- регулировки приоритетов обработки и сеанса;
- запроса учетных данных по загрузке и ограничениям;
- изменения заявленных расходов ресурсов для различных расчетов;
- определять имеющиеся варианты компиляции (векторизатор, мультиобработка и т.д.);
- применять постоянный тип интерфейса пользователя.
В.2.3 Переносимость администратора
Администраторам суперЭВМ необходимы стандартные средства для управления стандартными услугами.
Администраторы систем суперЭВМ должны иметь возможности для:
- управления ограничениями ресурсов;
- изменения приоритетов пользователя;
- управления пакетной системой;
- создания контрольных точек перед остановкой системы;
- размещения системных ресурсов по конкретным приложениям;
- поиска учетных данных;
- изменения распределения ресурсов;
- управления лентами и другими сменными носителями.
В.3 Интерфейс операционной системы
Необходимы стандарты для интерфейсов, указанных в настоящем разделе.
В.3.1 Интерфейсы для управления ресурсами
В.3.1.1 Ограничения ресурсов
Необходимы функции для выбора и установления ограничений пользователя при обработке или в сеансе.
Ограничения должны быть указаны по конкретным ресурсам, таким как ЦП, память, дисковые, ленточные и графические устройства.
Такой объект системных ресурсов, как сеанс применим для управления ресурсами, используемыми группой связанных процессов. Реализация должна предотвращать выход процесса из сеанса потому, что это может привести к потере управления ресурсами. Это требование распространяется на механизм удержания процесса в сеансе или на определение нового вида сеанса.
Различные виды ограничения ресурсов включают в себя:
- максимальное время работы ЦП;
- максимальный объем памяти;
- максимальный размер базового файла;
- максимальное число периферийных устройств;
- максимальный объем единичного файла;
- максимальное число ЦП;
- минимальную точность значения.
Для каждого вида ограничения ресурсов могут быть установлены жесткие или мягкие границы или те и другие одновременно.
Ограничения могут быть наложены на одну или на все следующие категории:
- единичный процесс;
- все процессы в сеансе;
- все процессы в группе процессов;
- все процессы в группе сеансов.
Если ограничения ресурсов нарушены, виновный процесс или процессы должны быть отмечены соответствующим сигналом.
В.3.1.2 Резервирование, учет и запрос ресурсов
Необходимы функции для резервирования ресурсов, учета и контроля использования ресурсов и запроса доступности ресурсов.
Если приложение не может предварительно зарезервировать ресурс, оно должно находиться в ждущем состоянии до тех пор, пока ресурс не станет доступным. Для обеспечения этого должна быть реализована возможность обнаружения "мертвых точек" и управления ими между многими приложениями.
В.4 Оболочка и утилиты
Для услуг, указанных в настоящем разделе, необходимы дополнительные стандарты.
В.4.1 Утилиты для учета
Необходимы интерфейсы утилит для определения:
- окончания сеанса некоторого пользователя при увеличении загрузки по какому-либо ресурсу;
- изменения расчета ресурса, по которому будет увеличена загрузка для данного пользователя на следующем сеансе;
- отчета об увеличении загрузки в текущем сеансе по сравнению с расчетной;
- отчета об увеличении загрузки по сравнению с расчетными значениями, установленными ранее.
В.4.2 Утилиты для рестарта с контрольной точки
Необходимы интерфейсы утилит для:
- определения контрольной точки процесса или группы процессов;
- рестарта процесса или группы процессов с ранее установленной контрольной точки.
При установлении контрольной точки создается файл, содержащий информацию, необходимую для рестарта. После успешного рестарта процесс или группа процессов попадают в среду, восстановленную по состоянию, определяемому функциями рестарта с контрольной точки.
В.4.3 Утилиты для резервирования ресурсов
Должны быть обеспечены стандартные сервисные программы на уровне команд для:
- распределения и перераспределения устройств;
- запроса доступа к устройству:
- дополнительного входа,
- удаленного входа,
- изменения приоритета;
- ожидания доступа к устройству и прохождения "мертвой точки".
В.4.4 Утилиты для контроля ограничения ресурсов
Должны быть обеспечены интерфейсы утилит для выбора и установления ограничений на ресурсы пользователя.
Различные виды ограничений ресурсов охватывают:
- максимальное время работы ЦП;
- максимальный объем памяти;
- максимальный размер базового файла;
- максимальное число периферийных устройств;
- максимальный объем единичного файла;
- максимальное число ЦП;
- минимальную точность значения.
Для каждого вида ограничения ресурсов могут быть установлены жесткие или мягкие границы или те и другие одновременно.
Ограничения могут быть наложены на одну или на все следующие категории:
- единичный процесс;
- все процессы в сеансе;
- все процессы в группе процессов;
- все процессы в группе сеансов.
Если ограничения ресурсов нарушены, виновный процесс или процессы должны быть отмечены соответствующим сигналом.
В.4.5 Утилиты для разработки программных средств
В.4.5.1 Символический отладчик
Для всех необходимых и необязательных компиляторов, за исключением языка ЛИСП, должна быть установлена утилита отладки в символических адресах, обладающая следующими минимальными функциональными возможностями:
- распечатки или отображения значения именованной переменной в формате, зависящем от реализации;
- отображения значений в различных форматах, включая целочисленные, с плавающей точкой, символьный, восьмеричный, шестнадцатеричный и т.д.;
- инициализации выполнения программы с возможностью передачи параметров для данной программы, имитирующей передачу из оболочки;
- прерывания выполнения программы перед выполнением заданной строки исходной программы;
- выбора условных прерываний (наиболее важно прерывание по счетчику итераций);
- выбора имени блока или устройства отображения, на которых можно отображать переменные;
- выполнения только следующей строки и останова;
- возобновления выполнения из состояния останова;
- изменения значений именованной переменной;
- определения адреса символа;
- отображения хода выполнения в обратном направлении (эта возможность определяется реализацией);
- выхода из отладчика.
Символический отладчик может не распечатывать переменные и не выбирать точки останова в своих внутренних или библиотечных функциях.
В.5 Графика
Традиционные суперЭВМ используют модель генерации вывода графических результатов, в которой файл выходных команд инициализирует некоторое устройство, выдающее твердую копию результатов. Вызванное устройство в дальнейшем интерактивно работает с программой вывода графики. Для обеспечения унифицированных интерфейсов таких программ с графическими устройствами необходима разработка соответствующих стандартов.
В первую очередь необходима разработка стандартов для интерфейсов POSIX с системой X-window и системы X-window с ИИГСП (иерархической интерактивной графической системой программиста).
В.6 Языки
В.6.1 Представление данных в формате с плавающей точкой
Системы суперЭВМ имеют различные форматы представления данных с плавающей точкой, в результате чего переносимые программы выдают результаты с различной точностью.
Для унификации результатов работ переносимых программ в формате с плавающей точкой в среде суперЭВМ необходима разработка единого стандарта.
В.6.2 Компиляторы ФОРТРАН 77 и ФОРТРАН 90
Интерфейс утилит существующих компиляторов должен быть расширен для распознавания дополнительных параметров компиляции, перечисленных ниже. Все эти параметры компиляции являются необязательными. Реализация по умолчанию должна:
- создавать карту загрузки для всех объектных файлов, обрабатываемых при данном вызове компилятора, если компилятор вызывается без опции (с). Карта загрузки должна содержать список точек входа для каждой подпрограммы. Если компилятор размещает переменные статически, он должен перечислять адреса памяти, в которые загружается каждая переменная. Данное перечисление не должно охватывать точки входа для внутренних функций, функций библиотек и стандартных подпрограмм;
- создавать листинг перекрестных ссылок, указывающий для каждой подпрограммы и переменной номер строки исходного кода, в которой они определяются, и каждой строки исходного кода, в которой на них даются ссылки.
Стандартные механизмы для определения параметров компиляции должны быть установлены соответствующими стандартами на языки.
В.7 Защита
Аутентификация пользователя на конкретные машины должна обеспечиваться соответствующей средой защиты. Для сетевых приложений в данной среде также требуется обеспечение аутентификации главной машины.
Реализация средств проверки защиты POSIX в среде суперЭВМ требует дальнейшего изучения.
В.8 Административное управление системой
В.8.1 Требования административного управления для периферийных устройств:
- освобождение накопителя для пользователя;
- управление очередями (исключение, состояния, запуск и останов);
- уведомление оператора о необходимости подключения накопителя;
- уведомление пользователя об удовлетворении запросов.
В.8.2 Требования административного управления для пакетного режима:
- к конфигурации очередей: к каждой очереди должны быть привязаны соответствующие атрибуты, общие ограничения, ограничения по доступу и взаимосвязи очередей друг с другом;
- к запуску пакетной системы;
- к отключению пакетной системы;
- по блокировке-разблокировке включения соответствующих запросов в конкретную очередь;
- по блокировке-разблокировке обработки запросов в очереди;
- к изменению приоритета запроса в очереди;
- к сопровождению списка доступных главных машин.
В.8.3 Требования административного управления для массовой памяти
Необходимы средства административного управления для:
- реализации стратегии передачи данных в иерархическую массовую память и из нее;
- санкционирования и контроля доступа пользователя к массовой памяти;
- систем автоматического архивирования, резервирования и восстановления данных административного управления.
В.8.4 Требования административного управления по учету использования ресурсов
Необходимы интерфейсы утилит, позволяющие системному администратору или оператору блокировать и разблокировать учет использования ресурсов, изменять набор используемых ресурсов при возрастании нагрузки со стороны пользователя, выбирать и изменять ресурсы, используемые по умолчанию, при вхождении в систему пользователя, требующего использования дополнительных ресурсов, а также выдавать следующую отчетную информацию:
- используемые ресурсы обработки (должна быть выдана следующая информация по каждому сеансу):
- время и длительность сеанса,
- контролируемый объект,
- время загрузки пользователем ЦП,
- время загрузки ЦП системой,
- приоритет сеанса,
- общий объем используемой оперативной памяти,
- максимальный объем используемых внешних запоминающих устройств,
- максимальный объем используемой области выгрузки программ,
- число переданных физических блоков ввода-вывода,
- число используемых устройств со сменными носителями;
- используемые ресурсы запоминающих устройств, работающих с ЦП;
- используемые стандартные подпрограммы.
В.8.5 Требования административного управления для рестарта с контрольной точки
Необходимы интерфейсы утилит, позволяющие системному администратору или оператору создать контрольную точку, а затем перезапускать с нее все процессы.
В.8.6 Требования административного управления для ограничения контролируемых ресурсов
Необходимы интерфейсы, позволяющие системному администратору или оператору устанавливать или менять ограничения на все используемые ресурсы.
Требования к ограничениям ресурсов - по В.3.1.1.
В.9 Организация сети
Необходимы, как минимум, следующие средства организации сети:
- протокол передачи файла, позволяющий пользователю вызывать файл для передачи через сеть;
- средства для пользователя с удаленного рабочего места, позволяющие ему обращаться к суперЭВМ через сеть и выполнять свои задачи на данной машине;
- средства для передачи строк графического протокола через суперЭВМ на удаленные устройства отображения;
- средства для обработки на суперЭВМ процедур запросов от удаленного пользователя, переданных через сеть, а также для пересылки запросов на соответствующий сервер сети.
В.10 Хранилище памяти
В.10.1 Массовая память
Многочисленные данные, связанные с обрабатываемыми на суперЭВМ приложениями, требуют средств массовой памяти для архивирования, передачи, резервирования и восстановления данных. Эти средства должны обеспечить пользователей виртуальной памятью неограниченного объема. Организация средств массовой памяти может быть обеспечена путем построения иерархии соответствующих запоминающих устройств.
Средства массовой памяти необходимы для:
- передачи данных в массовую память и из нее;
- обеспечения пользователю прозрачного доступа к массовой памяти;
- обеспечения работы автоматических систем архивирования, резервирования и восстановления данных;
- обеспечения удаления файлов.
В.10.2 Системы запоминающих устройств
Системы запоминающих устройств образуются из запоминающих устройств различного уровня, подключаемых локально или через сеть. Файлы могут передаваться по различным уровням и иерархии запоминающих устройств. Важно, чтобы движение данных было прозрачно для пользователя. Место физического хранения конкретного файла пользователя не интересует. Соответственно пользователи могут использовать все утилиты управления файлами без привязки к конкретному месту хранения файлов.
В.11 Сменные носители
Необходима разработка единого стандарта для команд пользователя, обеспечивающих управление сменными носителями и доступ к ним.
В.11.1 Функции прикладного интерфейса
Должны быть обеспечены функции для:
- перемотки лент;
- вызова сменного носителя для загрузки и разгрузки на соответствующем устройстве;
- записи конца файла;
- определения переполнения носителя и выдачи соответствующего сообщения.
В.11.2 Утилиты для устройств со сменными носителями
Должны быть обеспечены стандартные сервисные программы на уровне команд для:
- перемотки носителя;
- загрузки носителя;
- разгрузки носителя;
- определения подключенного носителя;
- определения типа разметки;
- перемещения по пространству файла;
- размещения записей в пространстве файла.
ПРИЛОЖЕНИЕ Г (справочное). Типовые приложения
ПРИЛОЖЕНИЕ Г
(справочное)
Г.1 Требования к суперЭВМ и их характеристики
СуперЭВМ рассматривают как очень мощные ЭВМ общего назначения и используют для тех же задач, что и малые ЭВМ. Однако мощность суперЭВМ позволяет выполнять приложения, которые не могут быть реализованы на ЭВМ других видов. Для таких приложений обычно требуется наличие большого объема ресурсов.
Конкретные характеристики суперЭВМ и приложений для них охватывают:
- большое число данных;
- большой объем физических ресурсов;
- длительное время выполнения;
- высокую производительность;
- длительный цикл обработки;
- дорогостоящие ресурсы.
Г.2 Требования к стандартам
Г.2.1 Большое число данных
Большое число данных, циркулирующих в типовых приложениях для суперЭВМ, вызывает необходимость стандартизации следующих требований к:
- максимальному объему файла;
- организации асинхронного ввода-вывода;
- организации массивного хранилища данных;
- организации высокоскоростного ввода-вывода;
- организации передачи данных к удаленным системам;
- преобразованию данных для различных технических средств.
Г.2.2 Большой объем физических ресурсов
Требования большого объема физических ресурсов со стороны многих приложений для суперЭВМ связаны также с привлечением ресурсов на длительное время. При этом может быть необходимым установление периода ожидания для доступа к ресурсу. Для обеспечения эффективного вовлечения ограниченных ресурсов необходимы сложные пакетные системы.
Г.2.3 Длительное время выполнения
Длительность времени выполнения, требуемая для многих приложений, увеличивает время доступа к суперЭВМ. В связи с этим необходима организация прерываний при сопровождении, административном управлении или при сбоях системы. Для полного завершения выполнения приложения необходимы средства для организации рестарта с контрольной точки.
Г.2.4 Высокая производительность
Высокая производительность необходима для обработки приложений в формате с плавающей точкой, при этом от суперЭВМ часто требуется выполнение векторных или параллельных обработок. Такие приложения, которые записывают обычно на ФОРТРАНе, требуют больших объемов памяти для хранения массивов и матриц. Также могут потребоваться файлы большого объема для ввода-вывода данных и промежуточного сохранения данных.
Г.2.5 Длительный цикл обработки
Ряд приложений требует выполнения в определенный период времени. Для таких критичных по времени приложений требуется приоритетное выделение расширенных ресурсов.
Г.2.6 Дорогостоящие ресурсы
Высокая стоимость использования ресурсов суперЭВМ требует широкомасштабного учета использования ресурсов и управления ими.
Г.3 Описания приложений
Описанные в настоящем разделе приложения являются типовыми и не исчерпывают всего их многообразия.
Г.3.1 Имитационное моделирование
Для приложений требуются:
- высокая производительность ЦП;
- большой объем используемой памяти.
Для некоторых имитационных моделей требуются также:
- диски большой емкости;
- высокоскоростные устройства ввода-вывода.
Г.3.2 Анализ конечных элементов
Приложения, основанные на методе анализа конечных элементов, обычно используют при структурном анализе сложных технических объектов (автомобилей, самолетов, систем вооружения, химических заводов, ядерных установок и т.д.).
Обычно такие приложения реализуют на языке ФОРТРАН.
Для данной группы приложений требуются:
- высокая производительность скалярных и векторных ЦП;
- большие объемы памяти;
- файлы большого объема;
- высокоскоростные устройства ввода-вывода;
- мощные графические средства.
Г.3.3 Системы автоматизированного моделирования и проектирования
Данные приложения требуют преимущественно скалярной обработки данных, использования очень больших наборов данных и больших объемов памяти.
Обычно такие приложения реализуют на языках ФОРТРАН, Си и Паскаль.
Для приложений данной группы требуются:
- высокопроизводительные скалярные ЦП;
- большие объемы памяти;
- файлы большого объема;
- диски большой емкости;
- высокоскоростные устройства ввода-вывода;
- сетевые средства протоколов TCP/IP.
Г.3.4 Системы автоматизации проектирования и производства
Приложения данного вида обычно используют для автоматизированного проектирования и подготовки производства сложных технических объектов (автомобилей, самолетов, систем вооружения, химических заводов, ядерных установок и т. д.).
Обычно такие приложения реализуют на языке ФОРТРАН.
Для приложений данной группы требуются:
- большие объемы памяти;
- файлы большого объема;
- высокоскоростные устройства ввода-вывода.
Г.3.5 Вычисления в области химии
Данная область охватывает квантовую химию и молекулярное моделирование.
Обычно такие приложения реализуют на языке ФОРТРАН.
Для приложений данной группы требуются:
- высокопроизводительные скалярные, векторные и параллельные ЦП;
- диски большой емкости;
- большие объемы памяти;
- файлы большого объема;
- высокоскоростные устройства ввода-вывода;
- мощные графические средства.
Г.3.6 Вычисления в области динамики потоков
Данный класс проблем связан с решением задач газодинамики, гидродинамики, плазмодинамики и т.д.
Обычно такие приложения реализуют на языке ФОРТРАН.
Для приложений данной группы требуются:
- высокопроизводительные векторные ЦП;
- диски большой емкости;
- большие объемы памяти.
Г.3.7 Сейсмография
Приложения этой группы предназначены для обработки сейсмических данных.
Обычно такие приложения реализуют на языке ФОРТРАН.
Для приложений данной группы требуются:
- высокопроизводительные векторные ЦП;
- большие объемы памяти;
- сверхбольшие объемы данных;
- высокоскоростные устройства ввода-вывода.
Г.3.8 Анимация
Данные приложения создают движущиеся изображения реальных или искусственных объектов.
Обычно такие приложения реализуют на языке Си.
Для приложений данной группы требуются:
- высокопроизводительные скалярные и параллельные ЦП;
- диски сверхбольшой емкости;
- высокоскоростные устройства ввода-вывода.
ПРИЛОЖЕНИЕ Д (справочное). Библиография
ПРИЛОЖЕНИЕ Д
(справочное)
В настоящем приложении перечислены международные и национальные базовые стандарты, на которые даны ссылки в настоящем профиле, а также дополнительные стандарты, относящиеся к регламентации среды POSIX [14]-[17].
Д.1 Обязательные базовые стандарты
[1] ИСО/МЭК 9945-2-93 Информационная технология. Интерфейс мобильной операционной системы (POSIX). Часть 2. Оболочка и утилиты
[2] ИСО/МЭК 8652-95 Информационная технология. Языки программирования. Ада
[3] ИСО/МЭК 9899-99 Информационная технология. Языки программирования. Си
[4] АНСИ Х3.9-78 Языки программирования. Фортран 77
[5] ИСО/МЭК 1539-1-97 Информационная технология. Языки программирования. Фортран. Часть 1. Основной язык
[6] ИСО/МЭК 1539-2-94 Информационная технология. Языки программирования. Фортран. Часть 2. Строки символов переменной длины
[7] ИСО/МЭК 1539-3-99 Информационная технология. Языки программирования. Фортран. Часть 3. Условная компиляция
[8] ИСО 1001-86 Обработка информации. Структура и разметка файла на магнитных лентах для обмена информацией
[9] ИСО/МЭК 9945-1-96 Информационная технология. Интерфейс мобильной операционной системы (POSIX). Часть 1. Системный прикладной программный интерфейс (ППИ) [Язык Си]
[10] ИСО/МЭК 14519-99 Информационная технология. Интерфейсы языка Ада с POSIX. Привязка к системному прикладному программному интерфейсу (ППИ). Расширения в реальном масштабе времени
[11] ИИЭЭ Стд 1003.9-92 Стандарт ИИЭЭ по информационной технологии. Интерфейсы языка ФОРТРАН 77 с POSIX Часть 1. Привязка к системному ППИ
[12] ИИЭЭ Стд 1003.2d-94 Стандарт ИИЭЭ по информационной технологии. Интерфейс мобильной операционной системы (POSIX). Часть 2. Оболочка и утилиты. Пакетные расширения
[13] ИСО/МЭК 14392-96 Информационная технология. Услуги справочника. Прикладной программный интерфейс (ППИ) [независящий от языка]
Д.2 Дополнительные стандарты POSIX
[14] ИСО/МЭК 11404-96 Информационная технология. Языки программирования, их среды и интерфейсы систем программирования. Языково-независимые типы данных
[15] ИСО/МЭК 13210-99 Информационная технология. Требования и рекомендации по методам тестирования технических требований и реализации для оценки соответствия стандартам POSIX
[16] ИСО/МЭК ТО 14252-96 Информационная технология. Руководство по среде открытой системы на основе POSIX
[17] ИСО/МЭК 15068-2-99 Информационная технология. Система административного управления интерфейсом мобильной операционной системы (POSIX). Часть 2. Административное управление программными средствами
________________________
Оригиналы:
- международных стандартов ИСО/МЭК (ИСО) и АНСИ - во ВНИИКИ Госстандарта России;
- стандартов Института инженеров электротехники и электроники (ИИЭЭ) - в Центре открытых систем ИРЭ РАН.
Текст документа сверен по:
официальное издание
М.: ИПК Издательство стандартов, 2003