Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Krutov_V_I__Popov_V_V__Osnovue_nauchnueh_issled_BookSee_org (1).doc
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

1 Нжмд — накопитель на жестких магнитных дисках.

Таблица 8.4


Признаки

Общего назначения

Реального времени

Разделения времени

плос

ДОС

ДОС РВ

ФОБОС

] РАФОС

ОС РВ

ДИАМС

ДОС PBP

Количество пользователей

1

I

128

1

8

32

40

24

Тип системного носителя

ПФЛ

Магнитный диск

Минимальная и максимальная ем­кость ОП, Кбайт

8...56

32...56

16...56

16...56

16...56

32...248

22,..248

64...248

Языки програм­мирования

Ассемблер

Ассемблер Макроас­семблер. Фортран-IV

Ассемблер. Фортран-IV. ДИАСП. Бэйсик

Макроас­семблер, Фортран-lV, ДИАСП. Бэйсик

Ассемблер, Ма кроассемблер,

Форгран-lV, Бэйсик, Паскаль

ДИАМС

Бэйсик- ПЛОС

1 1 ! 1 . I

Режим подго­товки и отладки

программ

%

Диалоговый

Диалого­вый, пакет­ный

Диалоговый

Диалоговый, пакетный

Диалоговый

Диалого­вый. пакет­ный

Режим работы

Диалоговый

Диалого­вый, пакет­ный

Диалого­вый, реаль­ного време­ни

Диалого­вый, пакет­ный, реаль­ного време­ни

Диалоговый

Наличие средств телеобработки

Нет

Через СТОД1

Через СТОД

Есть

'СТОД — система телеобработки данных. РАФОС — базовая система реального времени.

ПЛОС — перфоленточная операционная система. ОСРВ — система реального времени для широкого

ДОС — дисковая операционная система. класса задач.

ДОСРВ — дисковая операционная система реального вре- ДИАМС — диалоговая многопультовая система.

Характеристики основных операционных систем СМ ЭВМ

мени. ДОС PBP — система разделения времени. ФОБОС — система реального времени для проблемно- ориентированных комплексови облегчались условия эксплуатации устройств, необхо­димых при решении задач. При этом наряду с измене­нием структуры ЭВМ и ее устройств, определяющее значение приобретало программное обеспечение24.

В настоящее" время программное обеспечение под­разделяется {рис. 8.4) на общее (операционные систе­мы) , которое поставляется вместе с оборудованием (эта часть программного обеспечения предназначена для эффективного обслуживания пользователей), и на специальное, позволяющее расширить сферу применения ЭВМ.

s

- & l|

Is

s fe

tl : §

ЦЧ

S

ш

л

(к S x <u

о

a

о

X S

Ж «

Q. Lh О Q- C

w

(X >»

SL

o. b и

aслучайной порчи или неправильного обращения. Про­грамма управления данными или вводом- выводом обеспечивает ввод и вывод данных, следит за окончанием ввода и вывода массивов на устройствах и переключает эти устройства, совмещает обработку данных в процессоре с вводом-выводом.

Обрабатывающие программы работают под контро­лем управляющих, обеспечивают отладку программ поль­зователя и проверку состояния машины. Транслято- р ы переводят программы пользователя с исходного языка на язык машины. Каждый язык программирова­ния имеет свой транслятор. Современные ЭВМ, как пра­вило, имеют несколько трансляторов с различных язы­ков. Редактор связей подготавливает оттрансли­рованную программу к выполнению. Система отладки обеспечивает отладку программ, их редак­тирование, выводит на печать информацию об ошибках, предоставляет средства для внесения изменений в про­грамму. Библиотекарь организует накопление про­грамм и поддержание их в рабочем состоянии на маг­нитных носителях, обеспечивает копирование программ. Программы сортировки — слияния — пред­назначены для упорядочения информации в порядке воз­растания или убывания группировочных признаков. При этом информация может выбираться с нескольких маг­нитных носителей (магнитных лент или дисков). Про­граммы проверки внешних устройств поз­воляют установить и выдать сообщение о неисправности внешних устройств.

Одним из условий эффективного внедрения вычисли­тельной техники в практику производства является соз­дание специализированных пакетов прикладных программ (ППП). Доступность и простота исполь- ' зования ППП создают предпосылки для более широко­го внедрения ЭВМ в практику инженерного труда, реше­ния конкретных задач научной области. ППП обычно строятся на базе специальных систем и являются даль­нейшим их развитием в конкретном направлении. Они поставляются отдельно от программного обеспечения вычислительных средств, имеют свою документацию и не входят в состав операционных систем.

Разработка пакета не должна требовать модифика­ции операционных систем. Это относится и к пакетам, влияющим на работу управляющих программ. Если па­кет требует внесения изменений в управляющую про­грамму, то это выполняется в процессе загрузки и ини­циализации пакета.

Все пакеты могут быть разбиты на пакеты, расширя­ющие возможности операционных систем; общего на­значения и ориентированные на работу в автоматизиро­ванных системах управления. Пакеты прикладных про­грамм, расширяющие возможности операционных систем, обеспечивают функционирование различных конфигураций ЭВМ. К ним относятся пакеты, обеспе­чивающие работу типовых конфигураций многомашин­ных комплексов, диалоговых систем, систем работы в реальном масштабе времени, удаленную пакетную об­работку. Пакеты прикладных программ общего назна­чения включают набор программ для широкого круга применений. К ним относятся программы, обеспечиваю­щие различное применение алфавитно-цифровых и гра­фических дисплеев, работу графопостроителя, системы программирования для языков высокого уровня (Фор­тран, PL/1 и др.), программы для научно-технических расчетов, математического программирования, обработ­ки матриц, моделирования, программы для решения за­дач теории массового обслуживания и др. Пакеты, ори­ентированные на работу в АСУ, включают общецелевые системы обработки банков данных, информационно-по­исковые системы общего назначения, системы обработки документов.

Каждый пакет, в зависимости от ЭВМ и его назначе­ния, реализуется на конкретном языке программирова­ния в соответствии с требованиями к пакету и возмож­ностями языка. Ниже приводятся некоторые сведения о пакете научных подпрограмм, написанных на языке Фортран.

Фортран является наиболее распространенным язы­ком программирования вычислительных задач. Трансля­тор с этого языка входит в состав математического обес­печения почти всех ЭВМ. На языке Фортран накоплена самая большая в мире библиотека программ.

Важное значение для научных исследований, прово­димых с применением ЭВМ, имеют пакеты научных подпрограмм. Это совокупность подпрограмм, на­писанных на языке базисного Фортрана и реализующих наиболее часто встречающиеся в приложениях методы численного анализа и статистики. Пакет имеет модуль­ную структуру, что допускает возможность его расшире­ния и замены отдельных модулей.

Отдельные подпрограммы или их комбинации могут быть использованы для решения различного рода задач. Например, в статистике это пробит-анализ; дисперсион­ный анализ (факторное планирование); корреляционный анализ; множественная линейная регрессия; шаговая ре­грессия; полиномиальная регрессия; каноническая кор­реляция; факторный анализ (основные компоненты вра­щения факторов); дискриминантный анализ (множество групп); анализ временных рядов; выборка и анализ дан­ных; непараметрические тесты; получение случайных чи­сел (равномерное и нормальное распределение); функ­ции распределения.

Математические подпрограммы охватывают: обраще­ние матриц; собственные значения и собственные векто­ры; системы линейных алгебраических уравнений; под­становки; матричную арифметику (сложение, умножение и т. д.); разбиение матриц; табулирование матриц и сор­тировка строк или столбцов; элементарные операции со строками и столбцами матриц; разложение матриц; ин­тегрирование и дифференцирование функций, заданных таблично; решение дифференциальных уравнений пер­вого порядка; анализ Фурье функций, заданных таблич­но; вычисление функций Бесселя и модифицированных функций Бесселя; вычисление у-функций; эллиптических функций Якоби; эллиптических, экспоненциальных ин­тегралов; интегральных синусов и косинусов; интегра­лов Френеля; нахождение действительных корней за­данной функции; нахождение действительных и ком­плексных корней многочлена с действительными коэф­фициентами; полиномиальную арифметику (сложение, деление и т.д.); вычисление полиномов, интегрирование, дифференцирование; полиномы Чебышева, Эрмита, Ла- герра, Лежандра; экстремумы функций; аппроксимацию, интерполяцию и составление таблиц.Пакет подпрограмм является пакетом простой струк­туры. Он включает отдельные программные модули, ко­торые могут быть организованы в библиотеку средства­ми операционной системы. Эти подпрограммы чисто вычислительные и не содержат никаких ссылок на уст­ройство ввода-вывода. Поэтому пользователь в своей программе должен предусмотреть какой-то ввод-вывод и другие операции, необходимые для поллого решения задачи. Кроме того, пользователь при помощи операто­ра DIMENSION должен определить все матрицы, над которыми будут произведены операции, подпрограммами пакета, а также матрицы, используемые в других вер­сиях Фортрана, имеющих более широкие возможности, он может использовать элементы этого языка, отсутству­ющие в языке базисного Фортрана. Например, некоторые версии Фортрана содержат возможности кратного входа в подпрограмму. Используя эти возможности, некоторые подпрограммы пакета могут быть объединены. В качест­ве примера можно привести объединение подпрограмм GMADD и GMSUB, (сложение и вычитание общих мат­риц):

SUBROUTINE GMADD(A,B,R,N,M) DIMENSION А (I), B(I) R(I) К = 0 GOTO JO

ENTRY GMSUB (A, B, R, N, M) K=1

10 NM = N.M

DU 40 I = 1, NM IF (K) 20,20 , 30

20 R (I) = A(1) + B(I) GOTO 40

30 R (I) = A (1) — В (I)

40 GONTINUE RETURN END

Такой способ составления подпрограмм не влияет на программу пользователя, но сокращает общий размер используемой памяти.

Точность вычислений многих подпрограмм пакета в значительной степени зависит от числа знача­щих цифр, поступающих в арифметическую операцию. Обращение матриц, интегрирование и многие подпро­граммы статистики относятся к этой категории. Поэтому возникает необходимость в варианте удвоенной точно­сти этих подпрограмм. Многие подпрограммы текста SSP (пакет научных подпрограмм) написаны в двух ва­риантах: с обычной и удвоенной точностью. Некоторые подпрограммы содержат инструкции для работы с дан­ными удвоенной точности в тексте подпрограммы на нс- ходном языке. Операторы для работы с удвоенной точ­ностью включены в каждую такую подпрограмму в фор­ме карт комментариев. В большинстве случаев вариант подпрограммы с удвоенной точностью может быть полу­чен удалением перед компиляцией символа «С» столбца карты (карт) с оператором DOUBLE PRECISION.

В некоторых случаях даются дополнительные ин­струкции: например, заменить SQRT на DSQRT, ABC на DABS или задать новые константы. Использование под­программ с удвоенной точностью требует детального знания правил языка Фортран, касающихся удвоенной точности. Ниже приводятся два из них: 1. Имя любой действительной переменной или массива, содержащегося в списке аргументов оператора CALL, вызывающего под­программу с удвоенной точностью, должно быть описано с помощью оператора DOUBLE PRECISION в вызыва­ющей программе. Например, если подпрограмма обра­щения матрицы MINV из пакета SSP видоизменена в вариант удвоенной точности н если программа поль­зователя содержит оператор CALL MINV (AR 1, N, (целевая переменная); DET— определитель (действи­тельный массив удвоенной точности); N — размерность (целевая переменная); DET — определитель (действи­тельная переменная удвоенной точности), MY 1—рабо­чий вектор (массив целых чисел); MY 2 — рабочий век­тор (масснв целых чисел), тогда в начале программы пользователя должен быть оператор описания DOUBLE PRECISION AR 1, DET.

Остальные переменные оператора CALL являются це­лыми переменными и их не следует включать в опера­тор описания.

2. Любая задаваемая пользователем функция, на­званная в операторе CALL при обращении к подпрограм­ме с удвоенной точностью из пакета SSP, должна быть запрограммирована как функция удвоенной точности. Например, для решения дифференциального уравнения методом Рунге-Кутта по подпрограмме RK 2 использует­ся функция, названная FUN. Пусть эта функция запро­граммирована следующим образом:

FUNCTION FUN (X, Y) FUN-= 1-I.X RETURN END

Если используется вариант RK2 с удвоенной точно­стью, то функция должна быть запрограммирована с удвоенной точностью:

DOUBLE PRECISION FUNCTION FUN (X, Y)

DOUBLE PRECISION X, Y

FUN = 1 • 1 *X

RETURN

END

Для иллюстрации обращения к подпрограммам па­кета SSP ниже приводятся четыре примера. Первые два — это подпрограммы сложения и умножения двух матриц общего вида. Третий и четвертый — подпро­граммы для решения систем линейных алгебраических уравнений методом исключения Гаусса. Последний — решение системы с удвоенной точностью.

  1. Подпрограмма CMADD (сложение двух матриц общего вида).

Назначение

Сложить две матрицы общего вида.

Результирующая матрица общего вида.

Обращение CALL GMADD (А, В, R, N, М)

Описание параметров: А — имя первой входной мат­рицы; В — имя второй входной матрицы; R — имя вы­ходной матрицы; N — число строк А, В, R; М — число столбцов А, В, R.

Замечания: Все матрицы должны запоминаться как матрицы общего вида.

Требуемые подпрограммы и подпрограммы-функции

Нет.

Метод

Сложение выполняется поэлементно.

  1. Подпрограмма GMPRD (произведение двух мат­риц общего вида),

Назначение

Перемножить две матрицы общего вида.

Обращение CALL CMPRD (А, В, R, N, М, L)

Описание параметров: А — имя первой входной мат­рицы; В —имя второй входной матрицы, R — имя вы­ходной матрицы; N — число строк А; М — число столб­цов А и строк В; L — число столбцов В.

Замечания: Все матрицы должны храниться как ма­трицы общего вида.

Матрица R не может находиться на месте матрицы А или матрицы В. Число столбцов матрицы А должно быть равно числу строк матрицы В.

Требуемые подпрограммы и подпрограммы-функции

Нет.

Метод

Матрица В порядка М« L умножается на матрицу А порядка N* М и результат запоминается на месте матрицы R порядка N* L.

3.Подпрограмма GELS (решение системы линейных уравнений с симметричной матрицей коэффициентов)

Назначение

Решить систему линейных уравнений с симметрич­ной матрицей коэффициентов, верхняя треугольная часть которой располагается по столбцам.

Обращение CALL GELS (R, А, М, N, EPS, IER, AVX)

Описание параметров: R — матрица правых частей порядка М* N (в ходе вычисления изменяется), на вы­ходе содержит решение систем; А — верхняя треуголь­ная часть симметричной матрицы коэффициентов по­рядка М*Ы (в ходе вычисления изменяется); М — чис- сло уравнений в системе; N — число векторов правых частей; EPS — входная константа, используемая в ка­честве относительной погрешности для проверки потери точности; IER — результирующее значение параметров ошибки:

IER = 0 — нет ошибки,

IER=I—нет результата, так как либо М<1, либо на каком-то шаге исключения главный элемент равен нулю;

1ER = K — сообщение о возможной потере точности на шаге исключения (К+1), где главный элемент был меньше или равен внутренней погрешности EPS, умно­женной на наибольший по абсолютной величине диаго­нальный элемент матрицы А.

AVX—вспомогательный массив размерности (М— 1).

Замечания: Верхняя треугольная часть матрицы А располагается по столбцам в М(М-И)/2 последова­тельных адресах, матрица правых частей R — по столб­цам в (N+M) последовательных адресах. На выходе матрица решений R также располагается по столбцам.

Подпрограмма дает результаты: 1. Если число уравне­ний М>0 и на всех шагах исключения главные элемен­ты отличны от нуля. 2. Если выдается IER = K и указы­вает на возможную потерю точности. 3. В случае хоро­шо масштабированной матрицы А и соответствующей погрешности ERS IER = K видно, что матрица А имеет ранг К. Сообщение о потере точности не выдается в слу­чае М = 1. Параметр ошибок IER =—I не обязательно означает, что матрица А особенная, так как в качестве главных элементов используются только элементы на главной диагонали. Возможно, подпрограмма GELG, которая работает с выбором главного элемента во вто­рой матрице, могла бы найти решение.

Требуемые подпрограммы и подпрограммы-функции

Нет.

Метод.

Система решается методом исключения Гаусса с вы­бором главного элемента по главной диагонали с целью сохранения симметричности в преобразованных матри­цах коэффициентов.

4. Подпрограмма DGELS (решение с удвоенной точно­стью системы линейных уравнений с симметричной ма­трицей коэффициентов).

Назначение

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

Обращение CALL DGELS (R, А, М, N, EPS, IER, AVX)

Описание параметров: R — удвоенной точности мат­рица правых частей порядка М* N (в ходе вычислений изменяется); на выходе R содержит решение системы; А — удвоенной точности верхняя треугольная часть симметричной матрицы коэффициентов порядка М* N (в ходе вычисления изменяется); М — число уравнений в системе; N — число векторов правых частей; EPS — обычной точности входная константа, используемая в качестве относительной погрешности для проверки по­тери точности;

IER — результирующее значение параметра ошибки: IER=0 — нет ошибки,

IER=—1 — нет результата, так как либо М<1, либо на каком-то шаге исключения главный элемент равен нулю;

IER*=K — сообщение о возможной потере точности на шаге исключения (К-Н), где главный элемент был меньше или равен внутренней погрешности EPS, умно­женной на наибольший по абсолютной величине диаго­нальный элемент матрицы А;

RUX — удвоенной точности вспомогательный массив па­мяти, размерности (М—1).

Замечания: Верхняя треугольная часть матрицы А располагается по столбцам в М(М+1)/2 последова­тельных адресах; матрица правых частей R — по столб­цам в M.N последовательных адресах. На выходе мат­рица решений R также располагается по столбцам. Подпрограмма дает результаты, если число уравнений М>0 и на всех шагах исключения главные элементы отличны от нуля. IER = K (если выдается) указывает на возможную потерю точности. В случае хорошо мас­штабированной матрицы А и соответствующей погреш­ности EPSIER = K говорят о том, что матрица А имеет ранг К. Сообщение о потере точности не выдается, если М=], Параметр ошибок IER=—I не обязательно оз­начает, что матрица А — особенная, так как в качестве главных элементов используются только элементы глав­ной диагонали. Возможно, подпрограмма DGELG, кото­рая работает с выбором элемента по всей матрице, могла бы найти решение.

Требуемые подпрограммы и подпрограммы-функции

Нет.

Метод.

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