Менеджер памяти

Менеджер памяти

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

Основное назначение менеджера памяти в первом смысле — реализация динамической памяти. Например, в языке C динамическое выделение памяти производится через функцию malloc.

Иерархия менеджеров памяти

Распределение памяти в монопрограммировании.

Менеджеры памяти часто образуют иерархию: нижестоящие менеджеры задействуют какие-либо закономерности выделения-освобождения памяти и этим снижают нагрузку на вышестоящие. Например:

  • Системный. Сверху находится менеджер памяти, встроенный в ОС. Он вносит ту или иную страницу в адресное пространство процесса — а значит, работает с дискретностью в 4 килобайта и очень медленный.
  • Принадлежащий процессу. Менеджер памяти, встроенный в стандартную библиотеку языка программирования, берёт у ОС блоки памяти «оптом» и раздаёт их сообразно с нуждами программиста. При этом он знает, что память отдаётся только одному процессу — а значит, синхронизация потоков производится не мютексами, а фьютексами. И переключение в режим ядра происходит в двух случаях: либо когда «оперативного запаса» памяти не хватает и нужно обратиться к ОС, либо когда один из потоков «натыкается» на занятый фьютекс.
  • Специализированные. Некоторые динамические структуры данных, например, std::vector, также берут память у стандартной библиотеки с запасом (например, блоками по 16 элементов). Таким образом, элементы добавляются по одному, но обращение к вышестоящему менеджеру происходит один раз за 16 элементов. Объектный пул выделяет память под объекты конкретного типа и удобен, если они выделяются-освобождаются в больших количествах, и т. д.

Подобная иерархия приводит к тому, что на каждом из уровней «залёживается» свободная память. Но это оправдано: снижается фрагментация памяти и повышается скорость.

Другие значения

Менеджер памяти как часть аппаратного обеспечения — Memory Management Unit (MMU).

Менеджер памяти как часть операционной системы — Virtual Memory Manager (VMM).

См. также



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Менеджер памяти" в других словарях:

  • Менеджер виртуальной памяти — (далее просто «менеджер памяти»)  часть операционной системы, благодаря которой можно адресовать память большую, чем объем физической памяти (ОЗУ). Благодаря виртуальной памяти можно запускать множество ресурсоёмких приложений, требующих… …   Википедия

  • Менеджер окон X Window System — Менеджер окон X Window System  приложение, работающее «поверх» X Window System и определяющее интерфейс и взаимодействие с пользователем. В Unix подобных операционных системах пользователь может выбрать любой оконный менеджер по своему… …   Википедия

  • Диспетчер памяти — Менеджер памяти  часть компьютерной программы, обрабатывающая запросы на выделение и освобождение оперативной памяти или (для некоторых архитектур ЭВМ) запросы на включение заданной области памяти в адресное пространство процессора. Основное… …   Википедия

  • Менеджер задач — Это статья об утилитах управления процессами. О встроенной утилите Microsoft Windows см. статью Диспетчер задач Microsoft Windows Диспетчер задач  компьютерная программа (утилита) для вывода на экран списка запущенных процессов и потребляемых ими …   Википедия

  • Утечка памяти — (англ. memory leak) процесс неконтролируемого уменьшения объёма свободной оперативной памяти (RAM) компьютера, связанный с ошибками в работающих программах, вовремя не освобождающих ненужные уже участки памяти, или с ошибками системных служб …   Википедия

  • Утечки памяти — Утечка памяти (англ. memory leak) процесс неконтролируемого уменьшения объёма свободной оперативной памяти (RAM) компьютера, связанный с ошибками в работающих программах, вовремя не освобождающих ненужные уже участки памяти, или с ошибками… …   Википедия

  • Динамическое распределение памяти — Динамическое распределение памяти  способ выделения оперативной памяти компьютера для объектов в программе, при котором выделение памяти под объект осуществляется во время выполнения программы. При динамическом распределении памяти объекты… …   Википедия

  • Защита памяти — (англ. Memory protection)  это способ управления правами доступа к отдельным регионам памяти. Используется большинством многозадачных операционных систем. Основной целью защиты памяти является запрет доступа процессу к той памяти,… …   Википедия

  • Сегментная адресация памяти — Эта статья или раздел описывает ситуацию применительно лишь к частным случаям. Необходимо переработать изложение или добавить информацию, чтобы статья описывала более общий случай …   Википедия

  • Фреймовый оконный менеджер X Window System — Фреймовый (или мозаичный) оконный менеджер  это менеджер окон X Window System, разбивающий рабочее пространство экрана на взаимно не пересекающиеся прямоугольные области  фреймы. Каждый фрейм используется для вывода информации отдельным …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»