포도가게의 개발일지

가상메모리 참조 : [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)

direct mapping 계산법

 

*residence bit = 0인경우(메모리에 안올라와있을때) Page fault 발생 그 후 swap device에서 해당 page를 메모리로 적재
-> 하지만 running program -> asleep 상태가 될때 context swich가 발생(over head가 크다) 하며 다시 ready 상태 후 -> running으로 복귀한다. 결과적으로 page fault는 over head가 크기때문에 좋지 않다.

page fault

Direct Mapping 문제점

  • r에 접근하기위해 메모리에 몇번 접근하나? pmp를봐야함 하지만 PMT는 메모리 커널에존재 그후 다시 메모리를 봐야됨(2번봄)
    -> 메모리 접근이 많다는건 성능의 저하가 있다(접근 횟수 2배)
  • PMT메모리 공간이 필요하여 -> 메모리 공간 소모

Associative Mapping

  • TLB에 PMT를 적재 (pmt 전용 하드웨어)
  • p만 주면 병렬로 동시에 탐색후 한번에 넘겨줌 -> 두번 메모리에 접근하는방법을 막을 수 있다.
  •  좋긴한데 expensive hardware이므로 큰 pmt를 다루기가 그냥 비싸

적절히 direct와 associative 매핑을 혼합하여 hybrid direct/associative 매핑을 사용함

Comments