Буфер данных
В информатике буфер данных (или просто буфер ) — это область памяти, используемая для временного хранения данных во время их перемещения из одного места в другое. Обычно данные сохраняются в буфере по мере их получения от устройства ввода (например, микрофона) или непосредственно перед отправкой на устройство вывода (например, динамики); однако буфер может использоваться при перемещении данных между процессами внутри компьютера, что сравнимо с буферами в телекоммуникациях. Буферы могут быть реализованы в фиксированном месте памяти на аппаратном уровне или с использованием виртуального буфера данных в программном обеспечении, который указывает на место в физической памяти.
Во всех случаях данные, хранящиеся в буфере данных, хранятся на физическом носителе . Большинство буферов реализовано в программном обеспечении , которое обычно использует ОЗУ для хранения временных данных из-за гораздо более быстрого времени доступа по сравнению с жесткими дисками . Буферы обычно используются, когда существует разница между скоростью получения данных и скоростью их обработки, или в случае, когда эти скорости являются переменными, например, в диспетчере печати принтера или при видео в Интернете потоковой передаче . В распределенной вычислительной среде буферы данных часто реализуются в виде пакетных буферов , что обеспечивает услуги распределенной буферизации.
Буфер часто регулирует время, реализуя в памяти алгоритм очереди (или FIFO ), одновременно записывая данные в очередь с одной скоростью и считывая их с другой скоростью.
Приложения [ править ]
Буферы часто используются в сочетании с вводом-выводом оборудования , например дисковых накопителей или из нее , отправки или получения данных в сеть , а также воспроизведения звука на динамике. Очередь к американским горкам в парке развлечений имеет много общего. Люди, которые катаются на горках, приходят с неизвестной и часто переменной скоростью, но американские горки смогут загружать людей очередями (по мере того, как горки прибывают и загружаются). действует Зона очереди как буфер — временное пространство, где желающие покататься ждут, пока поездка освободится. Буферы обычно используются в методе FIFO (первым вошел — первым обслужен), при этом данные выводятся в том порядке, в котором они поступили.
Буферы могут повысить производительность приложений, позволяя быстро выполнять синхронные операции, такие как чтение или запись файлов, вместо блокировки во время ожидания аппаратных прерываний для доступа к подсистеме физического диска; вместо этого операционная система может немедленно вернуть успешный результат вызова API, позволяя приложению продолжить обработку, пока ядро завершает операцию с диском в фоновом режиме. Дополнительные преимущества могут быть достигнуты, если приложение читает или записывает небольшие блоки данных, которые не соответствуют размеру блока дисковой подсистемы, что позволяет использовать буфер для агрегирования множества меньших операций чтения или записи в блоки большего размера. эффективен для дисковой подсистемы или, в случае чтения, иногда позволяет полностью избежать физического доступа к диску.
Телекоммуникационный буфер [ править ]
Буферная процедура или данных носитель , используемый в телекоммуникациях, компенсирует разницу в скорости потока данных или времени возникновения событий при передаче данных от одного устройства к другому.
Буферы используются для многих целей, в том числе:
- Соединение двух цифровых цепей, работающих с разной скоростью.
- Хранение данных для последующего использования.
- Разрешение внесения корректировок синхронизации в поток данных .
- Сбор битов двоичных данных в группы, с которыми затем можно работать как с единым целым.
- Задержка времени прохождения сигнала , чтобы позволить выполнить другие операции.
Примеры [ править ]
- Команда BUFFERS /оператор CONFIG.SYS DOS в .
- Буфер между последовательным портом ( UART ) и модемом . Скорость COM-порта может составлять 38400 бит/с, в то время как модем может иметь несущую только 14400 бит/с .
- Встроенный дисковый буфер на жестком диске, твердотельном накопителе или приводе BD/DVD/CD.
- Встроенный буфер SRAM на адаптере Ethernet . [1]
- Кадровый буфер на видеокарте.
История [ править ]
Одним из первых упоминаний о буфере печати является «Outscriber», разработанный пионером обработки изображений Расселом А. Киршем для компьютера SEAC в 1952 году: [2]
Один из самых важных Проблема проектирования автоматических цифровых вычислительных машин заключается в том, что результаты расчетов выводятся из машины достаточно быстро, чтобы не задерживать дальнейший ход вычислений. Во многих задачах, для решения которых применяется компьютер общего назначения, объем выходных данных относительно велик — настолько велик, что приведет к серьезной неэффективности, если компьютеру придется ждать, пока эти данные будут напечатаны на существующих печатающих устройствах. Эта трудность была решена в SEAC путем предоставления устройств магнитной записи в качестве устройств вывода. Эти устройства способны получать информацию от машины со скоростью, в 100 раз превышающей скорость работы электрической пишущей машинки. Таким образом, достигается более высокая эффективность записи выходных данных; Транскрипция может быть произведена позже с устройства магнитной записи на печатающее устройство без привязки к основному компьютеру.
См. также [ править ]
- Переполнение буфера
- Опустошение буфера
- Круговой буфер
- Дисковый буфер
- Потоковое мультимедиа
- Буфер кадра для использования в графическом отображении
- Двойная буферизация и тройная буферизация для методов, в основном графических.
- Буфер глубины , буфер трафарета , для различных частей информации изображения.
- Буфер переменной длины
- Оптический буфер
- ОтсутствуетНет. , результат того, что данные буфера не очищаются должным образом в Pokémon Red and Blue.
- UART-буфер
- ENOBUFS , ошибка POSIX, вызванная нехваткой памяти в буферах
- Буфер записи , тип буфера памяти.
- Нулевая копия
- 512 тыс. дней
Ссылки [ править ]
- ^ https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/82576eb-gigabit-ethernet-controller-datasheet.pdf
- ^ «Руководство по техническому обслуживанию SEAC: Outscriber» (PDF) . Отчет Национального бюро стандартов . 2794 . Июль 1953 г. Архивировано из оригинала (PDF) 15 февраля 2020 г. Проверено 13 июля 2017 г.