URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 38031
[ Назад ]

Исходное сообщение
"OpenNews: Алгоритм управления памятью TLSF"

Отправлено opennews , 26-Июл-07 13:56 
Опубликован перевод (http://dixx.ru/reference/tlsf) описания алгоритма управления памятью TLSF (http://tlsf.baisoku.org/) с эффективностью O(1), использующий стратегию выделения памяти "хорошо подходящими" (good-fit) блоками и комбинацию связных списков и битовых карт для управления памятью.

URL: http://dixx.ru/reference/tlsf
Новость: http://www.opennet.ru/opennews/art.shtml?num=11528


Содержание

Сообщения в этом обсуждении
"Алгоритм управления памятью TLSF"
Отправлено fresco , 26-Июл-07 13:56 
Качество перевода просто супер. Новикову респект!

"Алгоритм управления памятью TLSF"
Отправлено pavlinux , 26-Июл-07 14:17 
При беглом просмотре видно, что эфективность не О(1).
Будет время, посмотрю...


"Алгоритм управления памятью TLSF"
Отправлено fresco , 26-Июл-07 14:24 
Кстати, да. Время работы алгоритма не детерминировано вроде... Если блоков нужного размера в массиве не окажется?

Тоже беглым взглядом, если ошибся -- сильно не бейте.


"Алгоритм управления памятью TLSF"
Отправлено sauron , 26-Июл-07 14:34 
Детерминировано. Память то это конечная. Не найдет блоки успокоится.

"Алгоритм управления памятью TLSF"
Отправлено fresco , 26-Июл-07 15:00 
Нифига. Нет куска нужного размера -- он будет искать больший, если и его нет -- еще больший. не вернет же он ENOMEM, если нет блока памяти в 1kb, но полно в 2kb.

"Алгоритм управления памятью TLSF"
Отправлено Alchemist , 27-Июл-07 00:00 
операция поиска в индексах выполняется за детерминированное время. там нет никаких циклов :) это легко видно из сорцов по ссылке на оригинал. другое дело - расширение объёма памяти, выделенной процессу, там могут быть косяки.

"Алгоритм управления памятью TLSF"
Отправлено Alchemist , 26-Июл-07 23:53 
Там зависит от реализации [s]brk(). Если оно даёт О(1), то работать будет всё за О(1), в противном случае иногда будет что-то иное. С другой стороны, изначально алгоритм ориентирован на системы реального времени, а на тех задачах часто можно сразу выделить большую кучу и не париться этим вопросом.

"Алгоритм управления памятью TLSF"
Отправлено Аноним , 27-Июл-07 08:42 
Скажите, а разве бывают не O(1) реализации sbrk? Я всегда думал, что он просто двигает границу... Или у меня устаревшие данные?

"Алгоритм управления памятью TLSF"
Отправлено Alchemist , 27-Июл-07 16:21 
Вообще говоря, для того, чтобы двигать границу, надо ещё найти свободные страницы памяти, которые будут соответствовать месту между старой и новой границей. Потому что если просто подвинуть размер сегмента данных и не сделать соответствующих изменений в таблице страниц, при обращении к оному месту мы поимеем исключение. Так что sbrk() - тот же аллокатор, но на уровне ядра. И реализован он может быть по-разному. Вот в детали реализации в разных ОС я не вникал, поэтому говорить что-то о его эффективности не могу.

"OpenNews: Алгоритм управления памятью TLSF"
Отправлено а344 , 12-Ноя-08 11:19 
Подниму старую тему ...

>URL: http://dixx.ru/reference/tlsf

Этот сайт походу давно уже не отвечает, копия сохранилась у кого-нибудь?


"OpenNews: Алгоритм управления памятью TLSF"
Отправлено Антонина , 22-Дек-08 13:33 
Добрый день,
кто-нибудь откликнулся ?
очень нужен этот материал
завтра доклад :-((

"OpenNews: Алгоритм управления памятью TLSF"
Отправлено а344 , 22-Дек-08 15:02 
>Добрый день,
>кто-нибудь откликнулся ?
>очень нужен этот материал
>завтра доклад :-((

Придётся на англицком читать :)
Я в общих чертах осилил.


"OpenNews: Алгоритм управления памятью TLSF"
Отправлено Антонина , 25-Дек-08 12:58 
Привет, может поделитесь информацией
у меня что-то плохо получается

"OpenNews: Алгоритм управления памятью TLSF"
Отправлено Антонина , 25-Дек-08 12:59 
Привет, может поделитесь информацией
у меня что-то плохо получается

"OpenNews: Алгоритм управления памятью TLSF"
Отправлено vsg , 27-Фев-11 11:23 
http://replay.waybackmachine.org/20070728155440/http://dixx....