오늘 알아볼 내용은 캐시와 버퍼의 개념입니다.
캐시(Cache)
캐시는 속도가 빠른 장치와 느린 장치 사이에서 속도차이에 따른 병목현상을 줄이기 위한 범용 시스템을 말합니다.
빠른 장치에서는 미리 데이터를 받아놓은 뒤, 느린 장치에 바로 데이터를 가져올 수 있고, 반대로 느린 장치에 대해서는 빠른 장치가 대신 데이터를 받아 저장한 후, 이후에 한 번에 저속의 기기에 저장하여 병목현상을 줄일 수 있다.
(빠른 장치:CPU / 느린 장치:메인 메모리)
캐시의 특징
- 저장공간이 작고 비용이 비쌈
- 빠른 성능을 제공
- 프로그램에서 직접적으로 읽을 수 없음
버퍼(Buffer)
(CPU가 연산하는 과정에서 언급되는 버퍼는 메모리 내의 버퍼 영역을 말한다)
버퍼는 두 장치 간에 입출력 속도차이로 인한 처리지연을 방지하기 위한 개념을 의미한다.
CPU와 디스크의 데이터 처리속도가 달라 CPU는 디스크의 데이터가 처리될 때까지 대기 및 지연된다. 이에 따라 연산속도는 느려지게 되며 연산속도를 제대로 활용할 수 없다.
이러한 현상을 줄여주는 것이 버퍼의 역할이라 할 수 있으며 CPU는 버퍼가 디스크로부터 지속적으로 데이터를 받아 적재를 하기 때문에 그동안 연산공간을 다른 연산작업에 사용할 수 있으며, 각 요소들이 대기시간으로 인한 성능지연 없이 사용할 수 있다.
버퍼의 특징
- 사용 후에 데이터를 폐기
- 데이터를 전송하는 동안 일시적으로 데이터를 보관하는 메모리 영역
- 처리하는데 필요한 리소스 크기가 캐시에 비해 큰 편
캐시와 버퍼의 차이점
버퍼는 일반적으로 캐시에 비하여 처리크기가 크기 때문에 데이터를 저장할 수 없다.
캐시메모리에 연산이 끝난 해당 데이터를 저장하여 이후에도 계속 사용할 수 있지만, 버퍼는 한 번의 연산이 끝나게 되면 사용된 데이터는 폐기된다.
출처:
'OS' 카테고리의 다른 글
리눅스 기본 명령어 (1) | 2023.11.20 |
---|---|
파일 시스템 (0) | 2023.11.14 |
메모리 관리 (1) | 2023.11.12 |
프로세스와 스레드 (0) | 2023.11.09 |
컴퓨터 구조의 시작 (0) | 2023.11.08 |