Кіріспе
Деректерді беру кезінде уақытша пайдаланылатын жад. Компьютерлік ғылымда дерек буфері (немесе просто буфер) – деректерді бір жерден екінші жерге жылжыту кезінде уақытша сақтауға арналған жад аймағы. Әдетте, деректер буферде кіріс құрылғысынан (мысалы, микрофоннан) алынған кезде немесе шығыс құрылғысына (мысалы, динамиктерге) жіберілгенге дейін сақталады. Алайда, буфер компьютер ішіндегі процестер арасында деректер жылжығанда да қолданылуы мүмкін. Бұл телекоммуникациядағы буферлермен салыстыруға болады. Буферлер аппараттық құралда белгілі бір жад орнында немесе бағдарламалық жасақтамада физикалық жад орнына сілтеме жасайтын виртуалды дерек буфері арқылы іске асырылуы мүмкін. Барлық жағдайларда, дерек буферінде сақталған деректер физикалық жад құрылғысында сақталады. Көптеген буферлер бағдарламалық жасақтамада іске асырылады, олар әдетте уақытша деректерді сақтау үшін жылдам RAM-ды пайдаланады, себебі қатты дискілермен салыстырғанда жадқа қол жеткізу уақыты әлдеқайда жылдам. Буферлер әдетте деректерді қабылдау және өңдеу жылдамдықтары арасындағы айырмашылық болғанда немесе бұл жылдамдықтар өзгермелі болған жағдайда қолданылады, мысалы, принтердің кезектеу жүйесінде немесе онлайн бейне ағынында. Бөлінген есептеу ортасында дерек буфері көбінесе жарылыс буфері түрінде іске асырылады, ол бөлінген буферлік қызметті ұсынады. Буфер көбінесе жадыда кезек (немесе FIFO) алгоритмін іске асыру арқылы уақытты реттейді, деректерді бір жылдамдықпен кезекке жазып, оны басқа жылдамдықпен оқиды.
In computer science, a data buffer (or just buffer) is a region of a memory used to store data temporarily while it is being moved from one place to another. Typically, the data is stored in a buffer as it is retrieved from an input device (such as a microphone) or just before it is sent to an output device (such as speakers). However, a buffer may be used when data is moved between processes within a computer. That is comparable to buffers in telecommunication. Buffers can be implemented in a fixed memory location in hardware or by using a virtual data buffer in software that points at a location in the physical memory. In all cases, the data stored in a data buffer are stored on a physical storage medium. A majority of buffers are implemented in software, which typically use the faster RAM to store temporary data because of the much faster access time compared with hard disk drives. Buffers are typically used when there is a difference between the rate at which data is received and the rate at which it can be processed, or in the case that these rates are variable, for example in a printer spooler or in online video streaming. In the distributed computing environment, data buffer is often implemented in the form of burst buffer, which provides distributed buffering service. A buffer often adjusts timing by implementing a queue (or FIFO) algorithm in memory, simultaneously writing data into the queue at one rate and reading it at another rate.
Қолданбалар
Буферлер көбінесе аппараттық құрылғылармен, мысалы, дискілік жектермен, желіге дерек жіберу немесе қабылдау, немесе динамикте дыбыс шығару сияқты I/O операцияларымен бірге қолданылады. Әдеміпарктегі аттракционға баруға арналған кезек осыған ұқсас. Аттракционға келушілердің саны белгісіз және көбінесе өзгеріп отырады, бірақ аттракцион адамдарды партияларға бөліп (келгенде және жүктелгенде) мінгізе алады. Кезек аймағы – бұл уақытша кеңістік, онда аттракционмен жүргісі келетіндер аттракцион бос болғанша күтеді. Буферлер әдетте FIFO (бірінші кірген, бірінші шықты) әдісімен қолданылады, деректерді түскен ретімен шығарады. Буферлер физикалық дискіге қол жеткізу үшін аппараттық үзілістерді күтудің орнына, файлды оқу немесе жазу сияқты синхронды операцияларды жылдам аяқтауға мүмкіндік беру арқылы қосымшаның өнімділігін арттыра алады. Оның орнына операциялық жүйе API шақырудан дереу сәтті нәтиже бере алады, бұл ядро дискідегі операцияны аяқтағанда қосымшаның өңдеуді жалғастыруына мүмкіндік береді. Егер қосымша дискілік жүйенің блок өлшеміне сәйкес келмейтін кішкентай дерек блоктарын оқып немесе жазып жатса, қосымша пайда алуға болады, себебі буфер көптеген кішкентай оқу немесе жазу операцияларын дискілік жүйе үшін тиімді блок өлшемдеріне біріктіруге немесе оқу жағдайында дискіге физикалық түрде қол жеткізу қажеттігін толығымен болдырмауға мүмкіндік береді.
Мысалдар
CONFIG-тағы BUFFERS командасы/мәлімдемесі. DOS жүйесінің CONFIG.SYS файлында. Сериялық порт (UART) мен модем арасындағы буфер. COM портының жылдамдығы 38400 бит/с болса, модемнің жылдамдығы 14400 бит/с болуы мүмкін. Қатты дискіде, қатты күйдегі дискіде немесе BD/DVD/CD дискідегі кіріктірілген дискілік буфер. Ethernet адаптеріндегі кіріктірілген SRAM буфері. Видеокартадағы кадр буфері.