Multilevel paging
4-level
메모리 접근 시간이 100ns, TLB 접근 시간이 20ns 이고
TLB hit ratio가 98%
이면 0.98 * 120 + 0.02 * 520 = 128
page table에서 valid는 실제로 사용하는 테이블, Invalid는 실제로 사용하지 않는 테이블
page table의 각 entry마다 아래의 bit를 둔다.
Protection bit: page에 대한 접근 권환(read/write/read-only)
Valid-invalid bit
valid: 해당 주소의 frame에 그 프로세스를 구성하는 유효한 내용이 있음 (접근 허용)
invalid: 해당 주소의 frame에 유효한 내용이 없음 (접근 불허)
Inverted Page Table
-> Page Table이 너무 큰 문제가 발생해서 나온 개념
-> Process마다 존재하던 Page Table을 System에 하나만 존재(Page마다가 아닌 물리적 메모리의 Page frame마다 존재)
-> 기존의 PageTable은 배열처럼 index로 바로 찾지만, 이 경우 바로 찾는 건 불가능
Shared Pages Example
-> 같은 프로그램을 실행시킬 때, 코드부분은 공유하고, 데이터 부분만 따로 저장하는 방식
Segmentation
-> 길이와 위치를 갖고 있는 Segmentation Table을 가지고 있음 (Page와 달리 길이가 일정하지 않아서)
'Studying > Operating System' 카테고리의 다른 글
09. Virtual Memory (1/2) (0) | 2018.07.11 |
---|---|
08. Memory Management (4/4) (0) | 2018.07.10 |
08. Memory Management (2/4) (0) | 2018.07.09 |
08. Memory Management (1/4) (0) | 2018.06.17 |
07 Deadlocks (2/2) (0) | 2018.06.16 |