Глобальное моделирование геофизических процессов на персональной ЭВМ (Комплекс GLOMO) / Э. В. Барболина и др. ; РАН, Кол. науч. центр, Поляр. геофиз. ин-т. - Препр. - Апатиты : [б. и.], 1993. - 28 с. : ил.

текста программы всех неиспользуемых в этом варианте подпрограмм) после такой прямой трансляции требовала более 1 Мбайт памяти. Стандартным путем решения такой проблемы является многократное использование одних и тех же участков памяти для последовательной загрузки различных одновременно не используемых кусков программы. Для кодов команд это обычно достигается оверлеизацией. Для данных сущест­ вуют различные способы: если сохранение их значений в те периоды, когда они не используются, не требуется (т.е. при новом обращении они будут заново проинициализированы), то в классическом Фортране-IV при­ менялись операторы EQUIVALENCE или же COMMON-блоки, а в более совре­ менных языках, например, в Фортране-77, динамическое распределение памяти. Если же значения данных необходимо сохранять, то должна быть организована специальная процедура свопинга на диск, после чего зада­ ча сведется к первому случаю. При реализации нашей модели значения данных сохранять не требо­ валось, как уже отмечалось. Казалось бы, наиболее естественно пойти по описанному выше пути. Но на нем возникают новые сложности. Исполь­ зование EQUIVALENCE и COMMON-блоков приводит к тому, что приходится скрупулезно подсчитывать размеры этих областей в разных модулях и вы­ равнивать их введением фиктивных переменных. К тому же, для наиболь­ шей экономии места в каждом блоке в эти области желательно включать все внутренние переменные подпрогоамм различных уровней данного бло­ ка, имеющие дальнюю адресацию, то есть все, проходящие через списки параметров нижележащих подпрограмм. Учет всего этого крайне трудое­ мок, и достижение оптимального результата практически невозможно. Применение динамической памяти несколько проще, при этом не требуется тщательно выравнивать размеры областей данных в различных блоках. Од­ нако, оба этих пути, и особенно второй, приводят к изменениям, хоть и небольшим, практически в каждом модуле программы и нарушают совмести­ мость о исходной ЕС-версией. Поэтому нами был избран другой путь. 2.3. Декомпозиция программы Многократное использование памяти было перенесено на уровень DOS, через создание нескольких последовательно работающих исполняемых ЕХЕ-модулей - самостоятельных Фортран-программ. Управляет порядком их работы специальная головная программа, вызывающая их на исполнение через обращение к функциям DOS и сама при атом резидентно остающаяся в памяти. Таким образом, вместо единой программ был создан пакет nporpaiei. Успеху этого во многом способствовала описанная выше четкая структура исходной программ)." ее иерархичность, выделенность функцио­ S

RkJQdWJsaXNoZXIy MTUzNzYz