Справочник химика 21

Химия и химическая технология

Статьи Рисунки Таблицы О сайте English

Распределение памяти

    Транслятор с автокода выполняет перевод программы, представленной на внешнем системном языке, в программу для конкретной ЭВМ с выдачей на печать таблицы распределения памяти и текста транслированной программы, а также перфорацию программы и карты ее ввода. [c.130]

    Языки, используемые в автоматизированном проектировании, должны быть открыты для наращивания и улучшающих изменений. При этом транслятор и другие составляющие СМО не должны переделываться. Такое требование обусловлено невозможностью учесть все необходимые особенности языка при его разработке многие важные черты языка определяются в процессе непосредственного написания на нем алгоритмов и программ. Весьма существенным для задач автоматизированного проектирования требованием, не выполненным в некоторых языках, является возможность включения в описании алгоритмов на высоком языковом уровне блоков (подпрограмм), описанных на языке низшего уровня. Необходимыми являются также средства для распределения памяти между блоками программ. Особенно удобно, если эти [c.130]


    В машинах ряда 2 более развиты средства дистанционного доступа, или, как говорят, средства телеобработки. В частности, для обеспечения возможности динамического распределения памяти во всех машинах ряда 2 аппаратно реализованы механизмы виртуальной памяти. Совершенствование программного обеспечения уже сейчас позволяет практически снять ограничения но памяти для ЭВМ благодаря введению концепции виртуальной памяти. Существенно повышается и точность вычислений введением операций с 16-байтовыми числами. Быстрое развитие программного обеспечения привело к тому, что на его создание идет примерно 90% всех трудовых затрат, связанных с созданием новых средств вычислительной техники. [c.233]

    Важным достоинством языка является возможность использования блочной структуры программы и динамического распределения памяти. Первое состоит в том, что программа может быть разделена на отдельные части и составляться независимо различными программистами с введением необходимых (собственных) [c.31]

    К недостаткам по сравнению с Алголом можно отнести отсутствие строгого описания синтаксиса и отсутствие динамического распределения памяти. Под используемые массивы данных необходимо резервировать память исходя из максимальной размерности для данной задачи. [c.34]

    Процедурный и обычный блоки выполняют одинаковую роль по распределению памяти и ее освобождению, по ограничению области действия переменных, но различаются тем, что первый может быть независимой частью программы, а второй — только частью другого блока (процедурного или обычного). [c.284]

    Деление блоков на внешние и внутренние, а также вложенность их определяет правила распознавания имен и способ распределения памяти. [c.285]

    Область действия имени и класс памяти определяют способ распределения памяти под храпение переменной. Распределение может быть статическим и динамическим. [c.286]

    Общая область памяти. Мы видели, что при передаче данных через параметры происходит по существу удваивание памяти для их хранения (если не передаются адреса). Кроме того, время тратится на распределение памяти в вызывающей программе и подпрограмме. При большом числе параметров дополнительные затраты памяти и времени могут быть существенными. Очевидно, параметры целесообразно использовать в тех случаях, когда нри обращении к одной и той же подпрограмме должны изменяться не только размерности массивов, но и имена параметров. [c.380]

    Ранее отмечалось, что транслятор распределяет память машины по описаниям. Если программа состоит нз нескольких блоков, то распределение памяти под локальные и глобальные переменные производится по-разному. Память, отведенная для хранения глобальных переменных, не может использоваться ни в какой другой части программы для размеш,ения других объектов. Память же для хранения локальных переменных представляет собой массив рабочих ячеек, содержимое которых сохраняется только при выполнении операторов данного блока и занимается другими величинами при входе в другой независимый блок. Отсюда понятен смысл неопределенности идентификаторов локальной переменной за пределами блока. Значение переменной не сохраняется при повторном входе в блок. [c.68]


    Динамическое распределение памяти. Вход в блок возможен только через заголовок, т. е. нельзя обратиться к внутренним операторам блока, минуя его описания. Это является следствием принципа локализации переменных. В момент входа в блок зпачение его локальных переменных не определено, не определены и границы расположения используемых массивов, если они заданы идентификаторами. Значения переменных вычисляются в процессе выполнения операторов блока, а массивы размещаются в памяти динамически, т. е. в момент входа в блок. [c.69]

    Алгол допускает использование массивов с переменными верхними границами. Поскольку распределение памяти под массивы происходит в момент входа в блок, то в выражениях для границ индексов не должны содержаться идентификаторы, значения которых устанавливаются операторами данного блока (локальные переменные). Переменные выражений для индексов должны принимать числовые значения в блоке, охватывающем блок с переменными границами массивов. Например, запись вида [c.69]

    Многообразие трансляторов по структуре не позволяет установить четкую границу между функциями, выполняемыми самим транслятором и рабочей программой. В различных трансляторах их функции могут пересекаться. Например, динамическое распределение памяти может выполняться как транслятором, так и рабочей программой. [c.163]

    Распределение памяти под исходную информацию остается тем же, что и в предыдущей программе. В новой программе ячейка 78 выполняет несколько иную роль она является сумматором для команд, записанных в памяти. [c.437]

    Если в программе используются массивы, то помимо указанной информации в заголовке задаются максимальные значения индексов. По этой информации производится распределение памяти для хранения массивов. [c.454]

    Информация о распределении памяти. Для каждой переменной, массива, процедуры, формальных параметров процедуры на АЦПУ выводится идентификатор и адреса ячеек в восьмеричном коде. На МП-16 распределение памяти может быть выведено по ключу. Адреса в распределении памяти означают следующее  [c.478]

    Алгоритмический язык ФОРТРАН предназначен для решения задач численного анализа. Он обладает простотой, близостью записи выражений к выражениям, принятым в математике, простыми операторами ввода-вывода информации, простотой транслятора, возможностью выявления синтаксических ошибок. К недостаткам этого языка можно отнести невозможность динамического распределения памяти и необходимость нумеровать элементы массивов, начиная с единицы. [c.42]

    Алгоритмический язык АЛГОЛ, подобно языку ФОРТРАН, предназначен для решения задач численного анализа. Этот язык более сложен, но и более выразителен в нем допускается динамическое распределение памяти и произвольная индексация элементов массива. Блочная структура программ, записанных на языке АЛГОЛ, обеспечивает возможность независимого написания отдельных частей программы и экономию памяти. Однако это приводит к усложнению транслятора и увеличению времени трансляции. [c.42]

    Загрузка. Переработанный интерпретатором массив прежде всего содержит требования на распределение памяти и загрузку определенных программ, выраженные в стандартной для загрузчика форме. Извлекая эти данные, относящиеся к текущему процессу, функция загрузка анализирует их с целью определения места расположения требуемых в задании программ. Полученная информация позволяет производить распределение главной памяти на основе метода, заложенного в данной функции. В распределенные области памяти загружаются требуемые программы (происходит образование задачи). Последним действием является сообщение планировщику о существовании задачи, готовой к исполнению. [c.61]

    Для перевода символических кодов операций в коды машины в программе-трансляторе есть таблица их соответствия. Чтобы заменить символические адреса числовыми, программа-транслятор производит распределение памяти и на этом основании каждой символической переменной ставит в соответствие действительный числовой адрес (при этом машина должна уметь отличать команды от чисел и констант). [c.65]

    При составлении программы для ЦВМ Пром нь размещение исходных данных задачи не вызывает никаких затруднений и состоит по существу в заполнении бланка распределения памяти (БРП) — табл. 6. [c.166]

    Описанию массивов в программе предшествует другая операторная скобка BEGIN. Она открывает блок, внутренний по отношению к первому, и нужна затем, чтобы воспользоваться динамическим распределением памяти под массивы X, У и ALFA. Нужно, чтобы число элементов каждого из массивов было известно (задано или введено) в блоке, охватывающем блок, где приведено описание массива. Рядом справа приведен вариант начала программы при фиксированном числе компонентов. [c.33]

    Если переменная имеет атрибут STATI , то распределение памяти производится до выполнения программы. Она остается размещенной в памяти на все время выполнения программы. При повторных выполнениях некоторого блока можно использовать старые значения переменных. [c.286]

    Если переменная имеет атрибут AUTOMATI , то распределение памяти производится динамически, т. е. при выполнении программы или ее части. После выполнения программы память, распределенная динамически, освобождается и значения переменных теряются. [c.286]

    Если переменная имеет атрибут BASED, то распределение памяти производится также динамически, однако имеется возможность управления процессом вычисления адресов, где будут размещены переменные (программист задает адрес, начиная [c.286]

    При объявлении имени переменной можно также задать значение этой переменной с помощью атрибута INITIAL. Присваивание значения будет производиться в момент распределения памяти нри загрузке программы (для переменных с атрибутом STATI ) или всякий раз нри активизации блока (для переменных с атрибутом AUTOMATI ). Например, [c.327]


    В рассмотренном примере как в выаываюп еЁ программе, так и в подпрограмме заданы максимальные абсолютные размеры массивов X и Y, однако использовалась лишь только часть этих массивов. Если массив является формальным параметром, то его размерность можно задавать с помощью переменных, т. е. при обмене данными с подпрограммой или функцией возможно динамическое распределение памяти под массивы. [c.379]

    Динамическое распределение памяти под массивы состоит в следующем. Для массива, имя которого используется в качестве формального параметра, размерность в операторе DIMENSION или операторах явного описания задается переменными из OMMON или в качестве параметра. Массивы, являющиеся фактическими параметрами, в вызывающей программе объявляются с абсолютными измерениями, т. е. границы задаются целочисленными константами. При обращении к подпрограмме или функции в качестве фактических параметров задаются имя соответствующего массива и неременные, определяющие размерность, если они являются формальными параметрами. Заметим, что измерения, передаваемые в подпрограмму, не могут превосходить максимальных измерений массивов, объявленных в вызывающей программе. [c.379]

    Оператор EQUIVALEN E. Наряду с рассмотренными средствами этот оператор может быть использован для управления распределением памяти. Этот оператор записывается в виде [c.382]

    Оператор EQUIVALEN E не влияет на распределение памяти внутри общей области, если устанавливается эквивалентность с соответствующей переменной из этой области, но может привести к ее расширению. Такое расширение возможно при установлении эквивалентности между переменной из общей области и элементом [c.382]

    В Фортране отсутствует динамическое распределение памяти, поэтому в программе обязательно указываются максимальные размеры используемых массивов. Индексы переменных с индексами не должны выходить за эти границы. Размерности массивов устанавливаются с помощью оператора DIMENSION. Любая переменная с индексом должна быть описана этим оператором. В одном операторе DIMENSION можно описывать произвольное число массивов. Например, DIMENSION А (20, 20), В (100), С (15, 20, 30, 2). [c.126]

    Аналогом операторов МАССИВ и DIMENSION в Алголе является описатель array с той разницей, что динамическое распределение памяти позволяет не указывать максимальное число элементов массива в описании. Например, операторы МАССИВ А(100 N. N) и DIMENSION A(IO.IO) в Алголе описываются как [c.159]

    Распределение памяти 01 — хд — состав дистиллата, моль/ моль-, 02 — X/ — состав питания, молъ/молъ] 03 — а — коэффициент относительной летучести 04 — Лтш 05 — Лщах 06 — АЛ — шаг изменения флегмового числа 07—12 — рабочие ячейки, используемые для хранения промежуточных результатов расчета. [c.440]


Смотреть страницы где упоминается термин Распределение памяти: [c.130]    [c.131]    [c.213]    [c.147]    [c.431]    [c.434]    [c.436]    [c.438]    [c.447]    [c.58]    [c.447]    [c.128]    [c.129]    [c.143]   
Программирование (1963) -- [ c.109 ]




ПОИСК





Смотрите так же термины и статьи:

Память и распределение ионных каналов

Память, динамическое распределение

Связь между распределением памяти и составлением команд

Таблица распределения памяти ТРП



© 2025 chem21.info Реклама на сайте