4. 집합-연관 매핑의 동작을 설명하시오.
1.
페이지 테이블을 같은 크기의 여러 묶음으로 나눈다.
2.
각 묶음의 시작 주소를 가진 디렉터리 테이블을 새로 만들어 관리한다.
3.
디렉터리 테이블을 통해 원하는 테이블 묶음이 현재 메모리에 있는지, 스왑 영역에 있는지 확인한다.
4.
만약 디렉터리 테이블에서 Invalid 로 표시되어 있다면 스왑영역에 있는 것이다.
5.
Invalid로 표시되어 있지 않다면, P1(디렉터리 테이블에서의 위치 정보), P2(묶음 내에서의 위치 정보)를 통해 2단계를 거쳐 물리주소로 변환된다.
페이지의 크기를 10B이라하고, 페이지 테이블 10개를 한 묶음으로 나누었다고 가정한다.
0 ~ 9번 테이블 → 0번 디렉터리 → 0 ~ 99번지
10 ~ 19번 테이블 → 1번 디렉터리 → 100 ~ 199번지
•
가상 주소 32번지
◦
직접 매핑 : VA =<P,D> = <3,2>
◦
집합-연관 매핑 : VA = <P1, P2, D> = <0,3,2>
1.
32번지 이므로 0번 디렉터리(0~99번지)에 속한다
→ P1 = 0
2.
0번 디렉터리 묶음 내에서 3번째 위치(30~39)에 있으므로 3번 테이블에 속한다
→ P2 = 3
3.
페이지 하나의 크기가 10B이므로 3번 테이블 내에서 2번째 위치한다.
→ D = 2
5. 역매핑의 동작을 설명하시오.
1.
테이블을 <프레임 번호, 프로세스 아이디, 페이지 번호>로 구성한다.
2.
메모리 관리자가 주소 변환을 해야 하는 프로세스 아이디와 페이지 번호가 물리 메모리에 있는 역매핑 테이블에서 검색한다.
3.
원하는 데이터가 없다면 스왑 영역에서 가져온다.
4.
데이터가 있다면 바로 주소 변환을 진행한다.
6. 세그먼테이션-페이징 혼용 기법을 사용하는 이유를 설명하시오.
•
세그먼테이션-페이징 혼용 기법
가상주소에서 물리주소로 주소 변환 시 메모리 접근 권한 검사를 진행한다.
페이징 기법에서 메모리 접근 권한을 고려하면 권한 비트가 추가되는데, 그 중에는 반복되는 권한 비트도 많이 존재해 불필요하게 페이지 테이블의 크기가 커지는 단점이 있다.
1.
세그먼테이션 테이블에서 자신의 영역을 벗어나는 불법 접근은 아닌지, 접근 권한을 가지고 있는지 확인한다.
2.
이를 통과하면 연결된 페이지 테이블로 가서 원하는 프레임을 찾는다.
3.
만약 원하는 페이지가 물리 메모리에 없으면 스왑 영역에서 해당 페이지를 물리 메모리로 가져온다.
4.
물리 메모리에 있는 프레임의 D만큼 떨어진 곳에 접근하여 데이터를 읽거나 쓴다.