русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Сбор мусора


Дата добавления: 2015-01-16; просмотров: 437; Нарушение авторских прав


При использовании метода "сбор мусора" программы беззаботно рабо­тают до тех пор, пока не будет исчерпано свободное простран­ство. Брошенные и никем неиспользуемые узлы называют мусором. Когда свободное пространство исчерпано, вызывается мусорщик, целью которого является собрать мусор в стек свободного простран­ства. Каждый узел имеет бит маркировки. Метод работает в три фазы. В первой фазе обходится вся память, занятая списками и биты маркировки устанавливаются в "0". Вторая фаза систематически обходит все узлы списков и устанавливает в них бит маркировки в "1". Таким образом, маркированными нулём остаются только узлы, относящиеся к мусору. Третья фаза вновь обходит всю память и собирает узлы, помеченные нулем в стек свободного пространства.

Время работы мусорщика выражается формулой

, где

C1, C2 – константы, N – число всех узлов в списках, M – число всех узлов в памяти, отведенной под списки.

Таким образом, M-N – количество узлов, возвращаемых мусорщиком в стек свободного пространства. Время, расходуемое на возврат одного узла, составляет

Обозначим коэффициент загрузки памяти, тогда время, требуемое на возврат одного узла, составит

 
 

Как видно из последней формулы, недостатком метода является то, что он медленно работает, когда загрузка памяти велика. В таких случаях число узлов, возвращаемых в стек свободного простран­ства не окупает затраченных усилий. Те программы, которым не хватает памяти, впустую расходуют массу времени, многократно и бесплодно вызывая мусорщика перед тем, как окончательно исчерпать память. Метод сбора мусора малопригоден для работы в реальном времени, так как он вызывается в непредвиденные моменты времени и может долго работать.

Контрольные вопросы

1) Чем отличается связанное распределение памяти под данные от последовательного?



2) Какие преимущества даёт представление строки линейным списком по сравнению с представлением её как массива символов?

3) Какие операции могут быть выполнены над линейным списком?

4) Что такое голова списка и зачем она нужна?

5) Чем отличается кольцевой список от обычного и какие дополнительные возможности он имеет?

6) Какие дополнительные возможности предоставляет двусвязный список по сравнению с односвязным ?

7) В каких случаях целесообразно применять ортогональные списки вместо многомерных массивов?

8) Чем отличается список общего вида от обычного линейного списка?

9) Дайте определение понятия "топологическая сортировка"

10) Что такое стек свободного пространства?

11) Каковы недостатки метода счетчика ссылок при обслуживании свободного пространства для списочных структур?

12) Аналогичный вопрос для метода "сбора мусора"



<== предыдущая лекция | следующая лекция ==>
Стек свободного пространства | Множества


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.