Bueno, primero y principal, las tareas las tenes que hacer solito...
Ahora, el concepto de buffer es muy simple: "es un área de memoria destinada a almacenar datos por un lapso de tiempo determinado". Un ejemplo de buffer es cuando declarás una variable para almacenar un String o algo así. Si bien se las conoce mejor como variables, nadie puede decir que no se trate de un buffer.
También se llama buffer a ciertos registros hardware que mantienen datos por períodos de tiempo como el Registro de Buffer de Memoria, que es el que se carga con una palabra de memoria cuando se trata de hacer una lectura y mantiene las líneas del bus de datos en un estado tal que refleje esa localidad de memoria hasta que haya sido leída por un registro de la ALU o la UC.
Espero que con esta corta explicación se te ilumine la lamparita, chaaauuuu!!!...