Linux buffers are implemented in memory to improve I/O performance by reducing direct disk access and the buffer cache stores block device data, while the page cache handles file data. Linux OS uses structures like "buffer_head" and "page" in the kernel to manage these buffers. Data in buffers is flushed to disk by background processes like "pdflush" or "flush-kthreads"