솜은 코튼
[OS] 프레임 (페이지 테이블) 본문
페이지 테이블 크기
.
예로 가상 주소 공간의 크기가 2³²(4G)B, 페이지 1개의 크기는 2¹²(4,098)B이다.
전체 4GB의 가상 주소를 페이지 1개의 크기로 나누면 2²⁰(1,048,576)B이다.
페이지 테이블로 나타내려면 1,048,576개의 행과 각 행을 표현할 주소 공간 20bit가 필요하다.
즉, 페이지 테이블이 차지하는 공간은 1,048,576 X 20bit = 약 2.62B이다.
만약 페이지 크기가 2⁹(512)B이고, 2³²(4G)B의 주소공간을 가진다면
전체 페이지는 1,048,576에서 8,388,607으로 늘어나고,
페이지 테이블은 8,388,607개의 행과 23bit의 주소 공간이 필요하다.
즉, 페이지 테이블이 차지하는 공간은 8,388,607 X 23bit = 약 24.11B로
페이지 크기가 클 때보다 9.2배 크다.
중요한 점은 페이지 테이블이 메모리에 있는 모든 프로세스에 하나씩 필요하다는 것이다.
페이지 테이블의 크기를 줄이기 위해 한 페이지의 크기를 크게 하면 좋을 것이다.
하지만 무작정 페이지의 크기를 늘린다면 내부 단편화로 인해 낭비되는 공간이 많아진다.
* 해당 글은 '쉽게 배우는 운영체제'와 '운영체제' 책을 참고하여 작성하였습니다. 출처: 쉽게 배우는 운영체제 (조성호), 운영체제 10판 (Abraham Silberschatz)
'OS' 카테고리의 다른 글
[OS] 모니터 (0) | 2023.05.29 |
---|---|
[OS] 프로세스 제어 블록(PCB), 문맥 교환 (0) | 2023.05.28 |
[OS] 스레싱과 프레임 할당 (1) | 2023.05.27 |
[OS] 교착 상태 해결 방법 (교착 상태 탐지) (0) | 2023.05.27 |
[OS] 교착 상태 해결 방법 (교착 상태 회피) (0) | 2023.05.27 |