Буфер (информатика)

Поделись знанием:
Перейти к: навигация, поиск
К:Википедия:Статьи без источников (тип: не указан)

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



Буфер и кэш

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

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

Использование буферов

Метод организации обмена данными между устройствами или процессами с использованием буфера называется буферизацией. Один из наиболее известных для пользователей ПК примеров такого использования буфера — буфер обмена в ОС Microsoft Windows.

Также буферы используются в программировании для получения данных от функций. Функции Windows API, результатом работы которых является строковое значение (например, [msdn.microsoft.com/en-us/library/windows/desktop/dd319072%28v=vs.85%29.aspx MultiByteToWideChar]), принимают в качестве одного из аргументов указатель на буфер, куда производится вывод. Вот пример фрагмента исходного текста программы на C, преобразующего строку «Hello, World!» в Unicode:

// исходная строка
CHAR text[] = "Hello, World!";

// буфер для получения результата
WCHAR buffer[256];

// преобразование строки в Unicode
MultiByteToWideChar(CP_ACP, 0, text, strlen(text) + 1,
  buffer, sizeof(buffer)/sizeof(WCHAR));

См. также

Напишите отзыв о статье "Буфер (информатика)"

Отрывок, характеризующий Буфер (информатика)


Пришло утро с его заботами и суетой. Все встали, задвигались, заговорили, опять пришли модистки, опять вышла Марья Дмитриевна и позвали к чаю. Наташа широко раскрытыми глазами, как будто она хотела перехватить всякий устремленный на нее взгляд, беспокойно оглядывалась на всех и старалась казаться такою же, какою она была всегда.
После завтрака Марья Дмитриевна (это было лучшее время ее), сев на свое кресло, подозвала к себе Наташу и старого графа.
– Ну с, друзья мои, теперь я всё дело обдумала и вот вам мой совет, – начала она. – Вчера, как вы знаете, была я у князя Николая; ну с и поговорила с ним…. Он кричать вздумал. Да меня не перекричишь! Я всё ему выпела!
– Да что же он? – спросил граф.
– Он то что? сумасброд… слышать не хочет; ну, да что говорить, и так мы бедную девочку измучили, – сказала Марья Дмитриевна. – А совет мой вам, чтобы дела покончить и ехать домой, в Отрадное… и там ждать…
– Ах, нет! – вскрикнула Наташа.
– Нет, ехать, – сказала Марья Дмитриевна. – И там ждать. – Если жених теперь сюда приедет – без ссоры не обойдется, а он тут один на один с стариком всё переговорит и потом к вам приедет.
Илья Андреич одобрил это предложение, тотчас поняв всю разумность его. Ежели старик смягчится, то тем лучше будет приехать к нему в Москву или Лысые Горы, уже после; если нет, то венчаться против его воли можно будет только в Отрадном.
– И истинная правда, – сказал он. – Я и жалею, что к нему ездил и ее возил, – сказал старый граф.
– Нет, чего ж жалеть? Бывши здесь, нельзя было не сделать почтения. Ну, а не хочет, его дело, – сказала Марья Дмитриевна, что то отыскивая в ридикюле. – Да и приданое готово, чего вам еще ждать; а что не готово, я вам перешлю. Хоть и жалко мне вас, а лучше с Богом поезжайте. – Найдя в ридикюле то, что она искала, она передала Наташе. Это было письмо от княжны Марьи. – Тебе пишет. Как мучается, бедняжка! Она боится, чтобы ты не подумала, что она тебя не любит.
– Да она и не любит меня, – сказала Наташа.
– Вздор, не говори, – крикнула Марья Дмитриевна.
– Никому не поверю; я знаю, что не любит, – смело сказала Наташа, взяв письмо, и в лице ее выразилась сухая и злобная решительность, заставившая Марью Дмитриевну пристальнее посмотреть на нее и нахмуриться.
– Ты, матушка, так не отвечай, – сказала она. – Что я говорю, то правда. Напиши ответ.
Наташа не отвечала и пошла в свою комнату читать письмо княжны Марьи.
Княжна Марья писала, что она была в отчаянии от происшедшего между ними недоразумения. Какие бы ни были чувства ее отца, писала княжна Марья, она просила Наташу верить, что она не могла не любить ее как ту, которую выбрал ее брат, для счастия которого она всем готова была пожертвовать.