Буфер данных - Data buffer
В Информатика, а буфер данных (или просто буфер) - это область физической памяти, используемая для временного хранения данные пока его перемещают с одного места на другое. Обычно данные хранятся в буфере по мере их извлечения из Устройство ввода (например, микрофон) или непосредственно перед отправкой на устройство вывода (например, динамики). Тем не менее, буфер может использоваться при перемещении данных между процессы внутри компьютера. Это сопоставимо с буферами в электросвязи. Буферы могут быть реализованы в фиксированной ячейке памяти на оборудовании или с помощью виртуального буфера данных в программном обеспечении, указывающего на место в физической памяти. Во всех случаях данные, хранящиеся в буфере данных, хранятся на физический носитель. Большинство буферов реализовано в программного обеспечения, которые обычно используют более быстрый баран для хранения временных данных из-за гораздо более быстрого доступа по сравнению с жесткие диски. Буферы обычно используются, когда есть разница между скоростью получения данных и скоростью, с которой они могут быть обработаны, или в случае, когда эти скорости являются переменными, например, в диспетчере очереди печати или в онлайн-видео потоковая передача. в распределенных вычислений среды, буфер данных часто реализуется в виде пакетный буфер который обеспечивает службу распределенной буферизации.
Буфер часто регулирует время, реализуя очередь (или же ФИФО ) в памяти, одновременно записывая данные в очередь с одной скоростью и читая их с другой.
Приложения
Буферы часто используются вместе с Ввод / вывод к аппаратное обеспечение, Такие как Дисковый привод, отправка или получение данных в или из сеть, или воспроизведение звука через динамик. Линия к американские горки в парке развлечений много общего. Люди, которые катаются на горках, входят в неизвестном и часто переменном темпе, но американские горки могут загружать людей очередями (по мере того, как горки прибывают и загружаются). В зона очереди действует как буфер - временное пространство, где желающие покататься ждут, пока поездка не станет доступной. Буферы обычно используются в ФИФО (первым пришел - первым вышел), выводя данные в порядке их поступления.
Буферы могут повысить производительность приложений, позволяя синхронный операции, такие как чтение или запись файла, должны завершаться быстро вместо блокировки в ожидании аппаратных прерываний для доступа к подсистеме физического диска; вместо этого операционная система может немедленно вернуть успешный результат вызова API, позволяя приложению продолжить обработку, в то время как ядро завершает операцию с диском в фоновом режиме. Дополнительные преимущества могут быть достигнуты, если приложение читает или записывает небольшие блоки данных, которые не соответствуют размеру блока дисковой подсистемы, что позволяет использовать буфер для агрегирования множества меньших операций чтения или записи в более эффективные размеры блоков. для дисковой подсистемы или в случае чтения, иногда, чтобы полностью избежать физического доступа к диску.
Телекоммуникационный буфер
Буфер рутина или же место хранения средний используется в телекоммуникациях, компенсирует разницу в скорости потока данные, или же время возникновения событий при передаче данных с одного устройства на другое.
Буферы используются для многих целей, в том числе:
- Соединение двух цифровой схемы, работающие с разной скоростью,
- Хранение данных для последующего использования,
- Позволяя вносить временные поправки на поток данных,
- Сбор двоичный биты данных в группы, с которыми затем можно работать как единое целое,
- Задержка транзитного времени сигнал чтобы разрешить выполнение других операций.
Примеры
- В БУФЕРЫ команда / инструкция в CONFIG.SYS из ДОС.
- Буфер между последовательным портом (UART ) и МОДЕМ. В COM порт скорость может быть 38400 бит / с, в то время как МОДЕМ может иметь только 14400 бит / с перевозчик.
- Встроенный буфер на жестком диске, принтере или другом оборудовании.
- В Кадровый буфер на видеокарте.
История
Одним из первых упоминаний о буфере печати является «Outscriber», изобретенный пионером в области обработки изображений Расселом А. Киршем для Компьютер SEAC в 1952 г .:[1]
Одна из наиболее важных проблем при разработке автоматических цифровых вычислительных машин состоит в том, чтобы получить результаты вычислений из машины достаточно быстро, чтобы не задерживать дальнейший ход вычислений. Во многих задачах, для решения которых применяется компьютер общего назначения, объем выходных данных относительно велик - настолько велик, что компьютер вынужден ждать, пока эти данные будут набраны на существующих печатающих устройствах, в результате серьезной неэффективности. Эта трудность была решена в SEAC за счет использования устройств магнитной записи в качестве устройств вывода. Эти устройства могут получать информацию от машины со скоростью до 100 раз быстрее, чем может работать электрическая пишущая машинка. Таким образом, достигается лучшая эффективность при записи выходных данных; Транскрипция может быть произведена позже с устройства магнитной записи на печатающее устройство, не связывая главный компьютер.
Смотрите также
- Ковш (вычисления)
- Переполнение буфера
- Опустошение буфера
- Круглый буфер
- Дисковый буфер
- Потоковое медиа
- Кадровый буфер для использования в графическом отображении
- Двойная буферизация и Тройная буферизация для техники в основном в графике
- Буфер глубины, Буфер трафарета, для разных частей изображения
- Буфер переменной длины
- Оптический буфер
- Отсутствует, результат того, что данные буфера не очищаются должным образом в Покемон Красный и Синий
- Буфер UART
- ENOBUFS, POSIX ошибка, вызванная нехваткой памяти в буферах
- Буфер записи, тип буфера памяти
- Нулевая копия
- 512k день
Рекомендации
- ^ «Руководство по техническому обслуживанию SEAC: Абонент» (PDF). Отчет Национального бюро стандартов. 2794. Июль 1953 г.