IT 기술/CA & OS

가상메모리

gooooooood 2025. 5. 22. 13:38
반응형

1. 가상메모리의 개념과 필요성

가. 가상메모리의 개념

- 실제 물리적 메모리의 크기와 관계없이 프로세스마다 연속적이고 독립된 메모리 공간 제공하기 위한 관리 기법

 

나. 가상메모리의 필요성

필요성 설명
메모리 확장성 - 디스크 공간 일부를 메모리처럼 사용
프로세스 독립성 - 다른 프로세스의 메모리에 접근 불가
효율적 메모리 사용 - 자주 사용하는 데이터만 메모리에 올림
프로그램 주소 충돌 방지 - 같은 주소 써도 내부적으로는 다른 물리 주소 매핑

- 디스크 활용하여 메모리 확장하고 프로세스 간 메모리 보호 및 관리 향상

 

2. 가상메모리의 관리기법

가. 가상메모리 관리 기법

구분 관리 기법 설명
호출 - 지연 호출 - 실제 필요한 시점에 메모리에 로드
- 선행 호출 - 자주 사용 페이지 미리 메모리에 로드
배치 - 최초 적합 - 처음 발견한 충분한 크기에 배치
- 최적 적합 - 크기가 가장 딱 맞는 공간에 배치
- 최악 적합 - 가장 큰 공간에 배치
할당 - 정적 할당 - 프로그램 시작 시 메모리 크기 고정
- 동적 할당 - 실행 도중 필요한 만큼 메모리 할당 또는 반환
- 연속/비연속 할당 - 한번에 연속된 메모리 공간에 할당
- 여러 조각으로 나누어 할당
교체 - FIFO - 가장 먼저 메모리에 들어온 페이지 제거
- LRU - 가장 오래 전에 사용된 페이지 제거
- OPT (Optimal) - 가장 오래 사용되지 않을 페이지 제거
- Clock (Second Chance) - FIFO 개선형, 사용 비트 체크로 기회 제공

 

나. 구현 기법

구분 기법 설명
주소 변환 방식 페이징 - 고정 크기 페이지 단위로 물리 메모리에 매핑
- 페이지 테이블 관리, 외부 단편화 방지
세그멘테이션 - 가변 크기의 세그먼트 단위로 분할
- 내부 단편화 줄일 수 있음
페이징 + 세그멘테이션 - 세그먼트를 페이지로 나눠 관리
- 유연성과 효율성 동시 확보
보조기억장치 스와핑 - 전체 프로세스를 디스크와 교체
요구 페이징 - 실제 접근 시에만 페이지 메모리로 로딩
페이지 교체 알고리즘 - FIFO, LRU등 페이지 교체

 

 

3. 가상메모리 사용 시 문제점과 해결방안

문제점 설명 해결방안
페이지 폴트 - 필요한 페이지가 메모리에 없을 때
- 디스크에서 데이터 가져와 성능 저하
- 요구 페이징 최적화
- 선행 페이징 적용
스레싱 - 페이지 폴트가 너무 자주 발생하여 CPU가 페이지 교체에만 몰두하는 현상 - 다중 프로그래밍 수준 제어로 프로세스 수 감소
주소 변환 지연 - 가상 주소를 물리 주소로 변환하는 과정이 복잡하여 속도 저하 - TLB(Translation Lookaside Buffer) 사용
- 주소 변환 캐시 최적화
메모리 단편화 - 비효율적 메모리 할당으로 사용 가능한 메모리가 줄어드는 현상 - 페이징 기법 사용으로 외부 단편화 해결
- 세그멘테이션 조합으로 내부 단편화 해결

 

반응형

'IT 기술 > CA & OS' 카테고리의 다른 글

멀티 GPU  (0) 2025.05.22
인터럽트  (0) 2025.05.22
IPC (Inter Process Communication)  (0) 2025.05.22
프로세스 스레싱  (0) 2025.01.07
차세대 컴퓨팅  (0) 2024.12.17