반효경 교수님 - 운영체제 2017 강의를 참고하여 작성하였습니다.
Physical memory를 동일한 크기의 frame으로 나눔
logical memory를 동일 크기의 page로 나눔 (frame과 같은 크기)
모든 가용 frame들을 관리
page table을 사용하여 logical address를 physical address로 변환
External fragmentation 발생 안함
Internal fragmentation 발생 가능
Page 크기는 기본적으로 4KB, 현대에는 조금 더 큼
주소는 편의상 32bit 주소체계를 사용한다.
32비트 주소체계를 사용하면, 한 프로세스가 최대 4GB
logical meory와 physical memory의 위치(주소)를 변환하기위한 자료구조
Page table은 main memory에 상주
Page-table base register(PTBR)가 page table을 가리킴 (시작위치)
Page-tavle length register(PTLR)가 테이블 크기를 보관
모든 메모리 접근 연산에는 2번의 memory access가 필요하다
Page table에 접근 한번, 실제 data/instruction에 접근 한번
속도 향상을 위해서 associative register 혹은 translation look-aside buffer(TLB)라 불리는 고속의 lookup hardware cache 사용(일부 정보만 담고 있음)
TLB는 일부 정보만 담고 있기때문에, page number와 frame number를 가지고 있어야만 한다.
Page number를 가지고 있는지 전부 확인해야하기때문에 오버헤드가 발생한다. 그래서 병렬적으로 서칭할 수 있도록 associative register를 필요로 한다.
paging과는 다르게 segment의 길이,크기가 각각 다르기때문에 limit이 필요하다.
proctection
Sharing
Allocation