728x90
반응형
● 다양한 캐싱 환경
Replacement 알고리즘은 가상 메모리 시스템에서만 사용되는 게 아니라 Caching이라는 다양한 곳에서 사용이 되고 있다.
한정된 빠른 공간에다 데이터를 저장해 놓고, 다음에 똑같은 요청이 왔을 때 느린 저장 장치까지 가지 않고 Cache로부터 바로 서비스를 한다. 속도가 더 빠르다.
✓ Paging System
- Paging System에서는 한정된 빠른 공간이 메인 메모리이고 느린 저장 장치가 Backing Store이다.
- 그래서 가능하면 물리적 메모리에서 서비스를 하며, 메모리에 올라와 있지 않을 때 (Page Fault)에만 Backing Store에서 읽어온다.
✓ Cache Memory
- CPU가 메모리에 접근할 때, 메모리에 직접 접근하는 게 아니라 CPU와 Main Memory 사이에 Cache Memory라는 좀 더 빠른 계층을 둔다.
- CPU가 Main Memory에 접근하기 전에 Cache Memory를 확인하여 요청된 내용이 있는지 살펴보고 없는 경우에만 Main Memory에 요청한다.
- Cache Memory 중 주소 변환을 위한 특유의 Cache Memory는 TLB라고 부른다.
✓ Buffer Caching
- Buffer Caching은 File System에 대한 Read/Write 요청을 메모리에서 빠르게 서비스하는 방식이다.
- Buffer Caching과 Paging System은 빠른 공간은 물리적 메모리로 동일하다.
- 느린 공간은 Paging System에서는 Disk Swap Area (Backing Store), Buffer Caching의 경우에는 File System에 해당한다.
✓ Web Caching
- 우리가 웹 페이지를 볼 때, 웹 페이지를 요청하면 웹 서버에서 그 페이지를 가져와 내 웹 브라우저에다 표시를 한다.
- URL을 이미 요청을 했는데 나중에 또 요청을 하면 시간이 오래 걸리기 때문에 이미 읽어온 웹 페이지를 저장해놨다가 화면에 보여준다.
→ Cache Memory와 Buffer Caching은 단일 시스템에서 저장 매체 간의 속도 차이 때문에 Caching을 한 경우고, Web Caching은 시스템이 다른 경우이다.
멀리 있는 컴퓨터에서 읽어오니까 시간이 걸리기 때문에 매번 읽어오는 게 아니라 동일한 내용이 이미 읽혀 있으면 내 컴퓨터에 저장된 내용을 보여준다.
Caching에서 Replacement Algorithm에 있어서 시간 제약 조건이 있다.
Cache 안에 n 개가 있는데, 어떤 걸 쫓아낼지 결정하려고 쭉 스캔하는 건 시간 복잡도가 O(n)으로 오버헤드가 매우 크다.
대부분의 Caching 환경에서는 시간 복잡도가 O(1), O(logn)까지만 허용한다.
728x90
반응형