메모리에 비싼 자원이므로 효과적으로 관리하는 것을 시스템의 전반적인 성능에 큰 영향을 미칩니다.
다양한 메모리 관리 기법의 발전 과정을 간단하게 살펴보겠습니다.
연속 메모리 할당 (Contiguous Memory Allocation)
- 특징: 초기의 메모리 관리 방법. 프로세스가 메모리에 연속적으로 할당됨.
- 장점: 구현이 간단하다.
- 단점: 외부 단편화 (External Fragmentation) 발생. 메모리 이용률이 낮아질 수 있음.
페이징 (Paging)
- 특징: 물리 메모리를 고정된 크기의 블록(페이지)으로 나누어 관리.
- 장점: 외부 단편화를 제거.
- 단점: 내부 단편화 (Internal Fragmentation) 발생 가능성 있음.
세그멘테이션 (Segmentation)
- 특징: 메모리를 여러 개의 세그먼트로 나누어 관리. 각 세그먼트는 다른 크기를 가질 수 있음.
- 장점: 논리적인 메모리 분할이 가능해져 프로세스의 구조와 일치.
- 단점: 외부 단편화 발생 가능.
가상 메모리 (Virtual Memory)
- 특징: 실제 물리 메모리 크기보다 더 큰 메모리를 사용하는 것처럼 시스템에 제공.
- 장점:
- 프로세스의 크기 제한 해소.
- 메모리 사용 효율성 증가.
- 단점: 페이지 폴트(page fault) 발생 시 성능 저하.
디스크 스케줄링 (Disk Scheduling)