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

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

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






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

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

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

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

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







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



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

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

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