Linux의 Cache Buffer 관리 방식
페이지 정보
작성일 22-09-25 05:37
본문
Download : Linux의 Cache Buffer 관리 방식.hwp
200개만큼은 buffer로 사용하지 않는다. buffer head에는 해당 buffer의 정보와 다른 buffer와의 연결관계를 나타내는 정보를 가지고 있다 buffer head의 크기는 48byte로서 1page에 85개가 들어갈 수 있다
buffer head 구조체는 그림<1.1>과 같다.2... , Linux의 Cache Buffer 관리 방식기타레포트 ,
순서
buffer_init
1) 4M이상이면 min_free_page를 200으로 잡는다. 200개만큼은 buffer로 사용하지 않는다.
Linux의 Cache Buffer 관리 방식
1) 4M이상이면 min_free_page를 200으로 잡는다. block size는 system마다 차이가 있을 수 있으나, 리눅스에서는 1 kbyte를 사용한다.
3) grow_buffer
buffer를 확보한다.
2) hash_table을 0으로 초기화한다.
<그림 1.1> Buffer 초기화 상태
get_free_page시 초기에는 메모리의 뒤편에 있는 free page를 먼저 가진다.
struct buffer_head {
char * b_data; /* pointer to data block (1024 bytes) */
unsigned long b_size; /* block size */
unsigned long b_blocknr; /* block number */
dev_t b_dev; /* device (0 = free) */
unsigned short b_count; /* users using this block */
unsigned char b_uptodate;
unsigned char b_dirt; /* 0-clean,1-dirty */
unsigned char b_…(생략(省略))
다.
설명
Download : Linux의 Cache Buffer 관리 방식.hwp( 66 )
레포트/기타
,기타,레포트
buffer_init
2...






buffer_init1) 4M이상이면 min_free_page를 200으로 잡는다. 먼저 get_free_page로 page를 2개 얻어서 그림<1.1>과 같이 초기화한다. 200개만큼은 buffer로 사용하지 않는다.
얻은 2개의 page는 data가 들어갈 실제 buffer를 위한 page와 각 buffer에 대한 정보가 들어갈 buffer head를 위한 page로 구분된다 1 page는 4개의 buffer(1 block 크기)로 나눈다.