Buffering of Blocks | DBMS

Here, we are going to learn about the buffering of blocks in the database management system (DBMS).
Submitted by Diksha Tewari, on November 07, 2018

When several blocks need to be transferred from disk to main memory and all the block addresses are known, several buffers can be reserved in main memory to speed up the transfer.

When one buffer is being used for reading or writing, at that time the CPU can process data in the other buffer because an independent disk (I/O) processor (controller) exists when once it started it can proceed to transfer a block of data between memory and disk independent of and in parallel to CPU processing.

How two processed in parallel are shown in the following figure?

Buffering of blocks

In the above figure Processes, A and B are running concurrently in an interleaved fashion whereas processes C and D are running concurrently in a parallel fashion.

When single processes control multiple processes,parallel execution is not possible.

However, the process can still run concurrently in an interleaved way. Buffering is most useful when processes can run concurrently in parallel fashion, either because a separate disk I/O processor is available or because multiple CPU processors exist.

The following figure basically illustrates how reading and processing can proceed in parallel when the time required to process a disk block in memory is less than the time required to read the next block and fill a buffer.

Buffering of blocks 1

Processing of CPU starts when the transfer of a block of data to main memory is completed and at the same time next block where the disk I/O processor reading or writing will transfer this block to the different buffer.

This technique is basically known as Double Buffering and it is basically used to read a continuous stream of blocks of data from disk to memory.

Double Buffering permits continuous reading or writing of data on consecutive disk on consecutive disk blocks, which eliminates the seek time and rotational delay for all but the first block transfer.

The most important thing in this is that the data is always ready for processing which helps in reducing the waiting time.

Related Tutorials


Comments and Discussions!

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.