본문 바로가기
공부/Database

[Database] 더블 버퍼링 (double buffering)

by 웅대 2022. 11. 23.
728x90
반응형

  1. Program space : cpu가 사용
  2. I/O space : 버퍼 관리자가 사용

디스크 속의 블록을 읽거나 쓰는 과정은 먼저 디스크에서 I/O space의 버퍼로 블록을 가져온다.

 

그리고 I/O space의 버퍼에 있는 것을 Program space로 가져와서 사용한다.

 

더블 버퍼링의 뜻은 버퍼가 두 개가 있다는 뜻이다.

 

더블 버퍼링을 사용할 경우 cpu가 I/O space의 한 버퍼를 사용중일 때 다른 버퍼는 디스크 안의 블록을 가져온다.

 

이런 식으로 교대로 동작하기 때문에 효율이 높아진다.

 

pin-count : 현재 버퍼를 사용하고 있는 프로세서의 개수

dirty-bit : 비트의 업데이트 여부

 

버퍼 교체 전략

  1. LRU(Least recently used) : 가장  최근에 잘 안 쓰인 것
  2. MRU(Most recently used) : 가장 최근에 잘 쓰인 것
  3. clock policy : 순서대로
  4. FIFO(First-In-First-Out) : 처음 사용된 것부터
728x90
반응형

댓글