원형 버퍼 란?

순환 버퍼는 들어오는 정보를 저장하는 데 사용되는 일종의 하드웨어 회로 또는 컴퓨터 메모리 영역입니다. 고정 크기 버퍼이며 마치 한쪽 끝에서 다른 쪽 끝으로 연결된 것처럼 버퍼를 사용하는 데이터 구조로 이해 될 수 있습니다. 원형 모양을 나타 내기 때문에 원형 버퍼라고합니다. 버퍼가 가득 찼을 때 더 많은 정보를 추가하면 버퍼에 저장된 첫 번째 요소를 덮어 씁니다. 링 버퍼 또는 순환 버퍼라고도합니다.

순환 버퍼를 이해하는 쉬운 방법은 버스 정류장에서 라인을 상상하는 것입니다. 데이터는 항상 라인의 한쪽 끝에 추가되며 항상 다른 쪽 끝에서 제거됩니다. 라인의 헤드는 항상 정보가 추가되는 슬롯입니다. 줄의 끝은 정보가 제거되는 곳입니다. 버퍼는 실제로 메모리 블록 일 뿐이지 만 테일과 헤드는 이러한 유형의 버퍼에서 구현에서 서로 옆에있는 것처럼 보입니다. 그러나 버스 스테이션의 회선과 달리 버퍼의 크기는 고정되어 있으며 특정 최대 용량을 갖습니다.

즉, 버퍼가 가득 차면 헤드에서 데이터를 덮어 쓰기 시작합니다. 버퍼의 최대 용량은 미리 설정해야하며이 숫자는 언제든지 변경 될 수 있지만 버퍼에있는 모든 기존 데이터는 손실됩니다. 일반적으로 순차 프로세스는 순환 버퍼를 사용하여 정보를 교환하고 한 프로세스에서 입력 한 데이터는 다른 프로세스에서 읽습니다. 생산자라고하는 첫 번째 프로세스는 데이터를 버퍼에 저장하고 두 번째 프로세스 (소비자라고 함)는이를 제거합니다. 루틴은 또한 데이터를 임시로 저장하기 위해 순환 버퍼를 사용합니다.

순환 버퍼의 가장 유리한 속성은 데이터를 저장하는 방식입니다. 줄 끝의 객체가 제거 될 때 데이터가 섞이지 않습니다. 버퍼가 비 원형 인 경우, 버퍼에 존재하는 모든 데이터 요소는 데이터가 제거 될 때 위치를 이동해야합니다. 원형 버퍼는 FIFO (First In First Out) 유형의 버퍼로 생각할 수 있지만 표준 버퍼는 LIFO (Last In First Out) 유형의 버퍼와 유사합니다.

순환 버퍼는 인접한 메모리 영역에 데이터를 저장하기 때문에 데이터에 빠르게 액세스 할 수 있습니다. 이 유형의 버퍼는 디버깅하기 쉽고 매우 효율적입니다. 특정 수의 마지막 포함 데이터를 저장하기위한 캐시 영역으로 사용됩니다. 또한 양쪽 끝에서 데이터를 매우 빠르게 삽입 및 제거 할 수있어 여러 응용 분야에 이상적입니다.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?