[OS] Lecture 9. Virtual Memory (1_5) - kibitzing/EnGrow GitHub Wiki
진구
vm = b + d
- block은 프로세스 안에서의 쪼개진 것들이고 블럭 넘버는 그 순서임
- 블럭이 메모리에 올라와 있다면 그 블럭의 리얼 주소를 찾아간 후 상대 값 d를 더함
- 블럭이 메모리에 없고 스왑메모리에 있다면 일단 메모리에 올리고 리얼 주소를 적어둔다
- 그리고 b+d
- address mapper 는 os가 실행해주는건가 오버헤드는 없나?
세영
Virtual Storage: 여러 개의 블록으로 메모리를 나눠서 필요한 블록들만 메모리에 올리는 것
- Paging, Segmentation, Hybrid
Non-continuous allocation address mapping
- Virtual address == relative address
- 연속된 메모리 할당을 가정한 주소
- Real address == physical address
- 실제 메모리에 적재된 주소
- Block mapping 기법
- 프로세스의 BMT (Block map table)에 접근
- BMT에서 block에 대한 항목을 찾음
- Residence bit 확인
- 0인 경우 swap memory에서 블록을 메모리로 가져옴 → bit update
- 1인 경우 Physical address 값 확인
- 실제 주소 획득 (Physical address + offset)