[Computer Science]/[운영체제(OS)]

[운영체제(OS)] 9-4) 페이징(Paging)

극꼼 2023. 3. 21. 20:25
반응형


<페이징>

: 프로세스의 물리 주소 공간이 연속적이지 않게 하는 메모리 관리 체계입니다. 따라서 외부 단편화를 방지할 수 있습니다. 

 

1) 물리 메모리를 프레임이라 하는 고정된 크기의 블록으로 나눕니다.

2) 논리 메모리를 페이지라고 하는 동일 크기의 블록으로 나눕니다.

3) CPU에 의해 생성된 모든 주소는 페이지 번호(p), 페이지 오프셋(d) 두 부분으로 나뉩니다.

- 페이지 번호(p) : 페이지 테이블에 대한 인덱스로 사용.

- 페이지 오프셋(d) : 물리 메모리에 있는 각 프레임의 기본 주소를 저장합니다. 프레임의 기본 주소가 페이지 오프셋과 더해져서 물리 메모리의 주소를 정의합니다. 

 


<페이징 하드웨어>

: 페이지 번호 p를 추출 => 페이지 테이블[p(인덱스)] = 해당 프레임 번호(f)

=> 프레임 f에서 d만큼의 메모리를 차지함.

 

페이지의 크기는 하드웨어에 의해 정의되며, 일반적으로 2의 거듭제곱(페이지당 4KB~1GB)입니다. 

논리 주소 공간 사이즈가 2^m이고, 페이지 사이즈가 2^n 바이트라 할 때,

페이지 번호(p) = 논리주소의 상위 m-n 비트. (페이지 개수 = 2^(m-n)개)

페이지 오프셋(d) = 하위 n 비트.

 

아래 이미지는 n=2, m=4인 예시입니다. => 논리 주소는 16개, 페이지 개수는 4개.

논리 주소 3은 p가 0, offset이 3입니다. => 물리 주소 = 5(f) * 4(m) + 3(d) = 23

논리 주소 4는 p가 1, offset이 0입니다. => 물리 주소 = 6(f) * 4(m) + 0(d) = 24

 

반응형