- запроса доступа к устройству:
- дополнительного входа,
- удаленного входа,
- изменения приоритета;
- ожидания доступа к устройству и прохождения "мертвой точки".
В.4.4 Утилиты для контроля ограничения ресурсов
Должны быть обеспечены интерфейсы утилит для выбора и установления ограничений на ресурсы пользователя.
Различные виды ограничений ресурсов охватывают:
- максимальное время работы ЦП;
- максимальный объем памяти;
- максимальный размер базового файла;
- максимальное число периферийных устройств;
- максимальный объем единичного файла;
- максимальное число ЦП;
- минимальную точность значения.
Для каждого вида ограничения ресурсов могут быть установлены жесткие или мягкие границы или те и другие одновременно.
Ограничения могут быть наложены на одну или на все следующие категории:
- единичный процесс;
- все процессы в сеансе;
- все процессы в группе процессов;
- все процессы в группе сеансов.
Если ограничения ресурсов нарушены, виновный процесс или процессы должны быть отмечены соответствующим сигналом.
В.4.5 Утилиты для разработки программных средств
В.4.5.1 Символический отладчик
Для всех необходимых и необязательных компиляторов, за исключением языка ЛИСП, должна быть установлена утилита отладки в символических адресах, обладающая следующими минимальными функциональными возможностями:
- распечатки или отображения значения именованной переменной в формате, зависящем от реализации;
- отображения значений в различных форматах, включая целочисленные, с плавающей точкой, символьный, восьмеричный, шестнадцатеричный и т. д.;
- инициализации выполнения программы с возможностью передачи параметров для данной программы, имитирующей передачу из оболочки;
- прерывания выполнения программы перед выполнением заданной строки исходной программы;
- выбора условных прерываний (наиболее важно прерывание по счетчику итераций);
- выбора имени блока или устройства отображения, на которых можно отображать переменные;
- выполнения только следующей строки и останова;
- возобновления выполнения из состояния останова;
- изменения значений именованной переменной;
- определения адреса символа;
- отображения хода выполнения в обратном направлении (эта возможность определяется реализацией);
- выхода из отладчика.
Символический отладчик может не распечатывать переменные и не выбирать точки останова в своих внутренних или библиотечных функциях.
В.5 Графика
Традиционные суперЭВМ используют модель генерации вывода графических результатов, в которой файл выходных команд инициализирует некоторое устройство, выдающее твердую копию результатов. Вызванное устройство в дальнейшем интерактивно работает с программой вывода графики. Для обеспечения унифицированных интерфейсов таких программ с графическими устройствами необходима разработка соответствующих стандартов.
В первую очередь необходима разработка стандартов для интерфейсов POSIX с системой X-window и системы X-window с ИИГСП (иерархической интерактивной графической системой программиста).
В.6 Языки
В.6.1 Представление данных в формате с плавающей точкой
Системы суперЭВМ имеют различные форматы представления данных с плавающей точкой, в результате чего переносимые программы выдают результаты с различной точностью.
Для унификации результатов работ переносимых программ в формате с плавающей точкой в среде суперЭВМ необходима разработка единого стандарта.
В.6.2 Компиляторы ФОРТРАН 77 и ФОРТРАН 90
Интерфейс утилит существующих компиляторов должен быть расширен для распознавания дополнительных параметров компиляции, перечисленных ниже. Все эти параметры компиляции являются необязательными. Реализация по умолчанию должна:
- создавать карту загрузки для всех объектных файлов, обрабатываемых при данном вызове компилятора, если компилятор вызывается без опции (с). Карта загрузки должна содержать список точек входа для каждой подпрограммы. Если компилятор размещает переменные статически, он должен перечислять адреса памяти, в которые загружается каждая переменная. Данное перечисление не должно охватывать точки входа для внутренних функций, функций библиотек и стандартных подпрограмм;
- создавать листинг перекрестных ссылок, указывающий для каждой подпрограммы и переменной номер строки исходного кода, в которой они определяются, и каждой строки исходного кода, в которой на них даются ссылки.
Стандартные механизмы для определения параметров компиляции должны быть установлены соответствующими стандартами на языки.