Новости компаний

Отдых в Сочи: идеальное место для отпуска круглый год
Сочи — один из самых популярных курортов России, расположенный на побережье Чёрного моря. Этот город уникален тем, что здесь сочетаются тёплое море,
Кто такой Ладо Охотников: основатель Lado Film и собственных экосистем
Имя предпринимателя Ладо Охотникова все чаще встречается на пересечении медицины, IT, киноиндустрии и футурологических дискуссий. Чтобы понять, кто
Как выбрать Kumho: подробное руководство по выбору шин
Как выбрать Kumho: подробное руководство по выбору шинКраткое введениеВыбор шин напрямую влияет на безопасность, комфорт и экономичность эксплуатации
Группа компаний "Инструмент": ваш надежный партнер в мире промышленного инструмента и техоснастки
В современных условиях производства, когда каждая деталь имеет значение, выбор качественного инструмента и техоснастки становится важной задачей для
02.10.2015 в 22:08 [158]

Распределитель Мак-Кьюзика—Кэрелса

Вызов процедуры malioc() заменен макроопределением, которое производит округление значения длины запрашиваемого участка вверх до достижения числа, являющегося степенью двойки (при этом не нужно прибавлять какие- либо дополнительные байты на заголовок) и удаляет буфер из соответствующего списка свободных буферов. Макрос вызывает функцию malloc() для запроса одной или нескольких страниц тогда, когда список свободных буферов необходимого размера пуст. В этом случае malloc() вызывает процедуру, которая берет свободную страницу и разделяет ее на буферы необходимого размера. Здесь цикл заменен на схему вычислений по условию.

Основным преимуществом такого решения является тот факт, что если выделяемый размер известен в момент компиляции, определение NDX() сжимается до константы времени компиляции, что позволяет сократить значительное количество инструкций. Второй макрос применяется для простейших ситуаций освобождения буфера, вызов самой функции осуществляется в редких случаях, например, когда требуется освободить буфер большого размера.

Приведенный алгоритм значительно улучшает методику распределения памяти на основе степени числа 2. Он работает намного быстрее, потери памяти при его применении сильно сокращаются. Алгоритм позволяет эффективно обрабатывать запросы на выделения как малых, так и больших участков памяти. Однако описанная методика обладает и некоторыми недостатками, связанными с необходимостью использования участков, равных некоторой степени числа 2.

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

Многие трейдеры выбирают валютный рынок за очевидные преимущества forex brokers, к которым относятся – оперативность осуществления операций, торговля с небольшим размером начальных средств, быстрое получение кредитных средств, отсутствие определенного рабочего места. Ну и основное преимущество, пожалуй, это возможность получить просто огромную прибыль за минимальный отрезок времени.
© NEWS.NNOV.RU - alya1521
При любом использовании материалов гиперссылка на сайт NEWS.NNOV.RU обязательна.
Распределитель Мак-Кьюзика—Кэрелса

Комментировать