티스토리 뷰

                         DATABASE BUFFER CACHE


DATABASE BUFFER CACHE

DATA를 파일에서 BLOCK으로 복사해서 가져온 후 조회/변경 작업을 하는 공간


DBC 상태 3 가지 분류 

이유 : 동시에 하나의 블록에 접근 시도하면 KERNEL PANINC 및 DATA 훼손가능

- PINNED BUFFER : 사용자가 현재 사용하고 있는 BUFFER BLCOK

- DIRTY BUFFER : 사용자 사용완료후 변경내용 저장 전

- FREE BUFFER : UNUSED 아니면 DIRTY BUFFER 였다가 저장 완료된 블록


DBC 상태 관리 리스트  : LRUW 와 LRU

- LRU LIST 

메인 리스트 : FREE BUFER LIST ( HOT 영역, COLD 영역)

보조 리스트 : FREE BUFFER LIST (UNUSED) , ( DBWR에 기록된)


- LRUW LIST

메인 리스트 : DIRTY BUFFER ( 변경된 버퍼들의 리스트

보조 리스트 : 현재 DBWR에 기록중인 BUFFER


리스트 참조 순서 :

DISK에서 DATA BLOCK 복사전, LRU LIST 보조리스트 참조 후 메인리스트 COLD 영역 참조, FREE BUFFER 못찾으면 SCAN멈추고 DBWR에게 요청


리스트 관리 :

리스트도 공유하는 자원이기 때문에 LATCH( 유한한 자원을 여러 프로세스 에서 공유를해서 사용하기위해 필요한 기술)를 이용한 관리.


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함