본 게시글은 <쉽게 배우는 운영체제> 조성호 지음.의 연습문제에 기반했습니다.
01 가상 메모리에서 메모리 관리자가 사용할 수 있는 전체 크기는 어떻게 결정되는가
가상 메모리의 크기는 결국 컴퓨터의 최대 물리 메모리 크기로 제한된다
03 가상 메모리에서 가상 주소를 물리 주소로 변환하기 위해 사용하는 자료 구조를 무엇이라 하는가
페이지 테이블
04 페이징 기법의 주소 변환 과정 식을 쓰시오.
VA = <P, D>
- P: page number
- D: page offset
05 페이지 테이블에서 각각의 한 줄을 무엇이라 하는가
page table entry (PTE)
06 가상 주소를 <P, D>로 변환하는 공식을 쓰시오
P = (가상주소)//(한 페이지의 크기)
D = (가상주소)%(한 페이지의 크기)
07 각 페이지 테이블의 시작 주소를 갖고 있는 레지스터는 무엇인가
page table base register (PTBR)
08 페이지 테이블 매핑 방식 중, 모든 페이지 테이블을 스왑 영역에 저장하고 그 중 일부만 물리 메모리에 무작위로 가지고 있는 방식은 무엇인가
연관 매핑
09 페이지 테이블 매핑 방식 중, 모든 페이지 테이블을 물리 메모리에 보관하는 방식은 무엇인가
직접 매핑
10 페이지 테이블 매핑 방식 중, 모든 페이지 테이블을 스왑 영역에 저장하고 페이지 테이블을 일정한 집합 단위로 물리 메모리에 보관하는 방식은 무엇인가
직접-연관 매핑 방식
11 페이지 테이블 매핑 방식 중, 물리 메모리의 프레임 번호를 기준으로 테이블을 구성하는 방식은 무엇인가
역매핑
12 연관 매핑에서 사용하는 테이블의 이름은 무엇인가
Translation Look-aside Buffer (TLB)
13 연관 매핑에서 원하는 데이터가 변환 색인 버퍼에 없는 상태를 무엇이라 하는가
TLB Miss
14 연관 매핑에서 전체 매핑 테이블을 어디에 보관하는가
스왑 영역
15 가상 메모리에서 메모리 관리자는 물리 메모리 영역과 스왑 영역을 합쳐서 프로세스가 사용하는 가상 주소를 실제 메모리의 물리 주소로 변환한다. 이러한 작업을 무엇이라 하는가
동적 주소 변환
16 사용자 프로세스가 자신의 크기보다 더 큰 주소에 접근하려고 하면 메모리 관리자는 그 프로세스를 강제 종료한다. 이때 발생하는 오류를 무엇이라 하는가
트랩
17 세그먼테이션-페이징 혼용 기법에서는 접근 권한을 어디에서 관리하는가
메모리 관리자
여기서부터는 심화문제
01 가상 메모리가 이론적으로 가질 수 있는 크기와 실제 운영되는 크기는 어떤 차이가 있는지 설명하시오
이론적으로는 가상 메모리는 가상 주소 공간으로, 32bit 가상 주소 공간의 시스템은 이론적으로 4GB의 가상 주소 공간을 가질 수 있지만, 실제로는 하드웨어와 운영체제 등에 따라 결정된다
03 연관 매핑의 동작을 설명하시오
연관 매핑은 전체 페이지 테이블을 스왑 영역에 두고, 페이지 테이블의 일부를 물리 메모리에 가져오는 것을 기반으로 한다
물리 메모리에 올라올 페이지는 무작위로 저장되고, 이를 TLB라 부른다
- TLB 검색
- 데이터를 찾으면 TLB Hit 후 바로 물리 주수로 변환
- 데이터가 없으면 TLB Miss 후 스왑 영역에서 직접 매핑 테이블을 사용해서 프레임 번호로 변환
04 집합-연관 매핑의 동작을 설명하시오
집합-연관 매핑은 연관있는 테이블 별로 같은 크기의 집합으로 나눠서 디렉터리 테이블을 구성한다.
전체 페이지 테이블은 스왑 영역에 존재하고, 묶음 단위로 메모리로 옮기게 되는데, 결국 TLB Hit/Miss 기반인 건 매한가지다
05 역매핑의 동작을 설명하시오
프레임 번호, 프로세스 아이디, 페이지 번호로 구성된 역매핑 테이블을 구성하여 프로세스의 수와 상관 없이 항상 일정 크기의 페이지 테이블을 유지한다
- 역매핑 테이블에 프로세스 ID와 페이지 번호 검색
- 테이블 전체를 검색해서 없으면 스왑 영역에서 가져온다
06 세그먼테이션-페이징 혼용 기법을 사용하는 이유를 설명하시오.
세그먼테이션의 장점인 메모리 관리 우수성과 세그먼테이션 기법의 작은 페이지 테이블 크기 모두 활용한다