Под буфером обычно понимается некоторая область памяти для запоминания информации при обмене данных между двумя устройствами, двумя процессами или процессом и устройством.
Три причины буферизации:
1)разные скорости приема и передачи информации, которыми обладают участники обмена.
2)разные объемы данных, которые могут быть приняты или получены участниками обмена единовременно.
3) необходимость копирования информации из приложений, осуществляющих ввод-вывод, в буфер ядра операционной системы и обратно
Под словом кэш (cache – "тайник, запас") обычно понимают область быстрой памяти, содержащую копию данных, расположенных где-либо в более медленной памяти, предназначенную для ускорения работы вычислительной системы.
Буфер часто содержит единственный набор данных, существующий в системе, в то время как кэш по определению содержит копию данных, существующих где-нибудь еще. Например, буфер, используемый базовой подсистемой для копирования данных из пользовательского пространства процесса при выводе на диск, может в свою очередь применяться как кэш для этих данных, если операции модификации и повторного чтения данного блока выполняются достаточно часто.