-
728x90
1. 가상 메모리 시스템
현대 메모리 관리의 가장 큰 특징은 물리 메모리의 크기와 프로세스가 올라갈 메모리의 위치를 신경 쓰지 않고 프로그래밍하도록 지원한다는 것이다. 이게 가능한 이유는 가상 메모리 시스템이 있기 때문이다.
가상 메모리의 크기와 주소
이론적으로 가상 메모리는 무한대의 크기이다.
물리 메모리의 크기 + 스왑 영역이 곧 가상 메모리가 가용할 수 있는 크기가 되기 때문이다.가상 메모리 시스템에서 메모리 관리자는 가상 메모리의 크기를 바탕으로 프로세스가 사용하는 가상 주소를 실제 메모리의 물리 주소로 변환하는데, 이를
동적 주소 변환(DAT)이라고 한다. 프로세스는 자신이 배치되는 실제 메모리의 주소나 배치 상황 등에 대해 알 필요가 없다.가상 메모리의 메모리 분할 방식
가상 메모리 시스템의 메모리 분할 방식도 고정과 가변 방식으로 나뉜다. 고정 분할 방식은
페이징, 가변 분할 방식은세그먼테이션이라고 한다.세그먼테이션은 외부 단편화, 페이징은 페이지 관리의 어려움 등의 단점이 있기 때문에 가상 메모리 시스템에서는 두 기법의 단점을 보완한
세그먼테이션-페이징 혼용 기법을 주로 사용한다.2. 매핑 테이블의 필요성과 역할
가상 메모리의 주소값은 실제 물리 메모리의 주소값과는 다르다. 그렇기 때문에 가상 메모리 주소를 기반으로 실제 메모리를 찾을 수 있는 방법이 필요하다. 이 역할을 하는 것이
매핑 테이블이다.가상 메모리 시스템에서 프로세스는 메모리나 스왑 영역 둘 중에 하나에 위치한다. 매핑 테이블에는 각 프로세스가 실제로 어느 물리 메모리 주소에 위치했는지가 나타나 있다.
728x90'운영체제' 카테고리의 다른 글
27. 세그먼테이션 기법 (0) 2021.09.23 26. 페이징 기법 (0) 2021.09.22 24. 컴파일과 메모리 관리 (0) 2021.09.22 23. 다중 프로그래밍 환경에서의 메모리 할당 (0) 2021.09.22 22. 단일 프로그래밍 환경에서의 메모리 할당 (0) 2021.09.22 댓글
