Добавить новость
ru24.net
Все новости
Ноябрь
2024

OSDEV: Разработка аллокатора на С++ часть 1. Неявный список свободных блоков с граничными тегами

0

Доброго времени суток.

При разработке ОС на с++ мы сталкиваемся с рядом трудностей, таких как отсутствие стандартной библиотеки и ABI с++ и прочее в этом духе. При чем перед реализацией PageAllocator и прочих аппаратных механизмов хотелось бы иметь какую то стандартную библиотеку позволяющую делать хоть что то. Об этом и пойдет речь.

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

Речь пойдет о немного переделанном алгоритме Кнута "неявный список блоков с граничными тегами" который описан в конце третьего тома в разделе "Распределение памяти". Его идея предельно проста:

Мы берем некоторый отрезок памяти, назовем его кучей и разбиваем его на блоки такого вида:

Читать далее



Moscow.media
Частные объявления сегодня





Rss.plus




Спорт в России и мире

Новости спорта


Новости тенниса
WTA

Вероника Кудерметова разгромно проиграла Белинде Бенчич во втором круге турнира WTA-500






Все в гари и копоти. Возбуждено уголовное дело по пожару на Электрозаводе

Роспотребнадзор: качество воздуха на месте пожара в Москве остается в норме

После пожара на востоке Москвы за медицинской помощью обратились 16 человек

Ростелеком: Кабель в Балтийском море был повреждён в результате воздействия