Рекомендуем, 2020

Выбор редакции

Разница между виртуальной и кеш-памятью в ОС

Память - это аппаратное устройство, которое используется для временного или постоянного хранения информации. В этой статье я рассмотрел различия между виртуальной и кеш-памятью. Кэш-память - это высокоскоростная память, которая используется для сокращения времени доступа к данным. С другой стороны, виртуальная память - это не просто физическая память, это метод, который расширяет возможности основной памяти за ее пределы.

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

Сравнительная таблица

Основа для сравненияВиртуальная памятьКэшированная память
основнойВиртуальная память расширяет возможности основной памяти для пользователя.Кэш-память ускоряет скорость доступа к данным ЦП.
ПриродаВиртуальная память - это техника.Кэш-память - это единица хранения.
функцияВиртуальная память позволяет выполнять программу, которая больше основной памяти.Кэш-память хранит копии оригинальных данных, которые были недавно использованы.
Управление памятьюВиртуальная память управляется операционной системой.Кэш-память полностью управляется аппаратным обеспечением.
РазмерВиртуальная память намного больше, чем кеш-память.Кэш-память имеет ограниченный размер.
картографированиеВиртуальная память требует сопоставления структур для сопоставления виртуального адреса с физическим адресом.Структуры отображения не требуются как таковые в кэш-памяти.

Определение виртуальной памяти

Виртуальная память - это не физическая память компьютера, а метод, который позволяет выполнять большую программу, которая может быть не полностью помещена в основную память . Это позволяет программисту выполнять программы больше, чем основная память.

Теперь давайте разберемся, как работает виртуальная память? Программа имеет адрес виртуальной памяти, который разделен на несколько страниц . Основная память также разделена на несколько страниц . Теперь, как мы видим, виртуальный адрес программы больше доступной основной памяти. Таким образом, карта памяти используется для отображения виртуального адреса в основную память.

Страницы 0, 1, 2 отображаются в основной памяти, а основная память заполняется. Теперь, когда страница 3 виртуальной памяти запрашивает место в основной памяти, самая старая размещенная страница, т.е. страница 0, переносится на жесткий диск и освобождает место для страницы 3 в основной памяти, и процесс продолжается. Если страница 0 снова нужна, то снова самая старая размещенная страница в это время переносится на жесткий диск, освобождая место для страницы 0.

Если двум программам нужны одинаковые данные, помещенные в основную память, блок отображения памяти позволяет обеим программам совместно использовать одно и то же адресное пространство в основной памяти, где хранятся общие данные . Это делает обмен файлами простым.

Преимущества виртуальной памяти:

  • Программы больше не ограничены пределом основной памяти.
  • Виртуальная память увеличивает степень мультипрограммирования.
  • Увеличивает загрузку процессора.
  • Меньше блока ввода / вывода потребуется для загрузки или обмена программ в памяти.

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

Определение кэш-памяти

В отличие от виртуальной памяти, Cache - это устройство хранения, реализованное на самом процессоре . Он содержит копии оригинальных данных, к которым недавно обращались. Исходные данные могут быть помещены в основную память или вторичную память. Кеш-память ускоряет скорость доступа к данным, но как? Давай разберемся

Можно сказать, что скорость доступа к процессору ограничена скоростью доступа к основной памяти . Всякий раз, когда процессор должен выполняться программой, он выбирает ее из основной памяти. Если копия программы уже присутствует в кеше, реализованном на процессоре. Процесс сможет получить доступ к этим данным быстрее, что приведет к более быстрому выполнению.

Ключевые различия между виртуальной и кэш-памятью

  1. Виртуальная память расширяет возможности основной памяти практически для пользователя. Однако кэш-память ускоряет доступ к данным для CPU.
  2. Кэш-память - это единица хранения, тогда как виртуальная память - это техника .
  3. Виртуальная память позволяет выполнять программы, которые больше, чем основная память. С другой стороны, в кэш-памяти хранятся копии исходных данных, которые использовались недавно.
  4. Управление виртуальной памятью осуществляется операционной системой . С другой стороны, управление кеш-памятью осуществляется аппаратно .
  5. Виртуальная память намного больше, чем кэшированная память по размеру.
  6. Техника виртуальной памяти требует, чтобы структуры отображения отображали виртуальный адрес на физический адрес, тогда как кэш-память не требует никаких структур отображения.

Заключение:

Виртуальная память - это метод расширения емкости основной памяти практически для пользователей. Кеш-память - это хранилище, в котором хранятся недавно использованные данные, что позволяет процессору быстрее получать к ним доступ.

Top