Rmap at 40K Feet (1)
역(거꾸로) 매핑이 무엇일까요? 우선 가상 주소로 부터 물리 주소로 변환하는 ( Page Directory -> ... -> PTE -> PFN) "(포워드) 매핑"을 반대로 하는 것이에요! 즉, 역 매핑은 물리 주소(PFN)로 부터 가상 주소(각 태스크 마다 각자 매핑한)로 변환(Translation)하는 것을 말해요. 잠깐, 매핑을 추가로 더 한다면, 메모리 상용 공간 절약의 측면에서도 오버헤드가 생기는 도입한 이유는 무엇일까요? 역 매핑은 모든 페이지 테이블 엔트리를 찾아 매핑을 제거할 때(이런 동작을 LWN 에서는 page out 작업이라고 합니다.) 빠르게 하기 위해서 사용해요. 메모리 관리 측면에서 신속하게 페이지를 해제하고, 해당 사용했던 페이지 프레임을 다른 용도 재활용하기 위해서에요. 필요한 물리 주소 영역을 빠른 응답으로 양도 할 수 있도록 절충한거죠! 자 그럼 이제 역 매핑이 어떠한 자료 구조들에 의해서 수행할 수 있게 되는지