연관토픽
- [상위] 메모리 할당(Memory Allocation)
- [상위] 가상 메모리(Virtual Memory)
- [하위] 페이징 기법(paging)
- [하위] 세그먼트(segment) 기법
메모리 할당기법
고정 | 프로세스의 수와 프레임의 수를 고려하여 배분하는 방식 |
가변 | 프로세스 마다 크기를 고려하여 가용 메모리 할당 |
가상메모리 할당정책
정책 | 개념도 | 설명 |
페이징 기법 (고정분할) |
![]() |
|
세그먼테이션 기법 (가변분할) |
![]() |
|
페이지드 세그먼트 기법 |
|
페이징 기법
- 한정된 기억 용량으로 될 수 있는대로 다수의 프로그램을 동시에 처리할 수 있도록 프로그램을 한번에
처리할 수 있는 페이지 단위로 분할하여 처리하는기법
세그멘테이션 기법
- 블록의 크기가 다른 가변적인 크기로 가상기억장치를 구성하는 방법
- 동적 세그먼트 할당 기법
페이지화된 세그먼트 메모리 할당 기법
- 외부 단편화와 내부 단편화 최소화를 위하여 세그먼트 기법과 페이징 기법을 결합한 페이지화된 세그먼트 메모리 할당 기법 활용
- 페이징과 세그먼트 기법을 결합하여 각 기법의 단점을 보완
- 프로세서는 세그먼트 테이블 을 확인하여 세그먼트를 위한 페이지 테이블을 찾음
- 페이지 번호(p)를 이용하여 페이지 테이블을 생성하여 페 이지 프레임을 찾음
- 원하는 메모리 주소를 생성 하기 위해 페이지 변위와 결합 (d’)
페이지 기법 vs. 세그먼트 기법
구분 | 페이지 기법 | 세그먼트 기법 |
개념 | - 실제 메모리를 고정크기 블록의 프레임(페이지 프레임)으로 나누고 각 프로세스도 동일한 크기의 페이지로 분할 | - 메모리를 프로그램을 구성하는 서브루틴, 프로시 저, 함수 또는 모듈 등의 다른 크기를 갖는 세그먼 트로 분산 적재 |
개념도 | ![]() |
![]() |
구조 | ![]() |
![]() |
논리주소 | - 페이지 번호(p)와 변위(d)로 구성 | - 세그먼트 번호(s)와 변위(d)로 구성 |
동작방식 | - 페이지 테이블에서 실제 메모리 기준 주소를 찾고, 변위를 더해 물리 메모리 주소 결정 | - 세그먼트 테이블은 기준(base)과 한계(limit)로 메모리의 시작 주소와 길이 확인 |
장점 | - 공유 페이지 이용 - 메모리 활용을 통한 다중 처리 프로그래밍 |
- 가변적인 데이터 구조와 모듈 처리 - 공유와 보호 지원 관리 |
단점 | - 페이징 사상 하드웨어 비용, 속도 저하 - 내부 단편화 현상 |
- 외부 단편화 현상 |
가상 메모리 vs. 물리 메모리
구분 | 가상 메모리 | 물리 메모리 |
최대 메모리 크기 | CPU의 비트 값에 의존 | CPU의 비트 값에 의존 |
메모리 분할 방식 | 세그먼테이션 | 가변 분할 방식 |
페이징 | 고정 분할 방식 | |
세그먼테이션-페이징 혼용 기법 | ||
주소 지정 방식 | 가상 주소 | 절대 주소, 상대 주소 |