Paging Address Translation에 대해서
Author
운체만채
Date
2024-04-03 20:12
Views
105
------------------------------------------수업게시판 규칙------------------------------------------------
커뮤니티가 아닌 공적인 수업 게시판으로 서로 간의 예의를 지켜야 합니다.
비밀 게시물의 경우 확인하지 않고 답변해드리지도 않습니다.
----------------------------------------------------------------------------------------------------------
안녕하십니까. 운영체제 뒷분반 과목을 수강하고 있는 학부생입니다.
5주차 1차시 paging address 내용 중 궁금한 것이 생겨서 질문드립니다!
Virtual address (VPN + offset) 에서 Physical address (PFN + offset) 로 translation하고 나서 Physical address 로 실제 메모리에 접근하려면 PFN을 실제 메모리 주소로 바꾸어야 할 것 같은데 이 과정에서 한 번 더 translation이 일어나는지 궁금합니다. 그렇다면 PFN이 실제 메모리 주소의 어느부분에 해당하는지에 대한 table 이 따로 있는건가요?
혹시 Physical address의 해석은 HW에서 지원되는 부분이라서 CPU가 알아서 해석하는 건가요?
커뮤니티가 아닌 공적인 수업 게시판으로 서로 간의 예의를 지켜야 합니다.
비밀 게시물의 경우 확인하지 않고 답변해드리지도 않습니다.
----------------------------------------------------------------------------------------------------------
안녕하십니까. 운영체제 뒷분반 과목을 수강하고 있는 학부생입니다.
5주차 1차시 paging address 내용 중 궁금한 것이 생겨서 질문드립니다!
Virtual address (VPN + offset) 에서 Physical address (PFN + offset) 로 translation하고 나서 Physical address 로 실제 메모리에 접근하려면 PFN을 실제 메모리 주소로 바꾸어야 할 것 같은데 이 과정에서 한 번 더 translation이 일어나는지 궁금합니다. 그렇다면 PFN이 실제 메모리 주소의 어느부분에 해당하는지에 대한 table 이 따로 있는건가요?
혹시 Physical address의 해석은 HW에서 지원되는 부분이라서 CPU가 알아서 해석하는 건가요?
저는 PFN 자체가 physical address라고 이해했습니다.
안녕하세요 조교입니다.
위 학생이 설명한 내용과 같이 PFN이 곧 Physical Address로 볼 수 있습니다.
32비트 환경에서 4kB의 페이지를 쓴다면,
주소의 형태는 아래와 같으며
xxxxxxxx xxxxxxxx xxxxyyyy yyyyyyyy yyyyyyyy
x는 PFN, y는 offset을 표현하게 됩니다.
4KB 면 offset에 해당하는 비트가 12비트라서 y가 12개여야 하는거 아닌가요?
네, 맞습니다. 맨 뒤에 yyyyyyyy는 없어야 합니다.
xxxxxxxx xxxxxxxx xxxxyyyy yyyyyyyy 입니다.