나는 어디에서나 "BUFFER" 라는 단어를 보았지만 그것이 정확히 무엇인지 이해할 수는 없습니다.
- 아무도 평신도 언어의 버퍼가 무엇인지 설명해 주시겠습니까 ?
- 언제 사용됩니까?
- 어떻게 사용 되나요?
나는 어디에서나 "BUFFER" 라는 단어를 보았지만 그것이 정확히 무엇인지 이해할 수는 없습니다.
답변:
그릇에서 사탕을 먹고 있다고 상상해보십시오. 정기적으로 한 장을 가져갑니다. 그릇이 떨어지지 않도록 다른 사람이 그릇을 비우기 전에 그릇을 채우면 다른 조각을 가져갈 때 그릇에 사탕이 생길 수 있습니다.
사발은 당신과 사탕 부대 사이에 완충 역할을합니다.
온라인으로 영화를보고있는 경우 웹 서비스는 다음 5 분 동안 계속 버퍼로 다운로드합니다. 이렇게하면 컴퓨터에서 영화를보고있는 동안 컴퓨터가 영화를 다운로드 할 필요가 없습니다 (정지 될 수 있음).
"버퍼"라는 용어는 매우 일반적인 용어이며 IT 또는 CS에만 국한되지 않습니다. 입력 속도와 출력 속도의 차이를 완화하기 위해 임시로 무언가를 저장하는 장소입니다. 생산자는 소비자보다 빠르지 만 생산자는 버퍼에 출력을 계속 저장할 수 있습니다. 소비자가 속도를 높이면 버퍼에서 읽을 수 있습니다. 틈을 메우기 위해 버퍼가 중간에 있습니다.
http://en.wiktionary.org/wiki/buffer 에서 정의를 평균화 하면 아이디어를 얻을 것이라고 생각합니다.
우리가 실제로 "학교에 갈 때 매일 눈이 10 마일을 걸어야한다고 생각했다"는 증거 는 책갈피 11-24의 TOPS-10 모니터 호출 매뉴얼 볼륨 1 , 섹션 11.9, "버퍼 I / O 사용 "을 참조하십시오 . 악몽을 겪고 있다면 읽지 마십시오.
버퍼는 단순히 데이터를 보유하는 데 사용되는 메모리 덩어리입니다. 가장 일반적인 의미에서, 일반적으로 한 번의 작업으로로드 된 다음 하나 이상의 Perchik의 "사탕 그릇"예에서 비워지는 단일 메모리 덩어리입니다. 예를 들어 C 프로그램에서 다음을 수행 할 수 있습니다.
#define BUFSIZE 1024
char buffer[BUFSIZE];
size_t len = ;
// ... later
while((len=read(STDIN, &buffer, BUFSIZE)) > 0)
write(STDOUT, buffer, len);
... 최소 버전의 cp (1) 입니다. 여기에서 버퍼 배열은 read (2) 가 읽을 때까지 읽은 데이터를 저장하는 데 사용됩니다 . 버퍼가 재사용됩니다.
보다 복잡한 버퍼 방식, 예를 들어 순환 버퍼 (circular buffer )가 있는데, 여기에는 몇 개의 유한 한 수의 버퍼가 사용됩니다. 버퍼가 모두 가득 차면 인덱스가 "랩핑"되어 첫 번째 버퍼가 재사용됩니다.
버퍼는 하드웨어 장치 또는 프로그램 프로세스가 공유하는 데이터 영역으로, 다른 속도로 또는 다른 우선 순위 세트로 작동합니다. 버퍼는 각 장치 또는 프로세스가 다른 장치에 의해 유지되지 않고 작동 할 수 있도록합니다. 버퍼를 유효하게하기 위해, 버퍼의 크기 및 버퍼 내외부로 데이터를 이동시키기위한 알고리즘.
버퍼는 "중간 유지 장소"이지만 별도의 활동 조정을 지원하기 위해 활동 속도를 가속화하지는 않습니다.
이 용어는 프로그래밍과 하드웨어 모두에서 사용됩니다. 프로그래밍에서 버퍼링은 최종 파일 또는 데이터베이스로 이동하기 전에 편집하거나 처리 할 수 있도록 최종 의도 된 위치에서 데이터를 스크리닝해야하는 경우가 있습니다.
버퍼는 데이터를 덤프 한 다음 처리 할 수있는 메모리 (ram / disk)의 임시 자리 표시 자 (많은 프로그래밍 언어의 변수)입니다.
"버퍼"라는 용어는 매우 일반적인 용어이며 IT 또는 CS에만 국한되지 않습니다. 입력 속도와 출력 속도의 차이를 완화하기 위해 임시로 무언가를 저장하는 장소입니다. 생산자는 소비자보다 빠르지 만 생산자는 버퍼에 출력을 계속 저장할 수 있습니다. 소비자가 속도를 높이면 버퍼에서 읽을 수 있습니다. 틈을 메우기 위해 버퍼가 중간에 있습니다.