In order to support your virtual memory system,
you need to effectively manage virtual pages and physical frames
이번 과제에서는 복잡한 페이지 처리에 필요한 정보를 담는 자료구조 supplemental page table, frame table를 정의
[궁금증]
- Q. 그럼, PTE present bit로는 부족해서 SPT swap 여부를 저장하는 이유가 뭐야?
- A. PTE는 페이지가 물리 메모리에 있는지, 없는지 정보만 제공. OS는 페이지가 스왑 영역에 있을 경우 위치 정보 등의 메타 데이터가 필요
[주의사항]
- PML4는 HW / SPT, Frame Page Table는 OS SW가 메모리 관리 작업을 수행하기 위한 메타 데이터
- PML4 업데이트 시, OS가 관리하는 (page, frame) 자료구조 데이터도 함께 업데이트 되어야한다.
Supplemental Page Table
- [정의] 각 쓰레드
- [자료 구조] struct hash : 조회가 빈번함, O(M) 기대; M = #buckets
- [용도] 가상주소 공간 상태 기록 및 handle page fault
- [to find what/where data be there]
할당 되어있는지
파일에서 lazy load 해야할지
swap 여부
Frame Table
- [정의] 글로벌 변수
- [자료구조] struct list : 삽입/삭제 연산 빈번, 교체 알고리즘 구현 시 편의성
- [용도]
Manages frames for user programs
Eviction
Swap Table
- TODO: Project 3-4에서 재개 예정
'2️⃣ 개발 지식 B+ > OS' 카테고리의 다른 글
[OS] File System 강의 정리 - 반효경 교수님 (v2017) (2) | 2024.10.19 |
---|---|
[PintOS 3-2] Anonymous Page (2) | 2024.10.14 |
[OS] PML4 이해하기 (w. PintOS) (1) | 2024.10.14 |
[OS] Virtual Memory 역할, 주소 변환 (0) | 2024.10.14 |
[OS] QnA로 알아보는 Virtual Memory (1) | 2024.10.09 |