티스토리 뷰
### Paging problem ###
1. < Internal fragmentation by paging >
: paging은 internal fragmentation을 발생시킨다.
=> process의 memory 요구사항이 page 경계와 일치하니 않으면 할당 된 마지막 frame이 완전히 가득차지 않는다
<Example of internal fragmentation>
: page 크기가 작아질 수록 process를 잘게 나눌수 있다
=> internal fragmentation 문제를 해결할 수 있다 but 다뤄야할 page 개수가 많아진다.
(page table 커진다 => memory 공간 사용 많아진다.) => internal fragmentation 이 생길 수도 있다.
2. < Size issues in paging >
: 32bit cpu에서 각 page table항목의 길이는 4byte이다.
: 32bit 항목은 2^32개의 물리적 page frame 중 하나를 가리킬 수 있다.
: frame 크기가 4KB(2^12)인 경우 4byte 항목이 있는 시스템은 2^44byte(또는 16TB)의 실제 메모리를 처리할 수 있다. => 실제 시스템은 가능한 최대(이론값)보다 적은 실제 memory를 처리할 수 있다.
<Frame allocation>
: process의 각 page에는 하나의 frame이 필요하다.
: process에 n개 page가 필요한 경우 memory에서 n개 이상의 frame을 사용할 수 있어야 한다.
: logical memory관점(page)에서는 process는 연속된 memory 주소 공간에 할당 된 것으로 보이지만 physical memory관점(frame)에서 볼때는 그렇지 않다
< Example of paging >
:process의 page를 frame에 적재하는 과정
: 회색 - 가용 frame(비어있는 frame)
'운영체제 > 이론' 카테고리의 다른 글
(54) EAT & Memory protection & valid/invalid bit (0) | 2020.10.06 |
---|---|
(53) Hardware support (0) | 2020.10.05 |
(51) Paging (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 |