반응형
Memory Fragmentation
RAM에서 메모리의 공간이 작은 조각으로 나뉘어져 사용가능한 메모리가 존재하지만, 할당이 불가능한 상태
① 내부 단편화(Internal Fragmentation)
- 프로세스가 필요한 양보다 더 큰 메모리가 할당되어서 메모리 공간이 낭비되는 상황
② 외부 단편화(External Fragmentation)
- 작은 메모리가 중간중간에 존재해서 메모리 공간은 충분하지만 실제로 할당할 수 없는 상황
※ 해결방법
(1) 페이징(Paging) : 가상메모리를 통한 외부 단편화 해결 ( 내부 단편화 존재 )
-> 사용하지 않는 프레임을 페이지에 옮기고, 필요한 메모리를 페이지 단위로 프레임에 옮기는 기법 used by page table
(2) 세그멘테이션(Segmentation) : 가상메모리를 통한 내부 단편화 해결 ( 외부 단편화 존재 )
-> 서로 크기가 다른 논리적 단위인 세그먼트로 분할해서 메모리를 할당 = 세그먼트는 연속적인 공간에 존재
따라서, 메모리가 필요할 때 빈 공간을 찾아서 적재하는 방식
(3) 메모리 풀(Memory Pool) : 필요한 메모리 공간을 크기/개수만큼 사용자가 직접 지정하여 받아 놓고,
사용하고 반납하는 기법
-> 미리 지정하고, 공간을 차지하는 기법이기 때문에 외부 단편화, 내부 단편화 모두 해결이 가능하다.
반응형
'Developer > OS' 카테고리의 다른 글
[OS] - CPU 스케줄링 (0) | 2019.04.17 |
---|---|
7. Virtual Memory - 가상메모리 (1) | 2018.12.20 |
5. Monitor & Deadlock - 모니터, 데드락 (0) | 2018.12.17 |
4. Critical Area - 임계구역이란? (0) | 2018.12.13 |
2. Process - 프로세스 (0) | 2018.12.11 |