포도가게의 개발일지
가상메모리 참조 : [OS] Lec 9. Virtual Memory (2/5) - Paging system (Part 1) 본문
CS
가상메모리 참조 : [OS] Lec 9. Virtual Memory (2/5) - Paging system (Part 1)
grape.store 2021. 9. 10. 01:11반응형
https://www.youtube.com/watch?v=mTFYeZwPj0s
Paging System
- 프로그램을 같은 크기의 블록으로 분할 (pages)
- Terminologies
- page : 프로그램의 분할된 block
- page frame : page를 넣어야하므로 같은 크기로 분할된 메모리 공간
Address Mapping
- block mapping과 거의 유사함 대신 v = (p,d). *블록 매핑에서는 v = (b,d)
*residence bit = 0인경우(메모리에 안올라와있을때) Page fault 발생 그 후 swap device에서 해당 page를 메모리로 적재
-> 하지만 running program -> asleep 상태가 될때 context swich가 발생(over head가 크다) 하며 다시 ready 상태 후 -> running으로 복귀한다. 결과적으로 page fault는 over head가 크기때문에 좋지 않다.
Direct Mapping 문제점
- r에 접근하기위해 메모리에 몇번 접근하나? pmp를봐야함 하지만 PMT는 메모리 커널에존재 그후 다시 메모리를 봐야됨(2번봄)
-> 메모리 접근이 많다는건 성능의 저하가 있다(접근 횟수 2배) - PMT메모리 공간이 필요하여 -> 메모리 공간 소모
Associative Mapping
- TLB에 PMT를 적재 (pmt 전용 하드웨어)
- p만 주면 병렬로 동시에 탐색후 한번에 넘겨줌 -> 두번 메모리에 접근하는방법을 막을 수 있다.
- 좋긴한데 expensive hardware이므로 큰 pmt를 다루기가 그냥 비싸
적절히 direct와 associative 매핑을 혼합하여 hybrid direct/associative 매핑을 사용함
'CS' 카테고리의 다른 글
Comments