심화문제 1
Q. 가상 메모리가 이론적으로 가질 수 있는 크기와 실제 운영되는 크기는 어떤 차이가 있는지 설명하시오
A. 이론적으로는 무한대의 크기를 갖지만, 실제 운영되는 크기는 물리 메모리의 최대 크기로 한정된다.
ex.
•
32bit CPU의 최대 메모리 크기 : 4GB ()
•
이 시스템에서 각각 4GB 주소 공간을 차지하는 10개의 프로세스를 동시에 실행하려면 운영체제를 포함해 적어도 40GB의 메모리가 필요
→ 가상 메모리 시스템은 물리 메모리의 내용 중 일부를 하드디스크의 스왑 영역으로 이동
◦
스왑영역 : 하드디스크에 존재하지만 메모리 관리자가 관리하는 영역, 메모리의 일부, 가상 메모리의 구성요소 중 하나
•
메모리 관리자는 물리 메모리의 부족한 부분을 스왑 영역으로 보충
•
물리 메모리가 꽉 찼을 때 → 일부 프로세스를 스왑 영역으로 보냄(스왑아웃)
•
몇 개의 프로세스가 작업을 마쳤을 때 → 스왑 영역의 프로세스를 메모리로 가져옴(스왑인)
심화문제 2
Q. 페이징 기법의 주소 변환 과정을 그림으로 그리고 설명하시오.
A.
•
페이징 기법에서의 가상 주소 VA = <P, D>
•
VA = 가상주소, P = 페이지, D = 페이지의 처음위치에서 해당 주소까지의 거리
•
PA = <F, D> 에서 PA = 물리 메모리의 주소, F = 프레임(물리 메모리의 각 영역), D = 프레임의 처음 위치에서 해당 주소까지의 거리
페이징 기법의 주소 변환 과정
VA = <P, D> → PA = <F, D>
심화문제 3
Q. 연관 매핑의 동작을 설명하시오
A.
•
전체 페이지 테이블을 스왑 영역에 두고 페이지 테이블의 일부를 물리 메모리에 가져오는 방식
•
물리 메모리에는 일부 페이지만 무작위로 저장됨 → 변환 색인 버퍼(TLB) / 연관 레지스터
•
메모리에 접근하기 위해 먼저 변환 색인 버퍼를 찾는다
◦
원하는 페이지 번호가 있는 경우 : TLB 히트
◦
원하는 페이지 번호가 없는 경우 : TLB 미스
•
스왑 영역에 저장된 직접 매핑 테이블을 사용하여 프레임 번호로 변환
•
TLB 미스가 일어나면 스왑 영역의 페이지 테이블을 검색
장점
•
전체 페이지 테이블을 물리 메모리에 보관하지 않아 메모리를 절약할 수 있다.
단점
•
TLB 미스가 빈번하게 발생할 경우 시스템의 성능이 떨어진다
•
페이지 테이블의 일부를 무작위로 갖고 있기 때문에 변환 색인 버퍼를 모두 검색한 후에야 원하는 페이지가 메모리에 없다는 것을 알 수 있다.
→ TLB 미스를 알게되는 시점이 변환 색인 버퍼를 모두 검색하고 난 후
→ TLB 미스가 발생하면 주소 변환이 느려짐