Paging 을 통한 메모리 관리
논리 주소를 페이지 단위로 쪼개서 관리한다.
페이지 테이블에서는 해당 페이지가 어떤 물리 메모리로 매핑되어 있는지 관리한다. (물리 : 프레임)
페이지 테이블을 통해 논리 페이지 번호를 물리 프레임 번호로 변환한다.
프로세스마다 TLB 가 다르기 때문에 context switching 이 일어날 때 마다 flush 시켜주고 복구 시켜주는 과정이 필요하다
페이지 테이블만 있을 때 보다 TLB를 두었을 때 룩업 시간이 더욱 단축된다.
2단계 페이지 테이블
프로그램마다 페이지 테이블을 위해 4MB 의 공간이 필요한 셈이므로, 공간 낭비가 심함.
페이지 테이블을 두 단계 거쳐서 주소를 찾는다.
- Page of Page table 사이즈는 1페이지 (4kb), entry 하나는 4byte, 따라서 entry 는 1K 개 존재한다.
- 속도를 빠르게 하는 것일까?
- 속도는 줄어들지 않을 것
- 아니면 공간을 효율적으로 사용하려는 것일까?
- 페이지 테이블을 위한 공간이 줄어드는게 사용 목적이다.
4KB = 2^12 bytes
'Operating System' 카테고리의 다른 글
[Kotlin] Shared Mutable State & Concurrency (1) | 2022.10.30 |
---|---|
[OS] Memory Management (3&4) (0) | 2022.01.24 |
[OS] Memory Management (1) (0) | 2021.12.24 |
[System Software] gcc, compiling, linking, libraries (0) | 2021.02.13 |
[System Software] System Software & Program Execution (0) | 2021.02.12 |