Bufor (programowanie)
Z Wikipedii
Bufor to obszar pamięci służący do przechowywania danych do komunikacji pomiędzy dwoma systemami, np. bufor karty sieciowej przechowuje pakiety, które mają zostać wysłane, a bufor karty graficznej – to co ma zostać wyświetlone na ekranie.
Bufory umożliwiają asynchroniczną komunikację między systemami.
W niektórych językach programowania, np. w PHP, są funkcje, które działają jedynie przed wysłaniem czegokolwiek do odbiorcy. Jeśli potrzebne jest wywołanie funkcji po wysłaniu informacji do odbiory z pomocą przychodzi bufor. Podczas kompilacji zbiera wszystkie informacje wysyłane do odbiorcy i zapamiętuje je, a następnie pod sam koniec skryptu wyświetla zebrane informacje.
Źle zaimplementowany bufor może posłużyć do ataku zwanego buffer overflow, który może doprowadzić do zawieszenia systemu, przejęcia nad nim kontroli, utraty informacji.
Bufory występują również w przenośnych odtwarzaczach CD. Płyta CD w takim urządzeniu nie jest stabilna, co skutkuje przerwami w odczycie danych z płyty. Przerwom w odtwarzaniu dźwięku zapobiega bufor, który przechowuje odczytane z wyprzedzeniem fragmenty nagrania. W momencie zerwania kontaktu pomiędzy głowicą odczytującą a płytą CD do odtworzenia przesyłane są dane z bufora.
Podobny mechanizm stosowany jest w odtwarzaczach MP3, bowiem nie da się dokładnie przewidzieć czasu dekodowania formatu MP3.
Zobacz też: