반응형
Virtual Memory
프로그램을 만들 때 한정된 메모리의 크기를 고려해야 된다면, 프로그래머에게 굉장한 부담으로 다가온다.
이를 해결하기 위해, 프로그램의 메모리 크기를 크게 지정하여 주소로 배분하는 방식이다.
∴ 중요한 것은 가상메모리와 실제 메모리 사이의 Mapping 기법이 중요!!!
Page Table
위에서 말한 Mapping 작업을 진행하기 위해서는 Page Table이 필요하다.
Frame |
Valid |
< page table 구조 >
보통은 Frame에 들어있는 자료가 실제 메모리가 올라온 상태고, valid는 비트는 메모리가 올라와 있는지 아닌지 나타내주는 상태비트이다.
▶ Page Table 크기 구하는 방법◀
1개의 Page크기 = 4Kbyte
컴퓨터의 주소공간 크기 = 4Gbyte 일 떄,
4Gb / 4Kb = 1Mbyte x 4byte(Page Table Entry의 크기)
= 4Mbyte (Page table 크기)
Multilevel Page Table
Page table entry들을 보다 효율적으로 운영하기 위해, 단계별로 Page table을 제작한 것이다. 보통 2~3개의 Page table로 이루어져 있다.
2nd page table의 크기는 Page Frame의 크기와 동일한 4Kbyte를 가지게 된다.
3개의 page table을 운영하게 되면 무려.... 2^20의 page table entry 항목들이 가지게 된다.
Demanding-Page
물리 메모리부터 실제 필요한 page를 가져오는 과정을 의미한다.
이와 관련한 과정은 정말 그림 하나면 끝이나니 참고하도록 하자. + 영어 공부 필수?
반응형
'Developer > OS' 카테고리의 다른 글
[OS] - 가상메모리 (0) | 2019.04.19 |
---|---|
[OS] - CPU 스케줄링 (0) | 2019.04.17 |
6. Memory Fragmentation - 메모리 단편화 (0) | 2018.12.18 |
5. Monitor & Deadlock - 모니터, 데드락 (0) | 2018.12.17 |
4. Critical Area - 임계구역이란? (0) | 2018.12.13 |