Cтраница 2
Большинство ранних процедур сбора мусора по существу основывалось на этом алгоритме, и если исчерпывалось пространство, отведенное для специального стека, то вся работа заканчивалась. [16]
Можно также эффективно соединить сбор мусора с полным уплотнением, чтобы вовсе исключить потребность в списке свободного пространства. [17]
Одной из поразительных черт сбора мусора как метода утилизации памяти является то, что затраты на его выполнение ( приблизительно) обратно пропорциональны объему утилизуемой памяти; сбор мусора обходится тем дороже, чем меньше памяти утилизуется. Причина этого в том, что большая часть затрат на сбор мусора приходится на фазу маркировки, а маркировка тем сложнее, чем больше активных элементов в куче. В противоположность этому стоимость утилизации памяти с использованием счетчиков ссылок строго пропорциональна объему утилизуемой памяти. Как результат такого свойства сбора мусора этот метод становится очень дорогостоящим, когда куча почти заполнена активными элементами. В действительности часто программа, которая близка к тому, чтобы использовать всю кучу ( и, следовательно, остановиться из-за нехватки памяти), перед этим инициирует ряд дорогостоящих и сравнительно бесполезных процедур сбора мусора, каждая из которых освобождает лишь несколько ячеек памяти, тут же потребляемых при возобновлении счета, что быстро приводит к новому сбору мусора. [18]
Во время выполнения процесса сбора мусора объекты с деструкторами посещаются дважды. При первом проходе сборщик мусора осуществляет исследование корневого объекта с целью нахождения в нем объектов, которые подлежат удалению. Объекты, в которых деструкторы отсутствуют, уничтожаются. А объекты с деструкторами помещаются в список подлежащих уничтожению. Этот список обрабатывается при выполнении следующего прохода сборки мусора, в процессе которого вызываются имеющиеся деструкторы. [19]
![]() |
Дробление памяти при использовании метода сбор мусора. [20] |
Иногда используется сочетание методов сбора мусора и уплотнение памяти. После того как определены все свободные области, проводится перемещение всех занятых блоков и объединение их в одну область. Алгоритм выделения при этом тривиален, так как имеется только одна занятая и одна свободная область. К недостаткам этого метода можно отнести медленное его выполнение: много времени тратится на копирование. [21]
Еще одна важная причина неудовлетворительности сбора мусора связана с явлением, которое нам до сих пор не встречалось. [22]
В связи со второй фазой сбора мусора ( или, возможно, также в связи с начальной фазой, если всем битам маркировки в это время присваивается нулевое значение. [23]
Одним из важных вопросов организации сбора мусора является размещение мусоросборников на территории домовладения. [24]
При управлении кучей используется процедура сбора мусора с полным уплотнением, что было описано в разд. [25]
В домах без мусоропровода обычно применяют сбор мусора в мусоросборники, устанавливаемые на территории домовладений. [26]
Время выполнения наилучших из известных программ сбора мусора выражается, по существу, формулой cxN с2М, где с и с2 - константы, N - количество маркируемых узлов, а М - общее количество узлов в памяти. [27]
![]() |
Большегрузный мусоровоз с кузовом цилиндрической формы фирмы Норба ( Швеция.| Загрузка большегрузного четырехосного прицепа фирмы Хейл ( США. [28] |
Кузов загружают из накопителя в центре района сбора мусора или на мусороперегрузочном пункте из малых мусоровозов путем засыпки сверху через воронку, расположенную в задней части кузова. [29]
Покажите, что можно без риска использовать метод сбора мусора при работе в реальном масштабе времени ( например, когда машина управляет некоторым физическим устройством) даже в том случае, когда наложено жесткое ограничение на максимальное время, отводимое для выполнения каждой операции со Списками. Можно организовать работу по сбору мусора параллельно с операциями над списками, если соблюдать необходимые предосторожности. [30]