본문 바로가기

Studying/Operating System

08. Memory Management (3/4)

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