Разница в буфере и кеше?

Может ли кто-нибудь детализировать - В чем разница между буфером и кешем в системной памяти?

sql-server,windows,

16

Ответов: 4


22

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

Кэш является хранилищем для ускорения некоторых операций. Вещи попадают в кеш и должны извлекаться из него несколько раз, снова и снова. Механизм «протекающего через кеш» отсутствует - данные не входят и не выходят в одном порядке - но это всего лишь контейнер для хранения. Заказ может быть что угодно, на самом деле - предметы адресуются с помощью ключа, они не «текут», а «помещаются» и остаются там (пока их не выбрасывают из-за того, что они не используются, или потому, что система идет вниз).


5 ">голосов

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

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


0

Добавьте что-нибудь из Wiki о различии между буфером и кешем .

Буфер - это временная ячейка памяти, которая традиционно используется, поскольку инструкции ЦП не могут напрямую обращаться к данным, хранящимся в периферийных устройствах. Таким образом, адресная память используется как промежуточный этап. Кроме того, такой буфер может быть осуществимым, когда большой блок данных собирается или разбирается (в соответствии с требованиями устройства хранения) или когда данные могут быть доставлены в другом порядке, чем тот, в котором он производится. Кроме того, весь буфер данных обычно передается последовательно (например, на жесткий диск), поэтому сама буферизация иногда увеличивает производительность передачи или уменьшает вариацию или дрожание задержки передачи, а не кэширование, где целью является сокращение задержки. Эти преимущества присутствуют, даже если буферные данные записываются в буфер один раз и считываются из буфера один раз.

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


-1 ">

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

SQL-сервер, окно,
Похожие вопросы