opróżnieniem bufora - Buffer underrun

W komputerowych , przeciwnajazdowa bufor lub niedomiaru bufora jest stan występuje gdy bufor stosowany do komunikacji między dwoma urządzeniami lub procesów jest zasilany danych z mniejszą prędkością niż dane są odczytywane z niego. (Termin ten różni się od przepełnienia bufora , w stanie, w którym część pamięci używanej jako bufor ma stały rozmiar, ale są wypełnione tylko tyle, ile danych). Wymaga to program lub urządzenie do odczytu z bufora wstrzymanie jego przetwarzanie a wkłady bufor. Może to powodować niepożądane i niekiedy poważne skutki uboczne, ponieważ dane są buforowane na ogół nie nadaje się do zatrzymania uruchomić dostęp tego rodzaju.

W zakresie programowania współbieżnego , błąd opróżnienia bufora mogą być uważane za formę głodu zasobów .

Wjechaniem bufor warunki i bufor niedomiar wykorzystywane są również oznaczać bufor gwarantować , stan podobny do przepełnienia bufora, ale gdzie program jest nabrać na piśmie przed rozpoczęciem bufora, nadrzędnymi potencjalnych danych tam, jak bity uprawnień .

Ogólne przyczyny i rozwiązania

Buforowe opróżnieniu są często wynikiem przejściowych problemów związanych z połączenia , które jest buforowany: albo połączenia między dwoma procesami, z innych konkurencyjnych dla procesora czasie lub fizyczne połączenie z urządzeniami, konkurujących o przepustowości .

Najprostszym ochrony przed takich problemów jest to, aby zwiększyć rozmiar bufora, w przypadku połączenia przychodzącego strumienia danych muszą być odczytane na 1 bit na sekundę, bufor z 10 bitów, by umożliwić połączenie blokowane przez 10 sekund, po czym w przypadku braku, natomiast jedna z 60 bitów, by umożliwić zablokowanie do minutę. Jednakże, wymaga to dodatkowej pamięci w dyspozycji sposobu i urządzenia, które mogą być kosztowne. Zakłada ona, że bufor zaczyna pełen wymagających potencjalnie znaczącą pauzę, zanim proces czytania zaczyna, i że będzie on zawsze pozostanie pełna, chyba że gra jest obecnie zablokowana. Jeśli dane nie średnio przybywają szybciej niż jest to konieczne, wszelkie blokady na połączenia będzie skumulowane; „spadku” jeden bit w każdej minucie hipotetycznego związku z bufora 60-bitowym może prowadzić do opróżnienia bufora jeśli połączenie pozostaje aktywny przez godzinę. W zastosowaniach, w czasie rzeczywistym, duży rozmiar bufora zwiększa opóźnienie pomiędzy wejście i wyjście, które jest niepożądane w zastosowaniach o niskim opóźnieniu, takich jak wideokonferencji.

Zagadnienia nagrywania płyt CD i DVD

Opróżnieniu bufora może spowodować poważne problemy podczas wypalania płyt CD / DVD , ponieważ po uruchomieniu pisanie, to nie można zatrzymać i wznowić bez zarzutu; zatem przerwa potrzebna przez wjechaniem może spowodować, że dane na dysku, aby stać się nieważne. Ponieważ bufor jest zazwyczaj są wypełnione ze stosunkowo powolne źródła, takiego jak dysk twardy lub inną płytę CD / DVD, ciężkim obciążeniu procesora lub pamięci z innych zadań jednocześnie łatwo wyczerpać możliwości małego bufora. Dlatego technika zwana bufor zabezpieczenie pojazdu został wdrożony przez różnych sprzedawców indywidualnych nagrywarki CD / DVD, pod różnymi nazwami handlowymi , takimi jak Plextor burnproof, Nero UltraBuffer, Yamaha SafeBurn, JustLink i Seamless Link. Dzięki tej technice, laser jest rzeczywiście w stanie zatrzymać pisanie dla dowolnej ilości czasu i wznowione, gdy bufor jest znowu pełna. Szczelina pomiędzy kolejnymi zapisów jest bardzo niewielka.

Innym sposobem ochrony przed problemem, przy użyciu nośników wielokrotnego zapisu ( CD-RW , DVD-RW , DVD-RAM ), jest skorzystanie z UDF system plików, który organizuje dane w mniejszych „ pakietów ” odwołuje się jednym, zaktualizowanego adresu stół, który może zostać napisany w krótkich seriach.

odtwarzania multimediów

Jeżeli bufor ramki z kontrolerem graficznym nie jest aktualizowana, obraz na ekranie komputera pojawi się powiesić aż bufor otrzymuje nowe dane. Wiele programów Odtwarzacz wideo (np MPlayer ) posiadają zdolność do spadku klatek czy system jest przeciążony, celowo umożliwiając wjechaniem bufor do utrzymania tempa.

Bufor w sterownik dźwięku jest bufor pierścieniowy . Jeśli wystąpi przed wjechaniem pod pojazd i kontroler audio nie jest zatrzymany, będzie to albo powtarzać dźwięk zawarty w buforze, lub wyjście cisza w zależności od implementacji. Efekt taki jest powszechnie określany jako „maszynowego” lub Max Headroom efekt jąkania. Dzieje się tak wtedy, gdy system operacyjny zawiesza się podczas odtwarzania dźwięku. Obsługi błędów rutyna (np niebieski ekran śmierci ) może w końcu przestać kontroler audio.

Referencje