Студопедия — Проблема мусора.
Студопедия Главная Случайная страница Обратная связь

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

Проблема мусора.






Он обычно появляется при реал-ции защиты от вис ссылок(или при ош-ках в пр-мме). Мусор – это эл-ты пам, к-е числятся занятыми, но недоступны пр-мме для исп-ния (к-рой принадл куча). Сущ спец алг-мы сбора мусора. Они бывают быстрыми и бывают экономными. В любом сл-е эти алг-мы вып-ся в 2 шага: 1)маркировка своб эл-тов, к-е помечаются как мусор. Проблема их распознать; 2)Утилизация эл-тов, помеченных как мусор.

Общие подходы к разработке алг-мов сбора мусора.

1 этап – маркировки вып-ся путем обхода по ссылкам активных, т е доступных для использ-я эл-тов кучи; 2 этап – утилизации состоит в последоват-м обходе всех эл-тов кучи и занесения эл-тов, помеченных как мусор, в список своб эл-тов. Для осущ-я маркировки треб-ся сл усл-я: 1)Сист должна иметь возм-ть выявить все ссылки на эл-ты кучи, записанные вне кучи (выявить внеш ссылки).

Для внеш ссылок должны быть опр-ны спец типы данных – работа с др типами запрещена; 2)Сист должна иметь возм-ть выявить все указ-ли на активные эл-ты кучи, к-е нах-ся в самих эл-тах кучи. Это значит, что либо все эл-ты кучи должны иметь одинак структуру, один, известный сист общий формат (чтобы все указ-ли были на одних и тех же местах) – нельзя опр-ть типы данных польз-ля. Либо для эл-тов кучи должны быть введены заголовки, опис-щие их формат. Как мин, это опр-е типов эл-тов, размещенных в куче. В этом сл-е кажд раз о указ-лю на эл-т кучи сист должна получать не только его адрес, но и его формат (где нах-ся указ-ли в этом эл-те); 3)Зарет на вып-е арифм оп-ций над указ-ми во вр вып-я пр-ммы; 4)В кажд эл-те кучи должно быть опр-но спец поле, явл-ся признаком того, активен эл-т, или превратился в мусор. Это поле недоступно в пр-мме. Обычно это поле наз бит присутствия, практ-ки резерв-ся байт. Алгоритмы: 1. Основан на исп-нии стека – затратный. Для работы алг-ма резерв-ся стек, в к-рый сист (сборщик мусора) в процессе обхода активных эл-тов кучи будет помещать ссылки на др активные эл-ты кучи, выявленные при просмотре. Нач сост-е стека – при иниц-ции помещ-ся 1-я внеш ссылка. {иниц-ция} поместить в стек 1-ю внеш ссылку; Пока есть непустые внеш ссылки на активные эл-ты кучи выполнить помещаем в стек непустую ссылку; пока стек не пуст выпонить выбрать ссылку из вершины стека; выбрать эл-т кучи поэтой ссылке; перебрать все поля, содержащие указ-ли, и записать все непустые ссылки на нах-ся в них активные эл-ты кучи в стек.{конец алг-ма} Для реал-ции маркировки по этой схеме нужно исп-ть бит сбора мусора. При иниц-ции алг-ма в битах сбора мусора в эл-тах кучи ставится пометка, что это мусор. Во вр работы алг-ма при выборе активных эл-тов кучи должно измен-ся зн-е бита сбора мусора – эл-т помеч-ся как активный (хотя бы по одной ссылке выбран – значит не мусор). Остается 2 проблемы – нал-е циклич ссылок и возм-ть неск-ких ссылок на один эл-т кучи. При выборе активного эл-та, до того, как начать проверку его полей, нужно проверить, не промаркирован ли он уже как активный (если да, то этот эл-т не выбирается). 2. Алг-м Шорра-Вейта. Для работы треб-ся хранить всего 2 ссылки: на тек, активный эл-т (обраб-емый) и на предыд (обраб-нный). Но зато в самих эл-тах кучи должны быть доп поля – есть еще поле, в к-ром хран-ся инф-я о том, какая ссылка в этом эл-те уже обработана. Если указ-ли, содерж-ся в эл-те кучи, предст собой массив, то такая инф-я – номер эл-та массива (под DOS алг-мов сбора мусора в си и паскале нет). Обход в этом алг-ме основан на обращении ссылок – при переходе по ссылке на эл-т, на к-рый она указ-ет, ссылка переворачивается. На ее место запис-ся ссылка на эл-т, из кот-го мы попали в данный эл-т (чтобы можно было сделать возвраты, при к-рых ссылки восст-ся.

C-активный, L-предыд. При иниц-ции С-активный, L-пусто. Ук-ль L будет исп-ся при при возвратах. Как только при возвратах он станет пустым, значит эл-т нах-ся на внеш ур иерархии – на него есть ссылки только внешние – можно выбирать след внеш ссылку. Выбранные в активном эл-те ссылки никуда не запис-ся – стека нет. Выбирается только одна ссылка и по этой ссылке вып-ся обход эл-тов вглубь по всей цепочке. Для перебрасывания ссылок исп-ся промежут указ-ль.







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



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия