Cтраница 2
Так как аддитивная постоянная в Ф не дает слагаемого в Ех, Еу, a Hz не связано непосредственно с Ф, то-с введением вместо и Нг потенциала Ф мы потеряли решение, которое в статической области имеет вид и - const [ первое слагаемое в (20.27) ] и порождает кольцевой ток. [16]
Управление памятью во время выполнения программ, написанных на ПЛ / 1, представляет довольно сложную проблему. Должна существовать большая статическая область, необходимая для хранения выполняемой программы, вспомогательных программ, структур данных, переменных с классом памяти STATIC, а также различных данных, определяемых системой. Для записей активаций подпрограмм и блоков используется центральный стек. Каждая запись активации в общем случае состоит из статического указателя цепочки, точки возврата, областей памяти для переменных и структур данных с классом памяти AUTOMATIC, системных данных, касающихся разрешения прерываний и программ прерываний, определяемых инструкциями ON, а также других системных данных. Обычно для выделения памяти во время выполнения программы используется центральный стек. [17]
При загрузке виртуальной задачи ХМ-монитор автоматически отображает только часть ВАП на непрерывный участок ФАП, расположенный в первых 28 К словах ОП и - называемый статической областью. Размер и расположение статической области зависят от того, какой является виртуальная задача - фоновой или основной. [18]
Использование этой подпрограммы требует дополнительного объема основной памяти: на подпрограмму около 1264 байт, на каждую переменную, появляющуюся в качестве аргумента, еще 12 байт плюс поле, содержащее имя переменной, и поле, содержащее ее значение. Эти поля выделяются в статической области памяти. [19]
Использование этой подпрограммы требует дополнительного объема основной памяти: на саму подпрограмму приблизительно 1264 байта, для каждой переменной, появляющейся в качестве аргумента, еще 12 байтов плюс поле, содержащее имя переменной, и плюс поле, содержащее ее значение. Все эти поля выделяются в статической области памяти. [20]
Та переменная А, которая находится во внутренней статической области. [21]
При запуске виртуальной основной задачи интерактивный монитор KMON и программа USR сдвигаются в сторону младших адресов, освобождая место для задачи. Смешанная область этой задачи непосредственно предшествует той части статической области, на которую отображается статическое окно. [22]
Данные разных исследований отличаются сильным разбросом даже для сопел одинаковых диаметров. Из всего вышеизложенного вытекает существование четкой границы между статической областью образования пузырей, в которой объем пузырей остается приблизительно постоянным, а частота их образования пропорциональна расходу, и динамической областью, в которой частота стремится к конечной величине, а объем пузыря возрастает пропорционально расходу газа. Применимость этих уравнений ограничивается диафрагмами с большой предкамерой. Вопрос о влиянии объема предкамеры на рост пузыря рассматривается несколько ниже. [23]
Организация статической памяти. [24] |
Вектор переходов помещается во внутреннюю статическую область, которая является ч астью программы. Однако в MULTICS из-за того, что 1) все процедуры чистые ( не изменяют сами себя) и 2) один и тот же сегмент может иметь разный номер внутри адресного пространства пользователя, мы не можем иметь внутреннюю статическую область частью чистой программы. Поэтому указатели в MULTICS содержатся в отдельном сегменте, называемом сегментом связи. [25]
Области действия принято разделять на динамические и статические. Динамическая область действия определяется с учетом процесса выполнения программы. Статическая область действия определяется во время трансляции с учетом структуры текста программы. Например, в Алголе среда ссылок в любой момент выполнения определяется не операциями именования во время выполнения, а декларациями в блоках, включающих то место исходной программы, которое в данный момент выполняется. В следующих разделах детально изучаются различные статические и динамические правила для области действия. Вообще говоря, динамические правила относительно легко реализуются, но статические правила, хотя их и труднее реализовать, позволяют получать значительно более эффективную выполняемую программу. Обычно статические правила характерны для таких языков, как Фортран, Алгол и ПЛ. [26]
В основе типичной реализации АПЛ лежит чисто программ-ная интерпретация выполняемой программы. Программы хранятся по существу в том виде, в котором вводятся, подвергнувшись лишь минимальной трансляции. Выделяются две статические области памяти: одна для системных программ и одна для рабочей области, используемой программистом в данный момент. С системными программами обычно работают сразу несколько пользователей, однако у каждого из них имеется своя собственная рабочая область. Память, выделяемая под рабочую область, включает статическую подобласть, содержащую системные данные и три динамические подобласти: стек для записей активаций подпрограмм ( локальные среды ссылок и точки возврата), куча для массивов и тел определений подпрограмм и таблица ассоциаций для глобальных идентификаторов. Когда необходимо, выполняется сбор мусора и полное уплотнение памяти. Для хранения массивов применяется обычное последовательное представление с полными дескрипторами, используемыми во время выполнения программы. [27]
Организация статической памяти. [28] |
Например, если А и В декларируются как внешняя статическая память в Р1, а В - как внешняя статическая память в Р2, эти две программы будут компилироваться с двумя отдельными внешними сегментами, каждый из которых содержит переменную В. Все ссылки к внешней статической области осуществляются косвенно, через вектор переходов ( последовательность указателей), который указывает на все переменные внешней статической памяти. Этот вектор располагается во внутренней статической области программы и содержит адреса всех переменных внешней статической памяти. [29]
Организация статической памяти. [30] |