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.  молодые объекты сильнее связаны друг с другом и обычно используются одновременно.


 

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

9904. Двойственность в линейном программировании 47 KB
  Двойственность в линейном программировании Для любой задачи ЛП можно сформулировать двойственную задачу, являющуюся зеркальным отражением исходной задачи, т.к. она использует те же параметры, а ее решение может быть получено одновременно с решение...
9905. Нелинейное программирование 80.5 KB
  Нелинейное программирование § 1. Общая задача нелинейного программирования Как известно, общая задача математического программирования формулируется следующим образом: найти вектор Х=(х1, х2, ..., хn) удовлетворяющий системе ограничений gi (х1, х2, ...
9906. Принцип максимума. Классификация задач оптимального управления динамическими системами 106.5 KB
  Принцип максимума Вторым направлением в теории решения задач управления является принцип максимума. Это метод в отличие от классического вариационного исчисления позволяет решать задачи управления, в которых на управляющие параметры наложены весьма ...
9907. Применение интерполяционных формул Ньютона при решении химико-технологических задач 309 KB
  Применение интерполяционных формул Ньютона при решении химико-технологических задач. Цель работы. Располагая таблицей данных, полученных в результате некоторого химического или технологического эксперимента, научиться выполнять интерполя...
9908. Определение амплитуд и частот колебаний аппаратов химических технологий 262.5 KB
  Определение амплитуд и частот колебаний аппаратов химических технологий. Цель работы.Известно,что в процессе эксплуатации различных химических аппаратов, трубопроводов и приборов появляются всевозможные вибрации (колебания). ...
9909. Составление дифференциального уравнения, описывающего химико-технологический процесс и его решение методом конечных разностей. 198.5 KB
  Составление дифференциального уравнения, описывающего химико-технологический процесс и его решение методом конечных разностей. Цель работы. Значительное количество химических и технологических процессов можно описать дифференциальными уравнени...
9910. Древнегреческий героический эпос и Илиада Гомера 168 KB
  А.И. Зайцев Древнегреческий героический эпос и Илиада Гомера Как мы узнали в результате многолетних раскопок, начатых в 1870 г. Генрихом Шлиманом и законченных перед второ...
9911. Драматургия Еврипида и конец античной героической трагедии 196.5 KB
  В. Н. Ярхо Драматургия Еврипида и конец античной героической трагедии   Трагичнейшим из поэтов назвал Еврипида Аристотель, и многовековая посмертная слава последнего из триады великих афинских трагиков, по-видимому, целиком...
9912. Миметическое начало поэтического искусства 139 KB
  Е. Алымова, к.ф.н., СПбГУ Миметическое начало поэтического искусства Представляется само собой разумеющимся, что аристотелевская Поэтика как первое сочинение по теории художественной словесности должна была неминуемо вставать на пути каждого, кто об...