2nd Algorithm

Ahn9807 (토론 | 기여)님의 2023년 2월 11일 (토) 02:47 판 (새 문서: 분류: 메모리 관리 분류: 리눅스 커널 == 개요 == 어느 한 공간에 대한 접근이 있다는 것을 카운팅 하였을때, 1번 일어난다는 것은 2번 일어난 다는 것과 비교하여 많은 차이점이 있다. 1번 일어난다는 것은 메모리에 scan이라는 과정이 일어났다는 것을 의미하며, 2번 점근한다는 것은 메모리에 Access하였다는 것을 나타낸다는 가정을 할 수 있다. 따라서 1번 접근...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)


개요

어느 한 공간에 대한 접근이 있다는 것을 카운팅 하였을때, 1번 일어난다는 것은 2번 일어난 다는 것과 비교하여 많은 차이점이 있다. 1번 일어난다는 것은 메모리에 scan이라는 과정이 일어났다는 것을 의미하며, 2번 점근한다는 것은 메모리에 Access하였다는 것을 나타낸다는 가정을 할 수 있다. 따라서 1번 접근 보다 2번 접근이 이후에 더 많은 접근이 있을 수도 있다는 것을 나타낸 다는 것이다. 그러나 3번 접근은 그렇게 2번 접근과 비교하여 큰 의미적 차이를 가지지 않는다. 따라서 Eviction Policy를 만들때, 2nd 접근을 독특하게 취급해야 한다.

리눅스에서는 Active linked list와 Inactive linked list로 나누어서 관리한다. 만약 Page Evcition이 일어나면, Active linked list의 tail은 Inactive Linked List로 이동하게 된다. 만약 메모리 접근이 일어나면 그 페이지는 Active linked list의 top으로 일어난다. 그리고 Page Evcition은 Inactive linked list의 Tail에서 가져와서 수행하게 된다.