메모리 관리 기법
기술노트
💾 메모리 관리 기법
메모리 관리 기법은 운영체제(OS)가 한정된 메모리 자원을 효율적으로 관리하고, 여러 프로세스가 동시에 메모리를 안전하게 사용할 수 있도록 하는 방법입니다. 주 기억 장치(RAM)를 효율적으로 활용하여 시스템의 성능을 최적화하는 것이 목표입니다.
🤔 메모리 관리는 왜 필요한가?
- 다중 프로그래밍 지원 : 여러 프로세스가 동시에 메모리에 적재되어 실행될 수 있도록 합니다.
- 메모리 보호 : 한 프로세스가 다른 프로세스의 메모리 영역을 침범하지 못하도록 보호합니다.
- 메모리 공유 : 여러 프로세스가 공통된 코드나 데이터를 공유하여 메모리 사용 효율을 높입니다.
- 가상 메모리 지원 : 실제 메모리보다 큰 프로그램을 실행할 수 있도록 합니다.
📚 주요 메모리 관리 기법
- 연속 메모리 할당 : 프로세스를 메모리의 연속된 공간에 할당하는 방식입니다.
> * `고정 분할 방식` : 메모리를 고정된 크기로 미리 나누어 각 프로세스에 할당합니다. 내부 단편화 발생. > * `가변 분할 방식` : 프로세스의 크기에 맞게 메모리를 동적으로 분할하여 할당합니다. 외부 단편화 발생.
- 비연속 메모리 할당 : 프로세스를 메모리의 여러 비연속적인 공간에 분산하여 할당하는 방식입니다. 단편화 문제를 완화합니다.
> * 페이징 (Paging) : 프로세스의 논리적 주소 공간을 고정된 크기의 '페이지(Page)'로, 물리적 주소 공간을 동일한 크기의 '프레임(Frame)'으로 나누어 관리합니다. 외부 단편화는 없지만 내부 단편화는 발생할 수 있습니다. > * 세그먼테이션 (Segmentation) : 프로세스의 논리적 주소 공간을 크기가 가변적인 '세그먼트(Segment)'로 나누어 관리합니다. 사용자가 인식하는 논리적 단위로 분할됩니다. 내부 단편화는 없지만 외부 단편화는 발생할 수 있습니다.
💡 정보처리기사 핵심 Point
- 정보처리기사 시험에서는 메모리 관리 기법의 개념, 장단점, 그리고 단편화(내부/외부) 문제를 묻는 문제가 자주 출제됩니다.
- 특히 페이징과 세그먼테이션은 비연속 메모리 할당의 대표적인 기법으로, 그 특징과 차이점을 명확히 이해해야 합니다.
- 가상 메모리(Virtual Memory)는 실제 메모리보다 큰 프로그램을 실행할 수 있도록 하는 중요한 메모리 관리 기법입니다.