tion was first accessed typically it is more important to know how many times the information has been accessedor how recently the information was last accessed another approach is called "least frequently used(lfulfu tracks the number of accesses to each buffer in the buffer pool when buffer must be reusedthe buffer that has been accessed the fewest number of times is considered to contain the "least importantinformationand so it is used next lfuwhile it seems intuitively reasonablehas many drawbacks firstit is necessary to store and update access counts for each buffer secondwhat was referenced many times in the past might now be irrelevant thussome time mechanism where counts "expireis often desirable this also avoids the problem of buffers that slowly build up big counts because they get used just often enough to avoid being replaced an alternative is to maintain counts for all sectors ever readnot just the sectors currently in the buffer pool the third approach is called "least recently used(lrulru simply keeps the buffers in list whenever information in buffer is accessedthis buffer is brought to the front of the list when new information must be readthe buffer at the back of the list (the one least recently usedis taken and its "oldinformation is either discarded or written to diskas appropriate this is an easily implemented approximation to lfu and is often the method of choice for managing buffer pools unless special knowledge about information access patterns for an application suggests special-purpose buffer management scheme the main purpose of buffer pool is to minimize disk / when the contents of block are modifiedwe could write the updated information to disk immediately but what if the block is changed againif we write the block' contents after every changethat might be lot of disk write operations that can be avoided it is more efficient to wait until either the file is to be closedor the buffer containing that block is flushed from the buffer pool when buffer' contents are to be replaced in the buffer poolwe only want to write the contents to disk if it is necessary that would be necessary only if the contents have changed since the block was read in originally from the file the way to insure that the block is written when necessarybut only when necessaryis to maintain boolean variable with the buffer (often referred to as the dirty bitthat is turned on when the buffer' contents are modified by the client at the time when the block is flushed from the buffer poolit is written to disk if and only if the dirty bit has been turned on modern operating systems support virtual memory virtual memory is technique that allows the programmer to pretend that there is more of the faster main memory (such as ramthan actually exists this is done by means of buffer pool