가상 메모리 시스템
- 가상 메모리는 물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리를 제공하는 기술
- 가상 메모리에서 메모리 관리자가 사용할 수 있는 메모리의 전체 크기 = 물리 메모리 + 스왑 영역
- 가변 분할 방식 => 세그멘테이션 / 고정 분할 방식 => 페이징
- 메모리를 관리할 때에는 매핑 테이블을 작성해서 관리
페이징 기법
- 페이징 기법은 물리 주소 공간을 같은 크기로 나눠서 사용한다.
- 이때 물리 메모리의 각 영역은 가상 주소의 페이지와 구분하기 위해 프레임이라고 부른다.
- 가상 주소 = VA / 페이지 = P / 페이지의 처음 위치 ~ 해당 주소 거리(오프셋) = D
- VA = <P,D>라고 표현
- 실제 물리 주소 = PA, 프레임 = F
- VA = <P, D> --> PA = <F, D>라고 표현
페이지 테이블 매핑 방식
- 직접 매핑
- 페이지 테이블 전체가 물리 메모리의 운영체제 영역에 존재하는 방식
- 별다른 작업 없이 바로 주소 변환이 가능
- 연관 매핑
- 페이지 테이블 전체를 스왑 영역에서 관리하고, 일부만 물리 메모리에 가져온다.
- 따라서 페이지 번호와 프레임 번호를 둘 다 표시한다.
- 만약 물리 메모리의 페이지 테이블에서 검색을 실패하면 스왑영역에서 검색해야 한다.
- 집합-연관 매핑
- 스왑 영역에 페이지 테이블을 일정한 집합으로 자르고, 자른 덩어리 단위로 물리 메모리에 가져온다.
- 역매핑
- 물리 메모리의 프레임 번호를 기준으로 테이블을 구성해서 테이블의 크기를 줄인다.
- 프로세스의 수와 상관없이 테이블이 하나만 존재하는 것이 장점이다.
세그멘테이션 기법
- 물리 메모리를 프로세스의 크기에 따라 가변적으로 나눠서 사용한다.
- 세그멘테이션 테이블에는 세그먼트의 크기를 나타내는 limit와 시작 주소를 나타내는 address가 있다.
- 세그멘테이션 기법은 프로세스 단위로 메모리를 관리하기 때문에 페이지 테이블이 작고 단순한 게 장점이지만
- 메모리의 외부 단편화로 인해 물리 메모리 관리가 복잡하다.
세그멘테이션-페이징 혼용 기법
- 페이징 기법과 세그멘테이션 기법을 혼합하여 사용해 둘의 장점을 취해, 메모리 관리를 효율적으로 하는 방식
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 입출력 장치 / 디스크 / 스케줄링 / RAID (0) | 2024.03.26 |
---|---|
[운영체제] 가상 메모리 관리 / 페이지 교체 알고리즘 / 스레싱 / 프레임 (0) | 2024.03.26 |
[운영체제] 물리 메모리 관리 (0) | 2024.03.26 |
[운영체제] 교착 상태 (0) | 2024.03.26 |
[운영체제] 프로세스 동기화 (0) | 2024.03.26 |