티스토리 뷰

운영체제/이론

(51) Paging

geonwoopaeng@gmail.com 2020. 10. 5. 16:35

### Paging ###

: 컴퓨터가 main memory에서 사용하기 위해 2차 기억장치로부터 데이터를 저장하고 검색하는 메모리 관리 기법

: external fragmentation and associated compaction and overhead 문제를 방지한다.

  but internal fragmentation은 발생

< Basic method for implementing (구현) paging >

: physical memory를 frame라는 고정 사이즈 block으로 나눈다.

: logical memory를 page라는 동일한 크기의 block으로 나눈다.

: N page 크기의 프로그램을 실행하려면 사용 가능한 N개의 frame을 찾아야 한다.

: page table을 설정하여 logical address를 physical address로 변환한다.

=> process memory 운영이 자유롭다 (logical 과 physical이 분류되어 있기 때문)

+

< 설명 >

: cpu에 의해 생성된 주소는 다음과 같이 나뉜다.

=> CPU에 의해 생성된 logical address

 

출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018)

 

-1. page number (p)

: physical memory에 있는 각 page의 기본 address를 포함하는 page table의 index로 사용된다.

-2. page offset (d)

: 기본 address와 결합하여 memory 장치로 전송되는 실제 memory address를 정의한다.

+ Page table

: logical memory에서의 page와 physical memory에서의 frame을 연결해 주는 bridge

(process마다 개별적으로 생성된다.)

: 실제 memory에 있는 각 frame의 기본 address가 포함되며 offset은 참조되는 frame의 위치다.

: frame의 기본 address는 physical memory address를 정의하기 위해 page offset과 결합된다.

< logical to physical address 변환 과정 >

1. page number p를 추출하여 page table의 index로 사용해라

2. page table에서 해당 frame number f를 추출한다.

3. logical address의 page number p를 frame number로 바꾼다.

 

출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018)

 

 

<Example of paging>

: page번호는 순서대로 frame번호는 자유롭다.

 

출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018)

반응형
공지사항
최근에 올라온 글