메모리 관리
메모리 관리는 컴퓨터 내부 메모리의 활용을 최적화하는 운영체제(OS)의 필수 기능이다. 메모리 할당, 가상 메모리 관리, 페이지 교체 등 다양한 프로세스가 포함된다. 각각에 대해 자세히 알아보자 😉
메모리 할당 기술
- 연속 할당
- 고정 파티셔닝: 메모리를 고정된 크기로 나누고 각 파티션에는 하나의 프로세스가 필요한 만큼 메모리가 할당된다.
- 동적 파티셔닝: 파티션 크기 제한 없이 각 프로세스에 필요한 만큼의 메모리가 할당되도록 동적으로 생성된다.
- 비연속 할당
- 페이징: 메모리는 ‘페이지’라는 고정된 크기의 블록으로 나눠지고, 프로세스는 동일한 크기의 페이지가 할당된다.
- 분할화: 메모리는 서로 다른 길이의 세그먼트로 나눠지고, 각 세그먼트는 함수, 개체 또는 배열로 논리적으로 분할된다.
가상 메모리
가상 메모리는 컴퓨터에서 물리적으로 사용 가능한 것보다 더 많은 메모리를 사용할 수 있도록 하는 컴퓨터 시스템의 기능이다.
메모리는 기본적으로 속도는 빠르지만, 용량이 작다. 그래서 하드디스크에 공간 중 일부를 추가로 사용해 더 많은 저장공간을 확보해 많은 작업을 처리하게 해준다. 🫢
페이지 교체 전략
페이지 교체 전략은 가상 메모리 시스템을 다룰 때 페이지(메모리 블록)가 물리적 메모리(RAM) 안팎으로 스왑(RAM과 디스크 간에 페이지를 이동하는 작업)되는 방식을 관리하는 데 사용되는 방법이다.
- FIFO(First-In, First-Out)
- 전략: 페이지를 교체해야 하는 경우 가장 오래된 페이지를 제거하고 새 페이지를 추가한다.
- 장점: 구현이 간단하고, 이해하기가 쉽다.
- 단점: 페이지 사용 빈도나 이용 패턴 등을 고려하지 않으므로 자주 액세스하는 페이지의 경우 성능이 저하될 수 있다.
- LRU(Least Recently Used)
- 전략: 페이지를 교체해야 하는 경우 가장 오랫동안 사용되지 않은 페이지를 제거한다.
- 장점: 최근 페이지 사용 내역을 고려하므로 FIFO보다 효율적이다.
- 단점: 각 페이지의 액세스 시간을 기록하려면 추가 데이터 구조가 필요하므로 구현이 더 복잡하다.
- LFU(Least Frequently Used)
- 전략: 각 페이지에 액세스한 횟수를 추적하며, 액세스 횟수가 가장 적은 페이지가 먼저 교체된다.
- 장점: 자주 사용되지 않는 페이지를 식별하는 데 효과적이다.
- 단점: 페이지 액세스 횟수의 최근성을 고려하지 않으며, 액세스 횟수를 유지하는 데 오버헤드가 많이 발생할 수 있다.