home.social

#memory_allocation — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #memory_allocation, aggregated by home.social.

  1. [Перевод] Выделение памяти в Go

    Эта статья посвящена языку программирования Go 1.24 , работающему на Linux на архитектуре ARM . Она может не охватывать специфические для других операционных систем (ОС) или аппаратных архитектур детали.

    habr.com/ru/companies/timeweb/

    #go #golang #memory_management #memory_allocation #stack #heap #timeweb_статьи_перевод #выделение_памяти #стек #куча

  2. [Перевод] Выделение памяти в Go

    Эта статья посвящена языку программирования Go 1.24 , работающему на Linux на архитектуре ARM . Она может не охватывать специфические для других операционных систем (ОС) или аппаратных архитектур детали.

    habr.com/ru/companies/timeweb/

    #go #golang #memory_management #memory_allocation #stack #heap #timeweb_статьи_перевод #выделение_памяти #стек #куча

  3. [Перевод] Выделение памяти в Go

    Эта статья посвящена языку программирования Go 1.24 , работающему на Linux на архитектуре ARM . Она может не охватывать специфические для других операционных систем (ОС) или аппаратных архитектур детали.

    habr.com/ru/companies/timeweb/

    #go #golang #memory_management #memory_allocation #stack #heap #timeweb_статьи_перевод #выделение_памяти #стек #куча

  4. [Перевод] Выделение памяти в Go

    Эта статья посвящена языку программирования Go 1.24 , работающему на Linux на архитектуре ARM . Она может не охватывать специфические для других операционных систем (ОС) или аппаратных архитектур детали.

    habr.com/ru/companies/timeweb/

    #go #golang #memory_management #memory_allocation #stack #heap #timeweb_статьи_перевод #выделение_памяти #стек #куча

  5. Что делать, если ваш слон думает, что он баг?

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

    habr.com/ru/companies/pvs-stud

    #программирование #php #c #c++ #статический_анализ #static_analysis #ошибки_в_программе #memory_allocation #undefined_behavior #неопределённое_поведение

  6. OSDEV: Разработка аллокатора на С++ часть 2: Слияние блоков за константное время. Юнит тест для аллокатора

    Приветствую, уважаемый читатель! В первой части мы реализовали простейший аллокатор с минимальным оверхедом. Конечно же на самом деле все сложнее. Так реализация дефрагментации была наивной и не могла сливать блоки даже когда не было распределенных блоков после нескольких вызовов mem_free. Для того, что бы получить исходную картинку где будет только 2 служебных блока и один свободный нужно было бы вызвать mem_alloc с размером большим чем доступно памяти что бы искусственно запустить дефрагментацию. В этой части мы это исправим и напишем юнит тест для нашего аллокатора что бы убедится что он работает правильно.

    habr.com/ru/articles/861930/

    #распределение_памяти #allocator #memory_allocation #memory_management

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

    Доброго времени суток. При разработке ОС на с++ мы сталкиваемся с рядом трудностей, таких как отсутствие стандартной библиотеки и ABI с++ и прочее в этом духе. При чем перед реализацией PageAllocator и прочих аппаратных механизмов хотелось бы иметь какую то стандартную библиотеку позволяющую делать хоть что то. Об этом и пойдет речь. Далее я расскажу о своем опыте разработки таких алгоритмов для своей ОС и о том, как их тестировать у себя на системе с юнит тестами и прочим прикручивая в итоговую демку проверенный тестами код, и начну я с аллокатора. Речь пойдет о немного переделанном алгоритме Кнута "неявный список блоков с граничными тегами" который описан в конце третьего тома в разделе "Распределение памяти". Его идея предельно проста: Мы берем некоторый отрезок памяти, назовем его кучей и разбиваем его на блоки такого вида:

    habr.com/ru/articles/860872/

    #memory_allocation #memory_management