Физическая и виртуальная память.
Физическая и виртуальная память.
При выполнении программы мы имеем дело с физической оперативной памятью, собственно с которой и работает процессор, извлекая из нее команды и данные и помещая в нее результаты вычислений.
Физическая память представляет собой упорядоченное множество ячеек реально существующей оперативной памяти, и все они пронумерованы, то есть к каждой из них можно обратиться, указав ее порядковый номер (адрес). Количество ячеек физической памяти ограниченно и имеет свой фиксированный объем.
Процессор в
своей работе извлекает команды и данные из физической оперативной памяти,
данные из внешней памяти (винчестера, CD) непосредственно на обработку в
процессор попасть не могут.
Системное
программное обеспечение должно связать каждое указанное пользователем
символьное имя с физической ячейкой памяти, то есть осуществить отображение
пространства имен на физическую память компьютера.
При программировании на языках высокого уровня программист обращается к памяти с помощью логических имен. Имена переменных, входных точек составляют пространство имен. Процессор работает только с физической оперативной памятью, которая достаточно дорога и имеет большие, но не всегда достаточные размеры. Когда задача попадает на обработку, то перед ОС встает задача привязать символическое имя задачи с конкретной ячейкой ОП. Так, система программирования, в данном случае транслятор Ассемблера, присваивает каждому символическому имени адрес относительно начала сегмента, а операционная система в сегментные регистры заносит адреса начала сегментов и, при их сложении, получается физический адрес памяти расположения элемента с данным символическим именем. Когда программа прошла этапы трансляции и редактирования, она приобрела двоичный вид. Все символические имена имеют двоичные адреса от какого-то нулевого значения, но они не указывают на конкретные ячейки памяти.
Когда администратор вычислительной системы запускает на выполнение множество заданий, то физический адрес команды или данного имеет только та задача, которая в данный момент обрабатывается процессором. Все остальные программы имеют виртуальные адреса, а их сумма составляет виртуальное адресное пространство. Современные ОС могут поддерживать виртуальное адресное пространство размером до 4Гбайт. При большой загрузке вычислительной системы, когда все запущенные на обработку программы не помещаются в оперативной памяти, они располагаются в виртуальной памяти и имеют виртуальные адреса. Когда по какой-либо дисциплине диспетчеризации они запускаются на обработку, модулями операционной системы виртуальные адреса превращаются в физические адреса оперативной памяти.
В некоторых случаях отображение пространства имен на физическую память тождественно отображению на виртуальное пространство. Получается абсолютная двоичная программа, где виртуальные адреса в точности соответствуют физическим. К таким программам относятся часть модулей ОС, которые каждый раз располагаются в ОП по одним и тем же адресам.
— V(вирт) < V(оп) — виртуальное адресное пространство меньше объема ОП;
— V(вирт) = V(оп) — виртуальное адресное пространство равно объему ОП;
— V(вирт) > V(оп) — виртуальное адресное пространство больше объема ОП.
В первых двух случаях никаких трудностей в распределении оперативной памяти возникнуть не может. Программ мало, все команды и данные находятся в ОП. Распределение ресурсов памяти обеспечивается разными методами.
При мультипрограммировании виртуальное адресное пространство, как правило, бывает намного большего размера, чем свободная оперативная память, предоставляемая операционной системой для выполнения программ.
В этом случае от методов распределения памяти между задачами во многом зависит производительность вычислительной системы.Что такое оперативная память: принцип работы, как выбрать
Что это? Оперативная память – небольшая плата с микросхемами. Используется в персональных компьютерах, ноутбуках, телефонах, серверах, игровых консолях для временного хранения данных и быстрого доступа к ним.
Как выбрать? При выборе ОЗУ обратите внимание на несколько важных параметров: объем памяти (измеряется в гигабайтах), тактовую частоту, тайминги работы планки. Также нужно не забывать о формфакторе (для ПК и ноутбуков они разные) и совместимости поколений.
В статье рассказывается:- Что такое оперативная память простыми словами
- Принцип работы оперативной памяти
- Основные типы оперативной памяти
- Технические характеристики оперативной памяти
- Топовые производители оперативной памяти
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Что такое оперативная память простыми словами
Оперативное запоминающее устройство (ОЗУ или просто оперативная память) физически представляет собой несколько микросхем для хранения данных. В свою очередь одна микросхема содержит набор конденсаторов и транзисторов.
Что такое оперативная памятьЧтобы углубленно понять, что такое оперативная память компьютера, рассмотрим электрическую схему. В микросхемах ОЗУ фактически хранятся заряды, которые в итоге формируют набор битов информации из нулей и единиц. Использование конденсаторов в такой схеме приводит к периодическому уменьшению величины заряда. Для поддержки актуального состояния ОЗУ необходима регулярная регенерация.
На практике она происходит в течение 2 мс. Но при этом также снижается общая производительность оперативной памяти, поскольку доступ к памяти в этот промежуток времени приостанавливается.
При выполнении пользователем каких-либо операций на компьютере процессор в первую очередь обращается к ОЗУ. Любые устройства для долговременного хранения данных, какими бы быстрыми они ни были, всегда медленнее оперативной памяти. Исключением не являются даже самые современные SSD-накопители.
ОЗУ взаимодействует с процессором вычислительного устройства напрямую. Из-за отсутствия различных соединительных кабелей и подключений любые данные, находясь в оперативной памяти, будут считаны компьютером почти мгновенно.
Однако ОЗУ хранит данные лишь при наличии питания. После выключения компьютера вся информация из кратковременной памяти стирается. Такая особенность позволяет устройству решать множество ключевых задач с очень высокой скоростью.
Это же свойство требует наличия в компьютере накопителей для долговременного хранения данных (жесткие диски, SSD). Эти устройства отличаются способностью хранить информацию даже после отключения питания.
Принцип работы оперативной памяти
ОЗУ работает в тесном взаимодействии с процессором и внешними устройствами компьютера, непосредственно обрабатывающими данные. То есть перед обработкой центральным процессором информация из носителя должна сначала поступить в оперативную память.
Такой обмен данными выполняется либо напрямую, либо (что чаще всего) опосредованно — через кэш. Последний является небольшой областью памяти, предназначенной для временного хранения наиболее часто используемой информации. Данное решение способствует существенному ускорению доставки данных в регистры процессора. Этот участок памяти физически расположен в самом ЦП, поэтому работает даже быстрее, чем ОЗУ. Производительность всей системы в результате повышается, поскольку простои процессора минимизируются или вовсе исключаются.
Для управления оперативной памятью используется специальный контроллер, находящийся в чипсете материнской платы. Область расположения этого элемента называется северным мостом. Именно через этот узел процессор подключается к ОЗУ и графической подсистеме.
Следует учитывать принцип записи информации в ячейку оперативной памяти — в соответствии с директивой процессора новые данные перезаписывают (то есть, полностью стирают) старые данные в этой ячейке. Другая особенность работы ОЗУ заключается в делении памяти на несколько разделов специальным программным обеспечением, встроенным во все операционные системы.
Современные компьютеры обладают, как правило, достаточным объемом оперативной памяти для размещения в ней сразу нескольких одновременно работающих процессов. Также параллельная обработка нескольких задач обеспечивается центральным процессором. Это послужило толчком к активному внедрению системы динамического распределения памяти. Принцип ее заключается в выделении изменяемых (или динамических) разделов ОЗУ для каждой выполняемой в данный момент задачи.
Такое перераспределение участков памяти делает использование оперативной памяти более экономным. Неиспользуемые в данный участки ОЗУ переназначаются для решения наиболее важных выполняемых задач. Управляет этим процессом распределения операционная система, в то время как специальное ПО отвечает за рациональное использование памяти.
Обычные же программы должны поддерживаться той или иной ОС, которая будет выделять им достаточный для работы объем ОЗУ и при этом нормально функционировать сама.
Если программное обеспечение было написано давно и с тех пор не обновлялось, оно в какой-то момент станет несовместимым с современной версией операционной системы. Так, программа, разработанная под Windows 98, уже не будет нормально работать в актуальных версиях Windows.Полезно знать об основных особенностях и типах ОЗУ (например, что такое двухканальный режим оперативной памяти). Но простому пользователю более важно учитывать, какой максимальный объем оперативной памяти поддерживает операционная система в зависимости от разрядности.
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ ресурсов об IT-сфере
Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT
ТОП 50+ сервисов и приложений от Geekbrains
Безопасные и надежные программы для работы в наши дни
pdf 3,7mb
doc 1,7mb
Уже скачали 21318В частности, 64-битная Windows 7 полноценно работает с объемом ОЗУ до 192 ГБ (для сравнения — в 32-битных системах включена поддержка только до 4 ГБ ОЗУ). Более современные системы с разрядностью 128 бит нормально поддерживают уже гораздо большие объемы памяти.
Основные типы оперативной памяти
Существует несколько разновидностей ОЗУ. Как правило, все эти устройства работают по динамической системе с произвольным доступом (DRAM). Применительно к современным системам употребляется более точная формулировка — синхронная динамическая память с произвольным доступом (SDRAM). Однако с точки зрения простого пользователя между этими понятиями нет принципиального различия.
Основные типы оперативной памятиУ потребителей может возникнуть вопрос при взгляде на характеристики оперативной памяти: что такое DDR? Это основной формат выпускаемых сегодня модулей ОЗУ. В конце этой аббревиатуры пишут цифру, означающую поколение оперативной памяти. Самыми современными модулями являются DDR4, в более старых системах используются DDR3, иногда в продаже встречаются и совсем устаревшие DDR2.
С каждым новым поколением ОЗУ обретает прирост в скорости. Это фактически означает более высокую пропускную способность, которая выражается в частоте в мегагерцах. Также с выпуском нового поколения памяти изменяются физические параметры модулей, поэтому заменить старую модель на новую (равно как и наоборот) не получится.
Именно тактовая частота ОЗУ определяет скорость обработки данных и в целом производительность всей системы. Она вычисляется как период между отправкой контроллером команды и выполнением этой команды. Соответственно, чем выше частота, тем команды выполняются быстрее. Для DDR4 она составляет как минимум 2133-4800 МГц, для DDR3 — 800-2400 МГц.
Модули оперативной памяти должны быть полностью совместимы с материнской платой. По этой причине все современные ОЗУ изначально работают на стандартной частоте 2400 МГц. Можно этот параметр повысить, например, до 3200 МГц в случае запуска ресурсоемких приложений или игр. Но здесь следует ориентироваться на системные требования конкретной программы и на характеристики процессора.
Отдельным важным параметром конфигурации компьютера является видеопамять VRAM. Ранее она рассматривалась отдельно, теперь же этой технологией обозначают выделенную память графического процессора видеокарты. Иногда под VRAM понимается системная память в игровых консолях. Тем не менее, она всегда определяет графические возможности любой системы. Имеет форм-фактор GDDR и также маркируется номером поколения (например, GDDR6).
Память указанного шестого поколения в основном используется в современных видеокартах. Дополнительно был разработан формат High Bandwidth Memory, включающий в себя вариации HBM, HBM2 и HBM2e. Благодаря его внедрению существенно повышается производительность карт, но при этом значительно увеличивается и их цена. Другим серьезным препятствием распространения этого формата можно назвать проблемы с поставками.
Технические характеристики оперативной памяти
Выбор конкретного ОЗУ должен основываться на нескольких ключевых критериях:
Тип модуля
Производительность компьютера напрямую зависит от тактовой частоты оперативной памяти. Именно поэтому в каждом следующем поколении модулей ОЗУ эта характеристика увеличивается практически вдвое.
Только до 22.06
Скачай подборку тестов, чтобы определить свои самые конкурентные скиллы
Список документов:
Тест на определение компетенцийЧек-лист «Как избежать обмана при трудоустройстве»Инструкция по выходу из выгоранияЧтобы получить файл, укажите e-mail:
Подтвердите, что вы не робот,
указав номер телефона:
Сегодня наиболее популярен формат синхронной динамической памяти с произвольным доступом (SDRAM). Сюда относят и такие широко используемые разновидности, как DDR3 и DDR4. Более ранние поколения уже фактически не используются. Более того, активно разрабатывается и уже тестируется DDR5.
Форм-фактор
Сменные модули ОЗУ изготавливаются как для стационарных компьютеров, так и для ноутбуков. Соответственно, они в значительной мере отличаются физическим форматом. Для ПК предназначен DIMM, в ноутбуках же следует использовать SO-DIMM.
Ключ модуля
Разные типы модулей ОЗУ отличаются расположением ключа — особой прорези. Если планка оперативной памяти совместима с материнской платой, она должна прочно встать в соответствующий разъем. В противном случае ключ модуля не даст это сделать.
Объем памяти
Большой объем ОЗУ позволяет запускать требовательные к ресурсам программы. Поэтому здесь следует отталкиваться от предназначения компьютера. Если необходимо выполнять лишь офисные задачи, достаточно объема в 4-8 ГБ. Для мультимедийного ПК лучше использовать модули объемом не менее 8 ГБ, а для игр и «тяжелых» видеоредакторов уже потребуется как минимум 16 ГБ. Диапазон допустимых объемов памяти может быть различным в зависимости от типа ОЗУ.
Тип | Объем модуля | |
Минимум | Максимум | |
DDR | 256 МБ | 1 ГБ |
DDR2 | 512 МБ | 4 ГБ |
DDR3 | 1 ГБ | 16 ГБ |
DDR4 | 4 ГБ | 128 ГБ |
Тактовая частота
Это ключевой параметр ОЗУ наравне с объемом оперативной памяти. Важно, чтобы ее значение в конкретном модуле поддерживалось материнской платой, процессором и видеокартой (при наличии). В противном случае заявленный ресурс памяти будет использоваться не полностью. То есть, все указанные устройства задействуют лишь низкие частоты модуля ОЗУ. Данная характеристика также определяется видом оперативной памяти.
Здесь следует учитывать, что такое двухканальная оперативная память и как с ней взаимодействует центральный процессор. Он может использовать максимальный частотный ресурс, но при этом задействовать лишь режим одного канала. В итоге операционная система будет работать на пониженных частотах.
Тип ОЗУ | Тактовая частота, МГц | |
Минимум | Максимум | |
DDR | 100 | 350 |
DDR2 | 200 | 600 |
DDR3 | 800 | 2400 |
DDR4 | 1600 | 3200 |
Тайминг
Другое название этого параметра — латентность оперативной памяти. Что такое тайминги и как они влияют на производительность? Проще всего ответить на этот вопрос так: латентностью называют время отклика ОЗУ на запрос системы. Соответственно, чем меньше значение этого параметра, тем отзывчивее система.
Топовые производителя оперативной памяти
Ниже представим лидеров рынка модулей ОЗУ. Данные производители гарантируют надежность и высокую эффективность своей продукции.
- Kingston
Фирма была основана в США. За время своей деятельности она сумела завоевать 46 % рынка оперативной памяти для компьютеров. Модули от этого производителя часто появляются в различных нишевых рейтингах на первых строчках, в том числе под брендом HyperX. Кроме того, Kingston выпускает качественные внешние накопители.
- Micron
Эта американская компания выпускает продукцию под маркой C. Данный производитель также занимает значительную долю рынка ОЗУ.
- Corsair
Еще один производитель модулей из США выделяется среди конкурентов тем, что он помимо собственно ОЗУ разрабатывает целый комплекс периферийной продукции для компьютеров, а также системы охлаждения и прочие электронные устройства.
- Samsung
Именитый корейский гигант в представлении не нуждается. Компания участвует во многих сферах деятельности, и в том числе она производит качественные модули ОЗУ.
Итак, для понимания максимальных возможностей компьютера требуется знание основных характеристик оперативной памяти, ее совместимости с различными компонентами компьютера, а также требований к системе для решения каких-либо задач.
Топовые производителя оперативной памятиВсесторонне знать, что такое оперативная память устройства и как эта память взаимодействует с устройством, полезно еще и потому, что это позволяет экономить деньги при выборе подходящих компонентов. Именно модули ОЗУ в первую очередь отвечают за скорость и отзывчивость системы.
Поэтому, если вы хотите добавить памяти в свой компьютер, прежде всего изучите всю конфигурацию компьютера и определите минимальный и максимальный объем памяти, который поддерживает система. Изначально установленных модулей, как правило, хватает для базовых задач. Но со временем вы захотите увеличить мощность своего компьютера для более ресурсоемких программ или игр, так что приведенными здесь советами имеет смысл воспользоваться.
Продвижение блога — Генератор продаж
Рейтинг: 5( голосов 2 )
Поделиться статьейКомпьютерная память, физическая и виртуальная память
Физическая и виртуальная память являются родственными формами цифровой памяти, т. е. хранения информации в компьютерах и других цифровых устройствах. Физическая память существует на микросхемах (оперативная память или ОЗУ) и на устройствах хранения больших объемов данных, таких как ленты, оптические диски и жесткие диски. Прежде чем программу можно будет выполнить, она должна сначала загрузиться в оперативную память (также называемую основной памятью). Поскольку оперативная память является дорогой и энергозависимой (или, если не энергозависимой, медленной), то есть теряет свои данные при отключении питания, программы и данные хранятся на жестких дисках или других объемных устройствах до тех пор, пока они не потребуются для выполнения.
Виртуальная память — это процесс управления, посредством которого данные (например, программный код) могут быстро обмениваться между местами хранения физической памяти и оперативной памятью во время выполнения. Быстрый обмен данными (надеюсь) беспрепятственный и прозрачный для пользователя, который воспринимает машину как имеющую больше оперативной памяти, чем на самом деле. Использование виртуальной памяти позволяет использовать более крупные программы и позволяет этим программам работать быстрее.
В современных операционных системах возможен постоянный обмен данными между жестким диском и оперативной памятью через виртуальную память. Процесс подкачки используется для обмена данными через виртуальную память. Использование виртуальной памяти создает впечатление, что компьютер имеет больший объем ОЗУ, потому что виртуальная память позволяет эмулировать передачу целых блоков данных, обеспечивая плавную и эффективную работу программ. Вместо того, чтобы пытаться поместить данные в часто ограниченную энергозависимую память RAM, данные фактически записываются на жесткий диск. Соответственно, размер виртуальной памяти ограничен только размером жесткого диска, либо пространством, отведенным под виртуальную память на жестком диске. Когда информация требуется в ОЗУ, система обмена быстро обменивает блоки памяти (также часто называемые страницами памяти) между ОЗУ и жестким диском.
Современные системы виртуальной памяти заменяют более ранние формы физического обмена файлами и фрагментации программ.
В некотором смысле виртуальная память является специализированным вторичным типом хранилища данных, и часть жесткого диска предназначена для хранения специализированных файлов виртуальной памяти (также называемых страницами). Область жесткого диска, предназначенная для хранения блоков данных, подлежащих обмену через интерфейс виртуальной памяти, называется файлом подкачки. В большинстве операционных систем существует предустановленный размер области файла подкачки на жестком диске, и файлы подкачки могут существовать на нескольких дисках. Однако пользователи большинства современных операционных систем могут изменять размер файла подкачки в соответствии с конкретными требованиями к производительности. Как и в случае с размером файла подкачки, хотя фактический размер страниц задан заранее, современные операционные системы обычно позволяют пользователю изменять размер страницы. Страницы виртуальной памяти имеют размер от тысячи байтов до многих мегабайт.
Использование виртуальной памяти позволяет разместить весь блок данных или программы (например, процесс приложения) в виртуальной памяти, в то время как только часть исполняемого кода находится в физической памяти. Соответственно, использование виртуальной памяти позволяет операционным системам запускать множество программ и, таким образом, увеличивать степень многозадачности в операционной системе.
Интеграция виртуальной памяти осуществляется либо с помощью процесса, называемого сегментацией по требованию, либо с помощью другого процесса, называемого пейджингом по требованию. Пейджинг по требованию более распространен, потому что он проще по дизайну. Процессы виртуальной памяти с подкачкой по запросу не передают данные с диска в ОЗУ, пока программа не вызовет страницу. Существуют также упреждающие процессы подкачки, используемые операционными системами, которые пытаются читать вперед и выполнять передачу данных до того, как данные действительно потребуются для помещения в ОЗУ. После выгрузки данных процессы подкачки отслеживают использование памяти и постоянно вызывают данные между ОЗУ и жестким диском. Состояния страниц (действительные или недействительные, доступные или недоступные для ЦП) регистрируются в таблице виртуальных страниц. Когда приложения пытаются получить доступ к недопустимым страницам, диспетчер виртуальной памяти, который инициирует подкачку памяти, перехватывает сообщение об ошибке страницы. Быстрое преобразование виртуальных адресов в реальный физический адрес осуществляется с помощью процесса, называемого сопоставлением. Отображение является важной концепцией процесса виртуальной памяти. Отображение виртуальной памяти работает путем связывания реальных аппаратных адресов (адреса физического хранилища) для блока или страницы хранимых данных с виртуальным адресом, поддерживаемым процессом виртуальной памяти. Реестр виртуальных адресов позволяет осуществлять выборочную и рандомизированную трансляцию данных с дисков для последовательного чтения. По сути, процессы виртуальной памяти предоставляют альтернативные адреса памяти для данных, и программы могут быстро использовать данные, используя эти виртуальные адреса вместо физического адреса страницы данных.
Виртуальная память является частью многих операционных систем, включая Windows, но не является функцией DOS. В дополнение к увеличению скорости выполнения и операционного размера программ (строк кода) использование систем виртуальной памяти дает ценный экономический эффект. Память на жестком диске в настоящее время намного дешевле, чем оперативная память. Соответственно, использование виртуальной памяти позволяет проектировать вычислительные системы большой емкости при относительно низких затратах.
Несмотря на то, что подкачки страниц данных (данные определенной длины или тактовых импульсов данных) посредством подкачки виртуальной памяти между жестким диском и оперативной памятью выполняются очень быстро, чрезмерная зависимость от подкачки виртуальной памяти может снизить общую производительность системы. Если объем жесткого диска, выделенного для хранения файлов подкачки, недостаточен для удовлетворения требований системы, которая в значительной степени зависит от обмена данными через виртуальную память, пользователи могут получать сообщения «НЕДОСТАТОЧНО ПАМЯТИ» и ошибки, даже хотя у них много неиспользуемого места на жестком диске.
К 2006 году персональные компьютеры с объемом ОЗУ в несколько гигабайт (1 гигабайт равен 1 миллиарду байтов) были широко доступны в Соединенных Штатах, и многие персональные компьютеры имели емкость жесткого диска в сотни ГБ с объемом ОЗУ в один терабайт ( тысяча гигабайт, один триллион байт) должны появиться на рынке в ближайшие год или два. Относительные пределы как емкости жесткого диска, так и емкости оперативной памяти неуклонно улучшаются с развитием технологий микрочипов и магнитных запоминающих устройств.
См. также Компьютерные языки; Память компьютера, физическая и виртуальная память; Компьютерное программное обеспечение; Компьютер, аналоговый; Компьютер, цифровой.
Виртуальная память: преодоление ограничений физической памяти
- Виртуальная память определяется как метод управления памятью, при котором компьютеры используют вторичную память для компенсации нехватки физической памяти.
- Виртуальная память обеспечивает преимущества с точки зрения затрат, физического пространства, возможностей многозадачности и безопасности данных.
- В этой статье объясняются основы виртуальной памяти, ее основная архитектура, преимущества и проблемы.
Содержание
< /i>- Что такое виртуальная память?
- Архитектура виртуальной памяти
- Преимущества и проблемы виртуальной памяти
Что такое виртуальная память?
Виртуальная память относится к методу управления памятью, при котором компьютеры используют вторичную память для компенсации нехватки физической памяти. Этот метод используется операционной системой компьютера (ОС) в ситуациях, когда системе не хватает оперативной памяти для выполнения инструкций. С виртуальной памятью компьютеры могут запускать сложные и изощренные программы, поскольку конфликтующие потребности в памяти для нескольких программ удовлетворяются в пределах фиксированного пространства памяти.
До виртуальной памяти системы использовали ОЗУ и вторичную память. В начале 1940-х и 1950-х годов компьютерная память была довольно дорогой. Однако со временем компьютерные программы становились все более сложными, и разработчики опасались, что эти большие программы могут потреблять всю основную память компьютера и в конечном итоге ее не хватит.
Это привело к развитию виртуальной памяти в конце 1950-х годов. В 1959 году исследователи из Манчестерского университета в Англии разработали первую систему виртуальной памяти для компьютера под названием «Атлас».61 со встроенной виртуальной памятью. Позже, в 1982 году, Intel включила компонент виртуальной памяти в процессор 80286.
Перенесемся в сегодняшний день: у нас есть системы с оперативной памятью не менее 8 ГБ или 16 ГБ. Однако требуется больше, когда вы собираетесь запускать несколько программ одновременно. Вот где виртуальная память становится жизненно важной. Виртуальная память переносит данные из ОЗУ в дисковое хранилище, отображая память на файлы на диске. Виртуальная память переносит неиспользуемые данные из ОЗУ на устройство хранения, такое как жесткий диск или твердотельный накопитель (SSD), и освобождает ОЗУ для других задач. В результате компьютеры склонны рассматривать вторичную и первичную память как одно целое.
Виртуальная память имеет решающее значение для многозадачности. Это повышает общую производительность системы, поскольку компьютерам не нужно беспокоиться об ограничениях памяти, связанных с более тяжелыми программами. Несмотря на свои преимущества, виртуальная память имеет и отрицательную сторону. Было замечено, что виртуальная память работает на гораздо более медленных скоростях, чем оперативная память компьютера. Если ОС постоянно переключает данные между виртуальной памятью и оперативной памятью, это может значительно замедлить работу компьютера. Это может привести к явлению, называемому «пробуксовкой». Поэтому пользователи не могут полностью полагаться на виртуальную память, поскольку чрезмерное использование ресурсов виртуальной памяти может препятствовать обработке на уровне приложений.
На фундаментальном уровне виртуальная память отображает адреса программ в ОЗУ. В случаях, когда недостаточно места в оперативной памяти, программы отображаются на диск.
Типы виртуальной памяти
Операционная система использует два метода управления виртуальной памятью: подкачку и сегментацию. Давайте рассмотрим каждый из них подробно.
1. Пейджинг
При пейджинговом подходе оперативная память разделяется на блоки размером 4 КБ. Эти блоки называются страницами. Затем вычислительные процессы распределяются по этим страницам в зависимости от их потребностей в памяти. Каждый процесс может использовать менее 4 КБ памяти, поэтому часть памяти будет потрачена впустую. В редких случаях некоторые операции могут использовать большое количество страниц.
В нормальных условиях эти страницы переключаются между ОЗУ и файлами подкачки, представляющими виртуальную память.
2. Сегментация
Другим подходом к эффективному управлению памятью является сегментация. Вместо выделения процессам страниц фиксированного размера сегменты памяти различной длины назначаются вычислительным операциям в зависимости от их потребностей в памяти. В отличие от подкачки, сегментация не тратит впустую сегменты памяти.
Благодаря сегментации приложения могут разделяться на разные логические адресные пространства. В результате приложения становятся общедоступными и более безопасными. Однако сегментация часто приводит к «фрагментации памяти». Сегменты памяти имеют разную длину, и выделение и освобождение этих сегментов приводит к образованию большого количества неиспользуемых пространств памяти. Поскольку их длина не определена, память остается без внимания процессов из-за их разного размера.
Таким образом, неиспользуемые части сегментов накапливаются, и ОС может выделять их процессам. Однако, если они разбросаны, ОС может быть сложно отслеживать все эти фрагменты памяти. Кроме того, если процессы вынуждены использовать разные части сегмента, это может снизить производительность системы из-за неэффективных подходов к распределению памяти.
Подробнее: Что такое управление устройствами IoT? Определение, основные функции и программное обеспечение
Архитектура виртуальной памяти
Виртуальная память — это важный компонент компьютерной архитектуры, который использует вторичное хранилище, такое как диски, для достижения доступного объема памяти, который расширяет физическую память. Виртуальная память использует блок управления памятью (MMU) для преобразования логических адресов в физические адреса. Компонент MMU расположен между ЦП и физической памятью. Он выполняет необходимые преобразования адресов в соответствии с указаниями ОС.
MMU использует таблицы страниц для выполнения преобразований и операций сопоставления, где таблицы страниц ссылаются на структуры данных, которые поддерживают «записи таблицы страниц (PTE)» для сопоставления виртуальных адресов с физическими.
Давайте разберемся, как работает архитектура виртуальной памяти.
Вычислительная среда выполняет процесс, разделяя его на различные страницы. Страницы представляют собой непрерывные блоки виртуальной памяти предопределенной длины. Весь процесс находится во вторичной памяти. Однако для ускорения выполнения процесса необходимо перемещать страницы в основную память системы. Но иногда основной памяти может быть недостаточно для запуска процесса из-за большего размера процесса. Вот когда на помощь приходит виртуальная память.
Когда программ больше, чем основная память, виртуальная память позволяет загружать важные страницы, а не весь набор страниц. Как правило, выполнение программы не требует загрузки всех страниц в основную память, так как в это время выполняются только небольшие части программы.
Например, рассмотрим «файлы обработки ошибок» программы. Такие файлы загружаются только при возникновении ошибок. В других случаях эти файлы не загружаются в основную память, чтобы избежать ненужного заполнения памяти.
Таким образом, операционная система загружает важные и часто используемые страницы, необходимые программе. Это значительно ускоряет выполнение процесса. На этом этапе остальные страницы находятся во вторичной памяти.
Когда ЦП получает запрос на страницу, которая не является частью основной памяти, генерируется прерывание, указывающее на отсутствие страницы или ошибку страницы. Это приводит к тому, что процесс переходит в состояние блокировки/ожидания. Далее ищется нужная страница во вторичной памяти. После идентификации страницы логический адрес страницы преобразуется MMU в физический адрес для доступа к целевой странице.
Затем используются алгоритмы замены страниц, такие как FIFO (первым пришел, первым обслужен) и LRU (последний недавно использованный), для обмена страницами между первичной и вторичной памятью. После замены страниц таблица страниц обновляется по мере того, как новые адреса связываются с соответствующими страницами. Когда запрашиваемая страница извлекается, ЦП предоставляет ее процессу, который переходит из состояния блокировки/ожидания в рабочее состояние.
Рабочий процесс гарантирует, что между первичной и вторичной памятью обмениваются только необходимые страницы. Запрос этих страниц адресуется напрямую, если они находятся в основной памяти. В противном случае возникает событие ошибки страницы, и требуемая страница выбирается из вторичной памяти для завершения выполнения программы.
Узнать больше: Что такое гибкая разработка программного обеспечения? Жизненный цикл, методология и примеры
Преимущества и проблемы виртуальной памяти
Современные операционные системы, вычислительные устройства, мобильные устройства и устройства IoT все чаще используют виртуальную память для удовлетворения растущих потребностей в хранении данных, обеспечивающих работу систем. Давайте рассмотрим некоторые ключевые причины, которые привели к преимуществам виртуальной памяти.
Преимущества виртуальной памяти
1. Сбалансируйте нехватку физического пространства
Виртуальная память с годами приобрела популярность благодаря своей способности компенсировать физическую память. Методы пейджинга и сегментации обеспечивают освобождение основной памяти для необходимых и критических операций.
2. Недорогая виртуальная память
Виртуальная память не обязательно воспроизводит истинную мощь физической памяти. Тем не менее, его недорогой характер делает его жизнеспособной альтернативой оперативной памяти. Если у вас есть совместимая система, добавление виртуальной памяти возможно без технических знаний, физической пайки или физического пространства. Он укладывается в пределы аппаратного обеспечения системы и повышает производительность устройства, особенно мобильных телефонов, не вызывая финансового бремени.
3. Поддерживает многозадачность и совместную работу.
Виртуальная память позволяет пользователям использовать больше места в ОЗУ, чем позволяет аппаратное обеспечение. Пространство логической памяти выходит за пределы физических ограничений, которые помогают выполнять процессы, требующие больше памяти, чем может обслужить система. В результате время работы системы значительно сокращается. Кроме того, виртуальная память обеспечивает мультипрограммирование, при котором несколько пользователей или процессов могут обращаться к общей памяти, повышая эффективность использования ЦП и ОЗУ.
4. Избегайте фрагментации памяти
Рабочий процесс виртуальной памяти не требует обращения к физическому MMU. Пользователи могут выполнять сегменты, находящиеся в виртуальной ОЗУ, необходимой для программы, на основе индивидуального отображения памяти. Это позволяет легко управлять программными данными, поскольку процессы могут использовать неиспользуемые сегменты памяти, что часто вызывает «фрагментацию памяти». Следовательно, также снижается потребность во внешних устройствах ввода-вывода (ввода-вывода) для эффективного управления памятью.
5. Повышение безопасности данных
Система управления памятью компьютера использует таблицы страниц для записи адресов физической и виртуальной памяти. Это снижает вероятность потери данных, которая может произойти во время замены пространства. Сегментные таблицы следуют аналогичной процедуре. Кроме того, для виртуальной памяти характерна функция «изоляции памяти», при которой память процесса остается изолированной от ядра и других процессов во время выполнения. Это снижает вероятность манипулирования данными и шпионажа.
Проблемы с виртуальной памятью
Хотя виртуальную память легче получить по сравнению с физической памятью, у нее есть свои проблемы, с которыми придется справляться в долгосрочной перспективе. Давайте рассмотрим некоторые недостатки виртуальной памяти.
Минусы виртуальной памяти
1. Вмещает жизненно важное пространство для хранения
Хотя пользователи предпочитают повышенную производительность системы, виртуальная память иногда может занимать драгоценное пространство для хранения, что приводит к потере емкости хранилища. Иногда такие ситуации могут не возникать, поскольку современные устройства снабжены надежными и быстрыми накопителями. Кроме того, они обладают достаточной мощностью, чтобы управлять сложными процедурами сопоставления адресов. Следовательно, проблема захвата жизненно важных складских площадей наблюдалась раньше, но постепенно исчезла с развитием технологий.
2. Скорость ниже, чем у физической памяти
Независимо от типа конфигурации, физическая оперативная память демонстрирует более высокие скорости, чем виртуальная память, при работе с внутренней памятью системы. Когда виртуальная память используется во внешнем хранилище, постоянное чтение и запись могут повлиять на общий срок службы внешнего устройства. Таких последствий не избежать, так как это фундаментальная природа виртуальных воспоминаний. Короче говоря, приложениям требуется больше времени для выполнения в виртуальной памяти из-за подкачки страниц.
3. Переключение контекста требует дополнительного времени
Физическая память оснащена необходимыми аппаратными и программными компонентами, которые одновременно балансируют несколько процессов. Это делает оперативную память быстрой и универсальной. Однако виртуальная память выполняет переключение контекста между высокоприоритетными и низкоприоритетными процессами для повышения производительности. Процесс переключения вызывает количественные задержки. Более того, если для подкачки и сегментации используется низкоскоростное хранилище, эта ситуация может еще больше ухудшиться.
4. Проблемы со стабильностью
При использовании виртуальной памяти выполнение программы зависит от возможностей памяти, которые превышают возможности базового оборудования. Иногда это может привести к нестабильности системы, замедлению ее работы или даже к сбою. Кроме того, в случае пропуска страницы обмен страницами может занимать больше времени. Это значительно влияет на скорость выполнения программы, что приводит к снижению производительности.
5. Склонность к маркетинговым уловкам
Поскольку преимущества виртуальной памяти широко известны, некоторые производители используют продуманные формулировки для привлечения клиентов. Устройства представлены так, что покупателей иногда обманывают, заставляя поверить в маркетинговые уловки. Например, 8 ГБ оперативной памяти можно продать по цене 4 ГБ. Разница в стоимости корректируется за счет предоставления 4 ГБ физической оперативной памяти и 4 ГБ виртуальной памяти.
Подробности указаны в листе спецификаций RAM, но клиенты обычно не замечают их. Поскольку конечные потребители могут легко купить 8 ГБ ОЗУ по цене 4 ГБ, они довольны. Однако, когда пользователи анализируют производительность системы в реальном времени, они понимают, что обещанная скорость оперативной памяти не соответствует ожиданиям.
Подробнее : Что такое прошивка? Определение, архитектура и рекомендации на 2022 год
Выводы
Виртуальная память неизбежна в современных операционных системах, таких как Windows 10, Win XP, Win 7, Android, Linux и т. д. Пользователи могут комбинировать физическую и виртуальную память для ускорения работы.
Ваш комментарий будет первым