Объем памяти
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2012 г. ) |
Объем памяти относится к объему основной памяти , которую программа использует или на которую обращается во время работы. [1]
Слово « след» обычно относится к размеру физических размеров, которые занимает объект, что дает представление о его размере. В вычислениях объем памяти, занимаемый программным приложением, указывает на его требования к памяти во время выполнения программы. Сюда входят всевозможные области активной памяти, такие как сегмент кода , содержащий (в основном) программные инструкции (а иногда и константы), сегмент данных (как инициализированные, так и неинициализированные), [1] куча памяти , стек вызовов , а также память, необходимая для хранения любых дополнительных структур данных, таких как таблицы символов , структуры данных отладки , открытые файлы, общие библиотеки , сопоставленные с текущим процессом и т. д., которые когда-либо понадобятся программе во время выполнения и будут загружены. хотя бы один раз за весь пробег. [2]
Программы большего размера занимают больше памяти. Объем памяти приложения примерно пропорционален количеству и размерам загружаемых им общих библиотек или классов, тогда как статические библиотеки, исполняемые программы и области статических данных составляют фиксированную (постоянную) часть. Сами программы часто не занимают большую часть своего собственного объема памяти; скорее, структуры, представленные средой выполнения, занимают большую часть памяти. Например, компилятор C++ вставляет vtables , информационные объекты типа и множество временных и анонимных объектов, которые активны во время выполнения программы. В программе Java объем памяти в основном состоит из среды выполнения в виде самой виртуальной машины Java (JVM), которая загружается косвенно при запуске приложения Java. Кроме того, в большинстве операционных систем дисковые файлы, открытые приложением, также считываются в адресное пространство приложения, тем самым увеличивая его объем.
Тенденция использования [ править ]
В 1990-е годы компьютерная память стала дешевле, и программы с большим объемом памяти стали обычным явлением. Эта тенденция в основном обусловлена широким использованием компьютерного программного обеспечения: от крупных корпоративных приложений, потребляющих огромные объемы памяти (например, базы данных ), до программного обеспечения для создания и редактирования мультимедиа, требующего большого объема памяти. Чтобы удовлетворить постоянно растущие потребности в памяти, были введены системы виртуальной памяти , которые делят доступную память на части одинакового размера и загружают их из « страниц », хранящихся на жестком диске, по мере необходимости.
Этот подход к поддержке программ с огромным объемом памяти оказался весьма успешным. Большинство современных операционных систем, включая Microsoft Windows от Apple , macOS и все версии Linux и Unix, предоставляют системы виртуальной памяти.
Во встроенных системах [ править ]
Традиционно программы с низким потреблением памяти были важны для запуска приложений во встроенных системах , где память часто была ограниченным ресурсом. [1] – настолько, что разработчики обычно жертвовали эффективностью (скоростью обработки) только для того, чтобы сделать размер программы достаточно маленьким, чтобы он мог поместиться в доступную оперативную память. Например, Sun Microsystems выпустила версию своей виртуальной машины Java (JVM) для таких ограниченных устройств; он называется KVM . KVM работает на платформах, где объем памяти измеряется килобайтами, а не мегабайтами (или даже гигабайтами ) памяти, доступными на обычном домашнем ПК или более современных мобильных телефонах и планшетах.
См. также [ править ]
- Область применения приложения
- Виртуальная память — метод управления памятью , который виртуализирует различные формы хранения компьютерных данных (например, оперативную память и дисковое хранилище ).
Ссылки [ править ]
- ^ Jump up to: а б с «Определение: объем памяти» . ПК Маг . Проверено 1 августа 2012 г.
- ^ «Уменьшите объем памяти Linux» . IBM DeveloperWorks . Проверено 1 августа 2012 г.