реклама на сайте
подробности

 
 
> Посоветуйте готовый менеджер памяти
pernatui
сообщение Jul 9 2009, 13:01
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 26-10-08
Пользователь №: 41 197



Может быть существуют в открытом коде менеджеры памяти для ARM. Памяти 64к.

Заранее спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Jul 9 2009, 19:17
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Мда, это находка, патентовать надо Эт уже только в операционках под чипы с MMU пулами памяти управляют динамически.


Как то неуместна ирония. Я совсем не претендую на "изобретение" (так, делюсь опытом). Кроме того, мне кажется, я достаточно прозрачно объяснил смысл такого действа - минимизация нахождения в заблокированном состоянии (не в терминах "О(чегото)", а в командах или тактах) и универсальность (одна куча и один интерфейс на всех и вся). А эта универсальность приводит к тому, что чуть ли ни единственным сервисом ОС для межзадачного взаимодействия становится канал (pipe), реализуемый в виде односвязного списка сообщений. Причем, этот канал имеет минимум накладных расходов - ведь менеджер кучи очень быстр.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 9 2009, 20:16
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Я вообще-то без иронии, хотел типа уважительно выразиться.

Но кто реализует по такой вашей коротенькой спецификации этот алгоритм?
А выложете, так скажем, опенсорсом?

А между тем в местном архиве пяток исходников операционок лежит с готовыми проверенными менеджерами памяти.
И тогда вопрос как всегда упирается в выбор операционки.

Цитата(Rst7 @ Jul 9 2009, 22:17) *
Как то неуместна ирония. Я совсем не претендую на "изобретение" (так, делюсь опытом). Кроме того, мне кажется, я достаточно прозрачно объяснил смысл такого действа - минимизация нахождения в заблокированном состоянии (не в терминах "О(чегото)", а в командах или тактах) и универсальность (одна куча и один интерфейс на всех и вся). А эта универсальность приводит к тому, что чуть ли ни единственным сервисом ОС для межзадачного взаимодействия становится канал (pipe), реализуемый в виде односвязного списка сообщений. Причем, этот канал имеет минимум накладных расходов - ведь менеджер кучи очень быстр.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Jul 9 2009, 22:43
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(AlexandrY @ Jul 10 2009, 00:16) *
Я вообще-то без иронии, хотел типа уважительно выразиться.


1. Вы не очень внимательно посмотрели тексты TLSF в плане многозадачности.
2. Авторы позиционируют свой TLSF как альтернативу другим менеджерам памяти для Linux.

Ваши требования к "малым" системам уметь выделять пулы блоков постоянной длины, по-моему, слишком специфические. Посмотрите, для примера, как народ сделал в LWIP - действительно написал для этого случая свой специфический аллокатор, не имеющий ничего общего со стандартной кучей.

Мораль - для специфических требований, специфический аллокатор. Автор ветки ничего специфического не требовал.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 10 2009, 11:08
Сообщение #5


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Ваша правда по пункту 1. Там действительно обнаружилось еще пару функций обернутых мьютексами в стиле POSIX.
Недоглядел.
Сам алгоритм TLSF, я конечно уважаю, но это полуфабрикат все таки. Под боевую платформу его еще точить и точить.

Какие требования к малым системам характерны мне кажется я знаю. Портировал uCOS на процы с 2K RAM-а.
Каких и сколько влезет задач в 64K тож как бы представляю. Не разбежишься там.
Человек неминуемо через месяцок будет помнить там все задачи на перечет и даже последовательность их выполнения.
Такое возможно в малых системах и в этом принципиальное отличие от линукса где даже гуру не знают и 10% задач крутящихся в их системе.
В линуксе можно применить статистику, а в малой системе эффективнее может оказаться ручной тюнинг собственно приложения на использование блоков фиксированной длины. (не путать с тюнингом типоразмеров самих блоков менеджера)
Менеджер с блоками фиксированной длины вообще не имеет фрагментации и таким образом гораздо лучше TLSF для малых систем.
И в системе с 64K я думаю это правило еще действует.
Недавно ворочал проект с довольно крупным стеком ZigBee от TI и они там не поленились тюнингировать все приложение и операционку под менеджер с блоками фиксированной длины.
Так что говорить о специфичности таких менеджеров не приходится.

Речь даже не о том кто какого мнения, а о том что если хотите потерять 20K (служебная инфа + неминуемая фрагментация) из 64-х - применяйте TLSF


Цитата(sergeeff @ Jul 10 2009, 00:43) *
1. Вы не очень внимательно посмотрели тексты TLSF в плане многозадачности.
2. Авторы позиционируют свой TLSF как альтернативу другим менеджерам памяти для Linux.

Ваши требования к "малым" системам уметь выделять пулы блоков постоянной длины, по-моему, слишком специфические.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- pernatui   Посоветуйте готовый менеджер памяти   Jul 9 2009, 13:01
- - HARMHARM   Уважаемый Zltigo выкладывал здесь.   Jul 9 2009, 13:10
|- - pernatui   большое спасибо буду изучать..нашел упоминание об ...   Jul 9 2009, 13:36
|- - Сергей Борщ   Цитата(pernatui @ Jul 9 2009, 16:36) Прав...   Jul 9 2009, 15:22
- - pernatui   будьте осторожнее в высказываниях!!! и...   Jul 9 2009, 15:36
- - sergeeff   Я уже неоднократно призывал посмотреть форумчан в ...   Jul 9 2009, 16:01
|- - Quasar   Цитата(sergeeff @ Jul 9 2009, 20:01) Я уж...   Jul 9 2009, 16:15
||- - sergeeff   Цитата(Quasar @ Jul 9 2009, 20:15) Я посм...   Jul 9 2009, 16:21
|- - AlexandrY   По этой ссылке голый алгоритм хотя и работоспособн...   Jul 9 2009, 17:10
- - Rst7   ЦитатаНаписан на С, ставится на любую систему в те...   Jul 9 2009, 16:48
- - Rst7   ЦитатаБраво, вы изобрели велосипед! Зато у ме...   Jul 9 2009, 17:21
|- - AlexandrY   Мда, это находка, патентовать надо Эт уже только ...   Jul 9 2009, 18:48
- - sergeeff   Если нет памяти и хочется чего по-проще, есть знам...   Jul 9 2009, 19:38
- - pernatui   спасибо за коментарии..Применение аллокатор для се...   Jul 10 2009, 10:26
- - Rst7   ЦитатаПрименение аллокатор для сетевого стека, для...   Jul 10 2009, 10:30
- - sergeeff   Никак не могу понять, откуда вы взяли цифру 20К, к...   Jul 10 2009, 12:18
|- - AlexandrY   Что тут непонятного, посчитайте сколько тот массив...   Jul 10 2009, 12:58
- - MALLOY2   Могу предложить мной писанный менагер. Главным ша...   Jul 10 2009, 15:04
- - sergeeff   Быстродействие менеджеров - штука не однозназначна...   Jul 10 2009, 17:39
- - MALLOY2   Естественно, я проверял на пропускной способности ...   Jul 10 2009, 18:05
- - sergeeff   Мы лет 6 используем во всех разработках BGET. Когд...   Jul 10 2009, 18:44
- - dch   в u-boot-е или арм буте есть компактный хорошо пр...   Jul 22 2009, 02:28


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 14:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.0145 секунд с 7
ELECTRONIX ©2004-2016