stringtranslate.com

Буфер данных

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

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

Буфер часто регулирует синхронизацию, реализуя алгоритм очереди (или FIFO ) в памяти, одновременно записывая данные в очередь с одной скоростью и считывая их с другой скоростью.

Приложения

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

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

Телекоммуникационный буфер

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

Буферы используются для многих целей, в том числе:

Примеры

История

Одним из первых упоминаний о буфере печати является «Outscriber», разработанный пионером обработки изображений Расселом А. Киршем для компьютера SEAC в 1952 году: [2]

Одной из важнейших проблем в проектировании автоматических цифровых компьютеров является получение вычисленных результатов из машины достаточно быстро, чтобы избежать задержки дальнейшего хода вычислений. Во многих задачах, для решения которых применяется универсальный компьютер, объем выходных данных относительно велик — настолько велик, что серьезная неэффективность возникла бы, если бы компьютер ждал, пока эти данные будут напечатаны на существующих печатающих устройствах. Эта трудность была решена в SEAC путем предоставления устройств магнитной записи в качестве выходных устройств. Эти устройства способны получать информацию от машины со скоростью, в 100 раз превышающей скорость работы электрической пишущей машинки. Таким образом, достигается более высокая эффективность при записи выходных данных; транскрипция может быть выполнена позже с устройства магнитной записи на печатающее устройство без привязки к основному компьютеру.

Смотрите также

Ссылки

  1. ^ https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/82576eb-gigabit-ethernet-controller-datasheet.pdf
  2. ^ "SEAC Maintenance Manual: The Outscriber" (PDF) . Отчет Национального бюро стандартов . 2794 . Июль 1953 г. Архивировано из оригинала (PDF) 2020-02-15 . Получено 2017-07-13 .