18장: 메모리 가상화의 Paging
- 세그먼트 복습
- 주소 변환 = Segment Table
- 공유 및 보호 기능 제공
- 빈 공간 탐ㅅ맥 오버헤드 및 외부 단편화 문제
페이징 개요
주소변환 = 페이지 테이블 사용
가상 주소 공간
→ 동일한 크기의 페이지로 분할
물리 주소 공간
→ 동일한 크기의 페이지 프레임으로 분할
페이징 장점
유연성
- 프로세스 주소공간 상관없이 효율적임
- heap, stack, .. 신경 X
단순성
- 페이지 크기 = 페이지 프레임 크기
- 빈공간 관리가 간단함
페이징 단점
→ 내부 단편화
페이징 사용
- 물리 주소 = 128byte
- 가상 주소 = 64byte
- 페이지 프레임크기 = 16byte
주소 변환
- 가상 주소의 두 가지 요소
- VPN = Virtual Page Number (위 사진에선 4개만 필요 = 2비트)
- Offset
- 물리 주소를 알려면 ?
- 가상 페이지 → 페이지 프레임 정보를 얻어야 함
만약 가상 주소에서 21번지가 선택됐다면 ?
10101, VPN = 1, Offset = 0101
Page Table[VPN] = 7, 페이징 프레임 = 11
페이지 테이블 저장 및 내용
어디에 저장 ?
→ 메모리에 저장함
페이지 테이블 내용은 ?
→ PTE (Page Table Entry): 가상주소에 대응하는 물리주소
전체적으로 1차원 배열
퀴즈
가상주소공간 64byte = 6비트
물리주소공간 128byte = 7비트
한 페이지 크기 = 16byte
0x31
0011 0001
VPN = 11, Offset = 0001
물리주소 0010 0001 = 0x21
20
010100
VPN = 01, Offset = 0100
물리주소 = 111 0100 = 0x74
0b1001
001001
VPN = 00, Offset = 1001
물리주소 = 011 1001 = 0x39
'🖥️ Computer Science > Operating System' 카테고리의 다른 글
[OS] 28장: Locks (0) | 2024.07.02 |
---|---|
[OS] 19장: TLB (Translation Lookaside Buffers) (1) | 2024.07.01 |
[OS] 17장: Free-Space Management (0) | 2024.06.29 |
[OS] 16장: Segmentation (0) | 2024.06.28 |
[OS] 15장: 주소 변환의 원리 (0) | 2024.06.27 |