본문 바로가기
책/쉽게 배우는 운영체제

[쉽게 배우는 운영체제 연습문제 심화문제 정답] 8장

by Just Do Barro 2020. 5. 13.

[쉽게 배우는 운영체제 연습문제 심화문제 정답] 8장 

쉽게 배우는 운영체제 출처:구글
[연습문제]
1. 가상 메모리에서 관리자가 사용할 수 있는 전체 크기는 어떻게 결정되는가?
물리 메모리와 스왑 영역을 합한 크기로 결정된다.
2. 가상 주소에서 하나의 프로세스가 사용할 수 있는 최대 주소는 무엇과 연관이 있는가?
물리 메모리
3. 가상 메모리에서 가상 주소를 물리 주소로 변환하기 위해 사용하는 자료 구조를 무엇이라 하는가?
페이징 기법의 주소 변환, 세그먼테이션 기법의 주소 변환 
4. 페이징 기법의 주소 변환 과정 식을 쓰시오.
VA =<P,D> → PA = <F,D>
5. 페이지 테이블에서 각각의 한 줄을 무엇이라 하는가?
페이지
6. 가상 주소를 <P,D> 로 변환하는 공식을 쓰시오.
P = [가상 주소/ 한 페이지 크기] 몫, D = [가상주소/ 한 페이지의 크기] 나머지
7. 각 페이지 테이블의 시작 주소를 가지고 있는 레지스터는 무엇인가?
페이지 테이블 기준 레지스터
8. 페이지 테이블 매핑 방식 중, 모든 테이블을 스왑 영역에 저장하고 그 중 일부만 물리 메모리에 무작위로 가지고 있는 방식은 무엇인가?
연관매핑
9. 페이지 테이블 매핑 방식 중, 모든 페이지 테이블을 물리 메모리에 보관하는 방식은 무엇인가?
직접 매핑
10. 페이지 테이블 매핑 방식 중, 모든 페이지 테이블을 스왑 영역에 저장하고 페이지 테이블을 일정한 집합 단위로 물리 메모리에 보관하는 방식은 무엇인가?
집합-연관 매핑
11. 페이지 테이블 매핑 방식 중, 물리 메모리의 프레임 번호를 기준으로 테이블을 구성하는 방식은 무엇인가?
역매핑
12. 연관 매핑에서 사용하는 테이블의 이름은 무엇인가?
변환 색인 버퍼, 연관 레지스터
13. 연관 매핑에서 원하는 데이터가 변환 색인 버퍼에 없는 상태를 무엇이라 하는가?
TLB 미스
14. 연관 매핑에서는 전체 매핑 테이블을 어디에 보관하는가?
스왑영역
15. 가상 메모리에서 메모리 관리자는 물리 메모리 영역과 스왑 영역을 합쳐서 프로세스가 사용하는 가상 주소를 실제 메모리의 물리 주소로 변환한다. 이러한 작업을 무엇이라 하는가?
동적 주소 변환
16. 사용자 프로세스가 자신의 크기보다 더 큰 주소에 접근하려고 하면 메모리 관리자는 그 프로세스를 강제 종료한다. 이때 발생하는 오류를 무엇이라 하는가?
트랩
17. 세그먼테이션-페이징 혼용 기법에서는 접근 권한을 어디에서 관리하는가?
세그먼테이션 테이블
 
[심화문제]

1. 가상 메모리가 이론적으로 가질 수 있는 크기와 실제 운영되는 크기는 어떤 차이가 있는지 설명하시오.

이론적으로 가상 메모리는 무한대의 크기이다. 그러나 실제로 가상 메모리의 최대 크기는 그 컴퓨터 시스템이 가진 물리 메모리의 최대 크기로 한정되며 CPU의 비트에 따라 결정된다. 32bit CPU는 약 4GB가 메모리의 최대 크기이다. 가상 메모리의 최대 크기도 약 4GB이다. 이론적으로 가상 메모리가 무한대로 될 수 있는 이유는 가상 메모리 시스템에서는 물리 메모리의 내용 중 일부를 하드디스크의 일부 공간인 스왑영역으로 옮긴다. 메모리 관리자는 물리 메모리의 부족한 부분을 스왑영역으로 보충하기 때문에 물리 메모리가 꽉 찼을 때 일부 프로세스를 스왑영역으로 보내고(스왑아웃), 몇 개의 프로세스가 작업을 마치면 스왑 영역에 있는 프로세스를 메모리에 가져오기(스왑인) 때문이다. 

 

2. 페이징 기법의 주소 변환 과정을 그림으로 그리고 설명하시오.

페이징 기법의 정형화된 주소변환

페이지 테이블을 이용하면 간단하게 가상 주소를 물리 주소로 변환할 수 있다. 페이지 테이블에서 페이지 번호를 찾아 해당 프레임 번호를 쫓아가면 된다. VA =<P,D> → PA = <F,D>에서 P는 F로 바꾸고 D는 변경 없이 그대로 쓴다. 페이지와 프레임의 크기를 똑같이 나누었기 때문이다. 

 

3. 연관 매핑의 동작을 설명하시오.

연관 매핑(Associative Mapping)은 페이지 테이블 전체를 스왑영역에서 관리하는 방식이다. 물리 메모리의 여유 공간이 작을 때 사용하는 방식으로, 모든 페이지 테이블을 저장장치의 스왑 영역에 저장하고 그 중 일부만 물리 메모리에 가지고 있다. 주소 변환시 물리 메모리 내의 페이지 테이블을 다 검색해야하는데 원하는 프레임 번호를 얻지 못하면 스왑 영역에 있는 페이지 테이블을 검색해야한다. 또한 검색 실패 시 다시 스왑 영역에서 찾아야한다.

 

4. 집합-연관 매핑의 동작을 설명하시오.

원하는 프레임 번호를 얻기 위해, 페이지 테이블을 일정한 집합으로 자르고, 자른 덩어리 단위로 물리 메모리에 가져온다. 일정하게 자른 페이지 테이블을 관리하는 페이지 관리자를 하나 더 생성하고 해당 테이블이 물리 메모리와 스왑 영역 중 어느 곳에 있는 지 새로 생성한 집합 테이블에 위치 정보 표시를 한다. Invalid 인 I 는 스왑영역에 있다는 의미다. 집합 테이블을 통해 원하는 페이지 테이블 엔트리가 스왑 영역에 있는 지, 물리 메모리에 있는지 간단히 파악할 수 있다. 

 

5. 역매핑의 동작을 설명하시오.

역매핑은 물리 메모리의 프레임 번호를 기준으로 테이블을 구성한다. 물리 메모리의 프레임에 어떤 프로세스의 어떤 페이지가 올라와 있는지를 표시한다.  주소 변환 시 메모리 관리자는 주소 변환을 해야하는 프로세스의 아이디와 페이지 번호가 물리 메모리에 있는지 역매핑 테이블에서 검색한다. 현재 테이블에 원하는 데이터가 없으면 스압 영역에서 가져온다.

 

6. 세그먼테이션-페이징 혼용 기법을 사용하는 이유를 설명하시오.

권한 비트와 같이 중복되는 데이터를 세그먼테이션 테이블로 옮겨 오면 테이블의 크기를 줄일 수 있다. 페이징 기법과 세그먼테이션 기법을 혼합하여 사용하면 메모리 관리를 효율적으로 사용할 수 있기에 세그먼테이션-페이징 혼용 기법을 사용한다.

 

 

댓글