20615

Анализ потока

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

Управление распределением памяти и сборка мусора Задачи решаемые компиляторами: выделение памяти инициализация выделенной памяти некоторыми начальными значениями предоставление возможности программисту использования этой памяти при прекращении использования памяти ее освобождение обеспечение повторного использования освобождающей памяти. Проблемы управления памятью: ограниченность памяти ошибки явного управления памятью особенности возникновения ошибок при работе с памятью труднонаходимость проблема освобождения ресурсов...

Русский

2013-07-31

121.5 KB

0 чел.

Лекция №16

Анализ потока

Необходимо определить свойства передачи управления между операторами программы. Найденные свойства используется на этапе оптимизации.

Для решения задачи анализа потока управления используется графовая модель.

Используется ориентированный граф с двумя выделенными вершинами “старт” и “стоп”, такими, что в “старт” не заходит никакая дуга, а из “стоп” не выходит. Любая производительная вершина такого графа меньше или равна хотя бы одному пути из “старта” в “стоп”.

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

Вершина V обязательно предшествует вершине W, если V принадлежит каждому пути в графе от “старт” до W.Каждая вершина, следовательно, предшествует сама себе.

Вершина V строго и обязательно предшествует вершине W, если она обязательно ей предшествует и не совпадает с ней.

Вершина V непосредственно предшествует W, если она является ближайшей строго предшествующей вершиной.

   

дерево предшествования      граф

Фрагментом называется произвольный подграф графа управления, для которого выполняются четыре множества вершин:

  1.  множество входящих вершин, принадлежащих F, и для которых существует путь от старта графа W не соединенных вершин графа,
  2.  множество начальных вершин, принадлежащих F, в которых входит хотя бы одна дуга из не F.
  3.  множество выходных вершин, принадлежащих F, из которых выходит хотя бы одна дуга за пределы F,
  4.  множество конечных вершин, не принадлежащих F, в которые входит хотя бы одна дуга из F.

Альтом называется фрагмент, имеющий одну начальную вершину.

Луч – фрагмент, являющийся альтом, таким, что произвольная его вершина, отличная от начальной и выходной, имеет одного предка и потомка, каждый из которого принадлежит лучу.

Сильно связанным подграфом называется граф, состоящий из взаимно-достижимых вершин.

Управление распределением памяти и сборка мусора

Задачи, решаемые компиляторами:

  1.  выделение памяти,
  2.  инициализация выделенной памяти некоторыми начальными значениями,
  3.  предоставление возможности программисту использования этой памяти,
  4.  при прекращении использования памяти ее освобождение,
  5.  обеспечение повторного использования освобождающей памяти.

Проблемы управления памятью:

  1.  ограниченность памяти,
  2.  ошибки явного управления памятью,
  3.  особенности возникновения ошибок при работе с памятью (труднонаходимость),
  4.  проблема освобождения ресурсов,
  5.  решение проблем уничтожения и утилизации памяти,
  6.  проблема отслеживания путей доступа к структурам, использующим память.

- мусор и “висячие” ссылки,

- статическая и динамическая память

Разработка практически всех языков программирования ориентируется на ту или иную методику управления памятью. Например, в Фортране запрещен рекурсивный вызов подпрограмм.

Отслеживание свободной памяти при помощи подсчета ссылок:

каждому элементу памяти ставится в соответствие свой счетчик ссылок таким образом, что при изменении количества ссылок изменится счетчик,

Отслеживание свободной памяти при помощи разметки:

проблема поиска свободной памяти возникает только при ее нехватки. Все живые элементы помечаются, а неживые уничтожаются.

Использование понятийпоколения объектов”:

  1.  чем моложе объект, тем меньше всего время жизни, и наоборот,
  2.  молодые объекты сильнее связаны друг с другом и обычно используются одновременно.


 

А также другие работы, которые могут Вас заинтересовать

590. Імітаційне моделювання. Функція генератор випадкових (псевдо) чисел 66.5 KB
  Написати функцію генератор випадкових(псевдо) чисел. Дослідити поведінку ЛК на зміну параметрів. Побудувати графік. Реалізована функція xn+1=(axn+c) mod m. З вхідними параметрами. За допомогою функції і оримали масив 1000 значень. ПСЧ отримались в проміжку від 1 до 29.
591. Модернизация технологического процесса обработки резанием детали ствол к изделию ружье 499.5 KB
  Расчет и проектирование мерительного инструмента. Усовершенствование технологического процесса обработки резанием детали Ствол из условия улучшений ее технологических характеристик. Изучение конструкции и принципа работы макета ружья.
592. Интерпретатор фиксированной XML-структуры в SQL-запросы 130 KB
  XML, в отличие от HTML, дает возможность сохранения данных в обычном текстовом формате, при этом любой человек или программа, имеют возможность читать и обрабатывать XML-документы. С помощью любого текстового редактора на любой платформе можно просмотреть документ и внести в него необходимые изменения.
593. Теория административного права 268 KB
  Понятие управление в административном праве. Исполнительная власть и государственное управление как вид государственной деятельности. Административно-правовые нормы: понятие, виды, особенности. Обязанности и права государственного служащего.
594. Информационные технологии при обучении иностранному языку 71 KB
  Процесс внедрения (использования) информационных технологий в обучение иностранному языку. Информационные технологии при изучении страноведческого материала на базе английского языка.
595. Испытание трехфазного синхронного генератора методом непосредственной симметричной нагрузки 175 KB
  Схемы, снятые параметры опытов, обработка результатов измерений. Общая принципиальная схема. В качестве привода генератора использовался двигатель постоянного тока. Определение реактивности Потье, построение диаграммы ЭМДС, определение номинального тока возбуждения генератора.
596. Изучение утилиты gawk мощного инструмента ОС Linux 78 KB
  Изучению утилиты gawk мощного инструмента ОС Linux, ее функциональным возможностям и синтаксису, созданию shell-сценариев с использованием этой утилиты, ее команд и управляющих структур.
597. История жизни и деятельности Александра III 152.5 KB
  Внешняя политика Александра III. Экономическое развитие страны. Проблема коррупции при Императоре Александре III. В годы царствования Александра III значение Русской Православной Церкви вообще продолжало увеличиваться. Особую роль в этом сыграл обер-прокурор Синода К.П. Победоносцев.
598. Контроль и ревизия денежных средств и финансовых вложений 77.5 KB
  Задачи, последовательность и источники контроля и ревизии денежных средств и финансовых вложений. Обобщение целевого использования денежных средств как по кассе, так и по счетам в банках, а также обоснованность каждого вида финансовых вложений.