Linux의 Cache Buffer 관리 방식
페이지 정보
작성일 22-10-28 17:54
본문
Download : Linux의 Cache Buffer 관리 방식.hwp
다.
2) hash_table을 0으로 초기화한다. 200개만큼은 buffer로 사용하지 않는다. block size는 system마다 차이가 있을 수 있으나, 리눅스에서는 1 kbyte를 사용한다.
3) grow_buffer
buffer를 확보한다.
<그림 1.1> Buffer 초기화 상태
get_free_page시 초기에는 메모리의 뒤편에 있는 free page를 먼저 가진다. 200개만큼은 buffer로 사용하지 않는다. 200개만큼은 buffer로 사용하지 않는다. buffer head에는 해당 buffer의 정보와 다른 buffer와의 연결관계를 나타내는 정보를 가지고 있다아 buffer head의 크기는 48byte로서 1page에 85개가 들어갈 수 있다아
buffer head 구조체는 그림<1.1>과 같다. 먼저 get_free_page로 page를 2개 얻어서 그림<1.1>과 같이 초기화한다. 1 page는 4개의 buffer(1 block 크기)로 나눈다.
얻은 2개의 page는 data가 들어갈 실제 buffer를 위한 page와 각 buffer에 대한 정보가 들어갈 buffer head를 위한 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( 31 )






순서
Linux의 Cache Buffer 관리 방식
1) 4M이상이면 min_free_page를 200으로 잡는다.2... , Linux의 Cache Buffer 관리 방식기타레포트 ,
레포트/기타
2...
설명
buffer_init
1) 4M이상이면 min_free_page를 200으로 잡는다.
buffer_init
,기타,레포트
buffer_init1) 4M이상이면 min_free_page를 200으로 잡는다.