Программное обеспечение вычислительных систем. Прикладное программное обеспечение
Системное программное обеспечение. Одним из основных требований к системному программному обеспечению (СПО) современных вычислительных систем (ВС) является его преемственность по отношению к программному обеспечению существующих ЭВМ, т.е. реализация традиционных принципов создания СПО вычислительной техники, к числу которых относятся:
- принцип генерации или настройки;
- принцип модульности программного обеспечения;
- принцип стандартизации (однородности) интерфейса;
- принцип параллельной работы функциональных устройств ВС.
Основу любой ВСсоставляет ее операционная система, представляющая собой программную среду, обеспечивающую информационную поддержку работы и взаимодействия всех аппаратно-программных средств ВС.
В таблице 11.1 приведены наиболее известные типы операционных систем.
Операционная система ВС состоит из совокупности программ, выполняющих следующие основные функции:
- эффективное управление ресурсами системы;
- распределение ресурсов между пользователями;
- контроль выделения ресурсов в мультипрограммном режиме работы ВС;
- предоставление пользователю набора услуг в удобном интерфейсе для управления вычислениями и реализации прикладного программного обеспечения.
Одной из основных задач операционной системы (ОС) является распределение (разделение) времени вычислений между вычислительными средствами ВС. Задача разделения времени работы вычислителей ВС решается планировщикомВС (см. раздел 9).
Часть ОС, постоянно находящаяся в основной памяти ВС, называется ядром или резидентной частью ОС. Программы ОС, вызываемые в основную память для выполнения определенных функций и не хранящиеся там постоянно, называются транзитными программами или транзитами.
Область основной памяти, занимаемая ядром и транзитами, называется областью управляющей программы. Остальная часть основной памяти образует область проблемных программ. Транзиты вызываются в участок основной памяти, который называется транзитной областью управляющей программы.
Разделение управляющей программы на ядро и транзиты позволяет минимизировать область управляющей программы и увеличить область памяти, выделяемой для проблемных программ.
Одной из первых ОС с разделением времени была ОС UNIX, различные версии которой используются во многих ВС. Наиболее распространенной ОС в настоящее время является Windows NT.
Современные ОС обеспечивают дружественный пользовательский интерфейс для различных категорий пользователей. Они реализуют такие элементы человеко-машинного взаимодействия, как многоканальный интерфейс с пользователем и переключение связей между программами. ОС содержат мощный набор графических примитивов, обеспечивающих стандартизацию работы на различных типах графических устройств.
Прикладное программное обеспечение. Требования к прикладному программному обеспечению. К числу основных требований, предъявляемых к составу и архитектуре прикладного программного обеспечения (ППО) современных ВС, относятся следующие:
- для каждого класса задач параллельной обработки информации должен быть разработан универсальный набор параллельных численных методов, ориентированных на различную точность и различные типы ВС;
- в состав ППО ВС должны входить библиотеки параллельных программ для каждой проблемной области.
- пакет программ современной архитектуры должен иметь входной язык, развитую системную часть и набор модулей последовательной, векторной и конвейерной обработки информации.
- если вычисления выходят за рамки представленной в ППО проблемной области, то должен быть разработан язык параллельного программирования, совместимый с входным языком ППО.
- на этапе отладки ППО, кроме традиционных сообщений об ошибках, должны быть предусмотрены специальные сообщения о качестве параллельной структуры ППО (например, несбалансированность ветвей, степень параллельности и др.).
- при статическом планировании подготавливается программа с распараллеливанием процесса вычислений на крупные ветви.
- на стадии интерпретации программ может быть предусмотрен этап динамического распараллеливания на уровне входного языка ППО.
- на всех указанных этапах должно быть организовано непрерывное диалоговое взаимодействие ВС и программиста.
Способы распараллеливания программного обеспечения. Возможности создания параллельного ППО ВС вытекают из аксиомы распараллеливания вычислений на уровне задачи, модели или алгоритма. Это означает, что всякая сложная задача может быть представлена в виде связанных между собой более простых подзадач, а для любой сложной задачи может быть разработан параллельный алгоритм, допускающий ее эффективное решение.
К числу проблем, связанных с разработкой параллельного ППО ВС, относятся:
- разработка параллельных языков и алгоритмов;
- создание управляющей параллельной системы;
- создание системы параллельного программирования;
- организация параллельных режимов функционирования компонентов ВС.
Существуют следующие характерные признаки, по которым можно классифицировать существующие методы распараллеливания (РП) ППО:
а) по степени автоматизации различают ручные, автоматизированные и автоматические методы РП программ;
б) по размеру элементарных программных блоков:
- макрораспараллеливание программы на крупные части (подпрограммы, процедуры и др.);
- микрораспараллеливание программы на уровнеопераций;
в) по характеру области распараллеливания:
- локальное РП охватывает небольшую окрестность каждой точки программы, а преобразованная программа имеет прежнюю конфигурацию;
- глобальное РП "корежит" программу полностью и она изменяется до неузнаваемости;
г) по степени учета специфики операторов программы:
- структурное (универсальное) РП абстрагируется от конкретной интерпретации операторов и имеет дело лишь со схемой программы, в которой указаны информационные и логические связи;
- специальное (тонкое, глубокое и др.) РП осуществляется с учетом специфики конкретных операций в вычислительных методах;
д) по степени динамичности РП:
- статическое РП производится перед выполнением программы, т.е. заранее создается параллельная программа, которая может храниться отдельно и повторно вызываться для счета;
- динамическое РП выполняется в процессе вычислений и зависит от сложившейся вычислительной ситуации;
е) по глубине РП:
- максимальное РП вскрывает все потенциальные возможности распараллеливания;
- оптимальное РП вскрывает ту часть параллельности, которая обеспечивает оптимальные характеристики вычислительного процесса и минимальное время вычислений.
Дата добавления: 2023-01-28; просмотров: 658;