내용 : 버퍼링 대 캐싱
- 비교 차트
- 정의
- 주요 차이점
- 결론
비교 차트
비교의 근거 | 버퍼링 | 캐싱 |
---|---|---|
기본 | 버퍼링은 데이터 스트림의 발신자와 수신자 사이의 속도와 일치합니다. | 캐싱은 반복적으로 사용되는 데이터의 액세스 속도를 고정시킵니다. |
백화점 | 버퍼는 데이터의 원본 사본을 저장합니다. | 캐시는 원본 데이터의 복사본을 저장합니다. |
위치 | 버퍼는 기본 메모리 (RAM)의 영역입니다. | 캐시는 프로세서에 구현되어 RAM 및 디스크에서도 구현 될 수 있습니다. |
버퍼링의 정의
버퍼링은 주 메모리 (RAM)의 한 영역으로 두 장치간에 또는 장치와 응용 프로그램간에 데이터를 전송할 때 임시로 저장합니다. 버퍼링은 데이터 스트림 의 발신자와 수신자 간의 속도 를 일치시키는 데 도움이됩니다. 보낸 사람의 전송 속도가 수신기보다 느리면 수신기의 주 메모리에 버퍼가 만들어지고 보낸 사람으로부터받은 바이트가 누적됩니다. 데이터의 모든 바이트가 도착하면 수신기가 작동 할 수있는 데이터를 제공합니다.
버퍼링은 송신자와 수신자가 서로 다른 데이터 전송 크기를 갖는 경우 에도 도움이 됩니다. 컴퓨터 네트워킹에서 버퍼는 데이터의 단편화 및 재구성 에 사용됩니다. 송신 측에서는 큰 데이터가 작은 패킷으로 분할되어 네트워크를 통해 전송됩니다. 수신 측에서는 모든 데이터 패킷을 수집하고 재구성하여 대용량 데이터를 다시 작성하는 버퍼가 생성됩니다.
버퍼링 은 응용 프로그램 I / O에 대한 복사 의미를 지원합니다. 복사 시맨틱은 응용 프로그램에 하드 디스크에 기록 할 데이터 버퍼가 있다고 가정 할 경우 예를 들어 설명 할 수 있습니다. 이를 위해 응용 프로그램은 write () 시스템 호출을 호출합니다. 이제 응용 프로그램이 시스템 호출이 반환되기 전에 버퍼 데이터를 변경한다고 가정합니다. 이 경우 복사 기능은 시스템 호출시 데이터 버전을 제공합니다.
버퍼는 세 가지 용량으로 구현됩니다.
Zero Capacity : 최대 버퍼 메모리 크기는 0입니다. 데이터를 포함 할 수 없으므로 수신자가 데이터를 수신 할 때까지 송신자를 차단해야합니다.
제한 용량 : 여기서 버퍼 메모리 크기는 유한합니다. max에서 보낸 사람은 n 블록의 데이터를 보낼 수 있습니다. 버퍼 메모리가 가득 차면 송신자는 메모리에서 사용 가능한 공간이 확보 될 때까지 차단됩니다.
무제한 용량 : 버퍼 메모리는 잠재적으로 무한대입니다. 임의의 수의 데이터 블록을 전송할 수 있습니다. 보낸 사람이 차단되지 않습니다.
캐싱의 정의
캐시는 원본 데이터의 복사본 을 저장하는 프로세서에 구현 된 메모리입니다. 캐싱의 배경은 최근에 액세스 한 디스크 블록을 캐시 메모리에 저장하여 사용자가 다시 동일한 디스크 블록에 액세스해야 할 때 네트워크 트래픽을 피하기 위해 캐시 메모리를 통해 로컬로 처리 할 수 있도록하는 것입니다.
캐시 크기는 최근 사용한 데이터 만 포함하므로 제한됩니다. 캐시 파일을 수정하면 원본 파일에서 수정 내용을 볼 수 있습니다. 필요한 데이터가 캐시 메모리에없는 경우 다음에 데이터를 요청할 때 사용자가 사용할 수 있도록 데이터가 소스에서 캐시 된 메모리로 복사됩니다.
캐시 데이터는 디스크 캐시 가 신뢰할 수있는 장점이 있기 때문에 RAM 대신 디스크에 보관할 수도 있습니다. 시스템이 손상된 경우 캐시 된 데이터는 디스크에서 계속 사용할 수 있습니다. 그러나 데이터는 RAM과 같은 휘발성 메모리에서 손실 될 수 있습니다. 그러나 캐시 된 데이터를 RAM 에 저장하는 한 가지 이점은 빠른 액세스가 가능하다는 것입니다.
OS의 버퍼링과 캐싱 간의 주요 차이점
- 버퍼와 캐시의 주요 차이점은 버퍼 메모리가 데이터 스트림의 송신자와 수신자 사이의 다른 속도에 대처하는 데 사용되는 반면 캐시는 반복적으로 사용되는 데이터에 대해 액세스 속도를 고정 할 수 있도록 데이터를 저장하는 메모리입니다 .
- 버퍼는 항상 원래 데이터 를 수신기로 전송합니다. 그러나 캐시에는 원본 데이터 의 복사본이 있습니다 .
- 버퍼는 항상 주 메모리 (RAM)에 구현되지만 캐시는 디스크 뿐만 아니라 RAM 에서도 구현할 수 있습니다.
결론:
버퍼링 및 캐싱 모두 데이터를 임시로 저장하지만 둘 다 다른 용도로 사용됩니다. 여기서 버퍼는 두 통신 장치 간의 속도와 일치하며 캐시는 방문한 데이터에 대한 액세스를 고정시킵니다.