리눅스 페이지 캐시에 대한 효율적인 관리 기법

An Efficient Management Scheme for Page Cache in Linux

  • 이명진 (한국정보통신대학원대학교) ;
  • 차현욱 (한국정보통신대학원대학교) ;
  • 이수인 (한국정보통신대학원대학교) ;
  • 이은규 (한국정보통신대학원대학교) ;
  • 김명철 (한국정보통신대학원대학교)
  • 발행 : 2000.10.01

초록

운영체제의 성능을 향상시키기 위해서는 효율적인 메모리 관리가 필수적이다. 시스템에서는 존재하는 크기의 메모리보다 더 큰 크기의 메모리 공간을 요구하는 경우가 빈번히 발생한다. 이 문제를 극복하기 위해서 운영체제에서는 가상 메모리(virtual memory)를 사용한다. 리눅스 가상 메모리 지원 방식에는 요구 페이징(demand paging), 스왑핑(swapping), 공유 가상 메모리(shared virtual memory)가 있다. 이런 방식을 효율적으로 지원하기 위해서 리눅스는 캐시를 사용한다. 본 논문에서는 페이지 해시 리스트에서 페이지를 찾는 알고리즘을 수정하여 새로운 페이지 캐시 관리 기법을 제안한다. 이 방법은 탐색한 페이지를 해시 리스트의 헤드(head)로 옮김으로써 다음 탐색 때 그 페이지를 찾는데 필요한 탐색 회수를 줄일 수 있다는 장점을 갖는다. 또한 다른 프로세스에 의해서 동시에 많이 참조되는 페이지들은 탐색시간이 줄어들게 된다. 시뮬레이션 프로그램을 통해 본 논문에서 제안한 수정된 페이지 캐시 관리 기법을 이용하면, 기존의 방법에 비해서 페이지를 찾는데 필요한 탐색 회수와 탐색 시간의 측면에서 성능이 향상됨을 보인다.

키워드