Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Вопрос № 11. Модель автоматической утилизации динамической памяти, основанная на аппаратной поддержке (тегированной памяти).




Модель автоматической утилизации динамической памяти, основанная на аппаратной поддержке (тегированной памяти).

 

Наличие «сборки мусора» означает, что программист может быть уверен: система следит за потерей ссылок на объекты и устраняет «утечку памяти». Наличие безопасного принудительного освобождения памяти означает, что программист вправе уничтожить объект; при этом память объекта возвращается системе, а все имеющиеся на него ссылки становятся недействительными (например, обнуляются).

Эта модель, называемая нами моделью с автоматической «сборкой мусора» и принудительным освобождением памяти, на самом деле не нова и уже давно применяется в компьютерах «Эльбрус» (на основе одноименного процессора) и AS/400 (на основе процессора PowerPC), которые обеспечивают очень эффективную реализацию этой модели за счет аппаратной поддержки.

На каждое машинное слово в этих компьютерах отводится два дополнительных бита, называемых битами тегов. Значения этих битов показывают, свободно ли машинное слово или занято, и если занято, то хранится ли в нем указатель или скалярное значение. Этими битами управляют аппаратура и операционная система, прикладным программам они недоступны. Программа не может создать ссылку сама, например, превратив в нее число или другие скалярные данные. Созданием объектов занимается система, которая размещает в памяти объекты и создает ссылки на них. При уничтожении объектов соответствующие теги памяти устанавливаются в состояние, запрещающее доступ. Попытка обратиться к свободной памяти по «зависшему» указателю приводит к аппаратному прерыванию (подобно обращению по нулевому указателю). Поскольку вся память помечена тегами, «сборщику мусора» нет необходимости анализировать информацию о типах, чтобы разобраться, где внутри объектов располагаются ссылки на другие объекты. Что более важно, ему почти не нужно тратить время на поиск недостижимых объектов, поскольку освобожденная память помечена с помощью тех же тегов.


Вопрос № 12

Сборка мусора в среде .NET. Построение графа достижимых объектов.


Вопрос № 13

Сборка мусора в среде .NET. Механизм поколений объектов.


Вопрос № 14

Завершение объектов в среде .NET. Метод Finalize. Список завершаемых объектов (finalization queue) и очередь завершения (freachable queue).


Вопрос № 15

Модель детерминированного освобождения ресурсов в среде .NET. Интерфейс IDisposable и его совместное использование с завершителем (методом Finalize).



Поделиться:

Дата добавления: 2015-04-21; просмотров: 75; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты