티스토리 뷰
### 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
-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로 바꾼다.
<Example of paging>
: page번호는 순서대로 frame번호는 자유롭다.
'운영체제 > 이론' 카테고리의 다른 글
(53) Hardware support (0) | 2020.10.05 |
---|---|
(52) Paging problem (0) | 2020.10.05 |
(50) Variable Partition Memory Allocation & Dynamic Storage Allocation (Main Memory) (0) | 2020.09.28 |
(49) Contiguous Memory Allocation & Fixed Partition Memory Allocation (Main Memory) (0) | 2020.09.28 |
(48) Memory Management Unit(MMU) & Dynamic loading & Dynamic linking (Main Memory) (0) | 2020.09.28 |